Departamento de Engenharia Informática DISTRIBUTED PROBLEM SOLVING 1000833 Henrique de Meireles Morais Maio de 2008 Disciplina: Sistemas Baseados em Agentes Professor: António Pinto de Sousa e Silva Mestrado em Engenharia Informática Tecnologias do Conhecimento e Decisão 1
2
Resumo Neste trabalho de pesquisa bibliográfica, pretende-se dar uma visão geral daquilo que se entende por Resolução Distribuída de Problemas (RDP), a sua ligação com a Inteligência Artificial Distribuída (IAD) e os Sistemas MultiAgente (SMA). Procurou-se distinguir estes conceitos, evidenciando os seus pontos de contacto e as suas metodologias diferenciadoras. Assim, no capítulo 1 introduzem-se estes conceitos duma forma generalizada. No capítulo 2 clarificam-se os conceitos da Inteligência Artificial Distribuída, e no capítulo 3 dá-se uma definição mais pormenorizada da Resolução Distribuída de Problemas, distinguindo-a de outras noções de Distribuição. No capítulo 4 descrevem-se as abordagens RDP e SMA sob o ponto de vista de concepção dos Sistemas, apresentando as suas características e as relações existentes entre estas perspectivas da IAD. iii
Índice Resumo... iii Índice...iv 1.1 Introdução... 5 2.1 Conceitos em IAD... 7 3.1 Definições de Resolução Distribuída de Problemas... 10 3.2 Caracterização... 11 3.3 Outras Noções de Distribuição... 12 4.1 RDP... 13 4.2 SMA... 15 4.3 Comparação entre as sub-áreas... 18 Bibliografia...21 iv
1 Introdução 1.1 Introdução O conceito clássico de Inteligência Artificial (IA) tem como modelo de inteligência o comportamento humano individual. Neste modelo a tónica está na representação do conhecimento e métodos de inferência. O conceito actual de Inteligência Artificial Distribuída (IAD) tem um modelo de inteligência que se baseia no comportamento social, colocando a tónica nas acções e interacções entre Agentes. Enquanto que na IA a metáfora é de ordem psicológica, na IAD é de natureza sociológica/etológica. A inteligência é aqui mais do colectivo do que do individual. Este tipo de comportamento inteligente costuma-se atribuir a entidades colectivas, como por exemplo a uma equipa de futebol ganhadora, uma colónia de formigas à procura de alimento, uma empresa altamente competitiva no mercado, etc. Nestes casos atribuímos o mérito (a inteligência ) ao colectivo e não a nenhuma das entidades individualmente envolvidas (um jogador de futebol, uma formiga, um empregado, etc.). Henrique Morais 5
Quando queremos resolver problemas de grande dimensão e complexidade, que exigem conhecimento de domínios distintos, e que muitas vezes exigem aquisição de dados fisicamente distribuída, estamos claramente perante uma situação que beneficiará muito com uma abordagem do tipo que referimos, ou seja, duma metodologia assente no comportamento social humano, e não individual. Neste trabalho teremos como objectivos principais a clarificação dos conceitos usados na IAD a definição da abordagem RDP (Resolução distribuída de Problemas) como uma sub-área da IAD, e comparação com a outra sub-área, os Sistemas Multi Agente (SMA). Henrique Morais 6
2 Inteligência Artificial Distribuída 2.1 Conceitos em IAD A Inteligência Artificial Distribuída é uma sub-área da IA. Uma metodologia de Inteligência Artificial Distribuída utiliza os conceitos que passamos a identificar: Agente é cada uma das entidades activas de um determinado Sistema O conjunto de Agentes desse Sistema forma uma sociedade As suas entidades passivas formarão aquilo que se designa por ambiente Interacção, que designa as trocas de informação que possam ocorrer entre os agentes Organização, que exprime as restrições aplicadas aos agentes de uma sociedade. Henrique Morais 7
Podemos agora clarificar melhor o conceito de agente, dizendo que este raciocina sobre o ambiente e os outros agentes, para decidir racionalmente quais os objectivos a perseguir, quais as acções a tomar, etc. O termo agente pressupõe assim uma noção de controlo. Na sua definição referimo-nos a actividades activas, para dizer que o seu conceito não corresponde a noções estáticas, como o seriam módulos com um determinado conjunto de regras e bases de conhecimento, às quais não estaria intimamente relacionado um mecanismo de controlo para a sua activação. Pensando nos Sistemas Distribuídos tradicionais, encontraremos analogias do tipo: Agente Processo Sociedade Conjunto de Processos Ambiente Conjunto de outras entidades do mundo Interacção Comunicação entre processos Henrique Morais 8
A IAD estuda técnicas e mecanismos, com o objectivo de resolver problemas, num ambiente composto por várias entidades que colaboram entre si, e pode-se ramificar em dois grupos: um grupo focalizado nas soluções outro grupo focalizado no ambiente (entidades). Para os dois grupos, usa-se o termo agente para as entidades que participam na resolução dos problemas. Os agentes convivem num mesmo ambiente formando uma sociedade, onde existem constantes interacções (trocas de informações entre os agentes). Com estas interacções, os agentes podem ser influenciados por outros agentes quando perseguem os seus objectivos (ou até por uma intervenção humana). Isto pode ser feito duma forma directa usando linguagens de comunicação, ou de uma forma indirecta através do ambiente em que o agente está inserido (por exemplo, o agente observa outros agentes ou modifica o ambiente). Ao primeiro grupo da ramificação que referimos chamamos RDP, Resolução Distribuída de Problemas; ao segundo, chamamos SMA, Sistemas MultiAgente. Henrique Morais 9
3 Resolução Distribuída de Problemas 3.1 Definições de Resolução Distribuída de Problemas Encontramos várias definições para a RDP, das quais apenas referiremos a título de exemplo duas: Construção da solução de um problema de uma forma cooperativa por uma colecção descentralizada, fracamente ligada de resolvedores distribuídos. Estudo de técnicas para dividir o trabalho de resolução de um problema particular em muitos módulos que cooperam pela interacção e compartilhamento de conhecimento sobre esse problema. Na terminologia anglo-saxónica RDP aparecerá com o acrónimo DPS (Distributed Problem-Solving). Henrique Morais 10
3.2 Caracterização Na RDP os agentes são criados em função e conforme a necessidade do problema proposto. A RDP pode ser caracterizada em três fases [JEN94], como se mostra na figura 1. Na primeira fase, o problema (P) é continuamente decomposto pelo projectista até que sub-tarefas sejam geradas. De seguida, os sub-problemas individuais são resolvidos por agentes que comunicam e cooperam quando necessário. Finalmente, os resultados dos sub-problemas são integrados para produzir uma solução global (S). Decomposição do Solução dos Sub-problemas Problema P11 P1 P12 Solução Global S1 P P2 P21 S P31 P3 S2 P32 Figura 1 Fases dum RDP Henrique Morais 11
3.3 Outras Noções de Distribuição Não deveremos confundir a Resolução Distribuída de Problemas (RDP), com uma outra noção que é a de Resolução de Problemas Distribuídos (RPD). As abordagens RPD são adequadas aos problemas que envolvem Sistemas onde é difícil obter uma visão global. Isso não acontece nos RDP, em que se parte exactamente dum problema específico, da sua clara visão global, para a sua decomposição em pequenos problemas que serão resolvidos de forma distribuída. A RDP envolve: Um grupo de especialistas Habilidades complementares Organização fixa Outra noção de Distribuição aparece nos Sistemas MultiAgente (SMA), onde: Agentes podem preexistir Organização varia em tempo de execução Henrique Morais 12
4 RDP x SMA 4.1 RDP Do ponto de vista de concepção do Sistema, na abordagem RDP os agentes não existem à priori: estes serão concebidos, com a sua organização e interacções, de acordo com o problema que o sistema deve resolver. Em RDP não há a preocupação de reutilização dos agentes noutro contexto. Podemos dizer que os Sistemas RDP são um cruzamento de técnicas dos Sistemas Distribuídos (SD) com a Inteligência Artificial (IA). Usam técnicas de coordenação e sincronização desenvolvidas nos SD, para integrar sistemas concebidos segundo as metodologias da IA. A motivação inicial de um RDP é a existência de um problema inicial preciso, que queremos solucionar ou resolver. Henrique Morais 13
Uma abordagem RDP apresenta uma estratégia com as seguintes características: O problema é resolvido por um conjunto de agentes, distribuídos fisicamente por máquinas ligadas em rede, e concebidos para a resolução de um problema particular; É concebida uma organização para restringir o comportamento destes agentes, normalmente definido na fase de concepção do sistema; A interacção entre os agentes é feita ou por troca de mensagens, ou por partilha de dados comuns; Os agentes são executados concorrentemente, para aumentar a velocidade de resolução do problema; Os agentes dividem entre si as diversas partes do problema original (sub-problemas ou tarefas), podendo até aplicar estratégias diferentes para a resolução da mesma tarefa; Está implícito aos agentes, a noção de um controlo global que garante um comportamento coerente do Sistema, conforme a organização prevista, implementado de modo distribuído, ou centralizado num agente criado para ser responsável pela gestão do Sistema. Henrique Morais 14
A abordagem RDP encontra-se representada na figura seguinte: Figura 2 A abordagem RDP 4.2 SMA A área de SMA, estuda os agentes autónomos integrados num universo Multiagentes [Demazeau e Muller 90]. Neste caso, os agentes têm uma existência própria independente de outros agentes. Não existe um problema definido à priori que o sistema deva resolver. O objectivo da SMA é estudar modelos genéricos, a partir dos quais se podem conceber agentes, organizações e interacções, instanciando tais conceitos quando se pretende resolver um problema particular. Henrique Morais 15
O objectivo portanto, é conceber os meios com os quais se possa assegurar que os agentes desejam cooperar e efectivamente o façam, com o intuito de resolverem um problema específico que seja apresentado ao sistema. Dum ponto de vista conceptual esta abordagem SMA apresenta as seguintes características: Independência em relação aos problemas particulares a resolver - o projecto de um agente deve resultar numa entidade capaz de realizar um determinado processamento, não exclusivamente num contexto duma aplicação alvo particular; Concepção das interacções também independente duma aplicação particular protocolos de interacção genéricos, para utilização similar em várias aplicações. Claro que estes protocolos podem e devem ser instanciados com dados do problema para poderem serem eficazmente utilizados numa determinada aplicação; O mesmo se dirá relativamente ao projecto das organizações; Na fase de resolução os agentes raciocinam, e agem de acordo com as suas representações locais dos protocolos de interacção e organização. Assim, não há um controlo global do sistema, sendo este implementado duma forma totalmente descentralizada nos agentes. Henrique Morais 16
Figura 2 A abordagem SMA Nesta abordagem, torna-se então possível a reutilização dos agentes, a suas interacções e organização, quando se desejam projectar aplicações similares. Os agentes irão instanciar dinamicamente as organizações e interacções quando um problema for apresentado ao sistema. Henrique Morais 17
4.3 Comparação entre as sub-áreas Apresentam-se três relações possíveis entre as sub-áreas de RDP e SMA [Durfee e Rosenchein]: RDP como um subconjunto dos SMA: a RDP é considerada como um caso particular dos SMA, onde se adicionam as hipóteses: o Benevolência os agentes realmente desejam cooperar uns com os outros à priori, não se colocando a questão de se devem ou não fazê-lo; o Objectivo comum refinação da hipótese anterior, considerando que todos os agentes têm um objectivo comum à priori, que é a resolução do problema específico para o qual o sistema foi criado; o Concepção centralizada o projectista ou projectistas concebem um sistema centralizado no objectivo da resolução dum problema específico; Henrique Morais 18
Os SMA como base para a RDP: segundo este ponto de vista, a área dos SMA estuda certas propriedades internas dos agentes (decisão de cooperar ou não, honestidade na comunicação de informações, etc.). Estas propriedades são implementadas de modo descentralizado nos agentes, fornecendo uma base para a concepção das interacções e organização dos agentes, num contexto de um sistema que deve resolver um problema particular, seguindo a abordagem RDP; RDP e SMA como abordagens complementares: às vezes torna-se difícil, ou até impossível, distinguir se um determinado sistema foi construído seguindo uma abordagem RDP ou SMA. Isto leva a que talvez seja melhor diferenciar as sub-áreas não pelo comportamento do sistema, mas sim pelas motivações científicas e técnicas dos projectistas, e pela natureza dos caminhos seguidos no seu desenvolvimento. A análise das interacções sociais permite prever a formação dinâmica das organizações, mas caso existam restrições de comunicação entre os agentes (fixadas, por exemplo por uma organização pré-estabelecida), estas podem limitar as interacções sociais possíveis. Henrique Morais 19
No caso destas interacções sociais, e portanto para as organizações, existem duas classes de modelos, que normalmente se utilizam uma na abordagem RDP e outra na abordagem SMA [Conte e Castelfranchi 92]: Modelos descendentes ou top-down - considera-se que os agentes já têm um problema definido a resolver (abordagem RDP). Neste caso a cooperação é estabelecida como hipótese de partida, e as interacções sociais são limitadas por uma organização pré-existente, que guia os agentes no sentido de atingir o objectivo da resolução do problema; Modelos ascendentes ou bottom-up as interacções sociais e as organizações são estabelecidas dinamicamente como forma de atingir os próprios objectivos, não tendo os agentes necessariamente um objectivo comum a atingir (abordagem SMA). Henrique Morais 20
Bibliografia No decorrer do presente trabalho, consultou-se a seguinte bibliografia: J S Sichman (1997), Introdução aos Sistemas MultiAgentes. Jomi Fred Hubner, SMA no Desenvolvimento dum Protótipo de um Sistema de Logística. M B Marietto, Nuno David, J S Sichman, Helder Coelho, Proposta de uma Nova Classificação para a Área de Inteligência Artificial Distribuída: Focos de Interesse e Sistemas Computacionais Henrique Morais 21