You are on page 1of 34

Captulo 3

3. Sistemas Multi-Agente
Os Sistemas Multi-Agente (SMA) so sistemas compostos por mltiplos agentes, que exibem um comportamento autnomo mas ao mesmo tempo interagem com os outros agentes presentes no sistema. Estes agentes exibem duas caractersticas fundamentais: serem capazes de agir de forma autnoma tomando decises levando satisfao dos seus objectivos; serem capazes de interagir com outros agentes utilizando protocolos de interaco social inspirados nos humanos e incluindo pelo menos algumas das seguintes funcionalidades: coordenao, cooperao, competio e negociao. Os SMA constituem um campo relativamente novo nas cincias da computao. Embora o incio da investigao neste campo se tenha dado nos anos 80, s em meados dos anos 90 esta ganhou uma notoriedade digna de destaque [Wooldridge, 2002]. Ao longo dos ltimos anos a investigao no campo dos Sistemas Multi-Agente tem sofrido um acentuado crescimento. Este crescimento levou ao aparecimento de revistas, livros e conferncias internacionais sobre o assunto. Conduziu tambm ao aparecimento de uma rede europeia de excelncia para computao baseada em agentes AgentLink12 - com o objectivo de promover e coordenar a investigao realizada na Europa nesta rea. Outra demonstrao do crescimento da rea est relacionado com o aparecimento e sucesso de diversas competies internacionais de investigao na rea tais como o RoboCup Futebol Robtico (e mais especificamente a liga de simulao) em 1997 [Kitano, 1997] e o TAC Trading Agent Competition em 2000 [TAC, 2001]. Na primeira destas competies, equipas de agentes autnomos disputam um torneio de futebol. Na segunda, agentes individuais ou equipas de agentes competem de forma a adquirirem e fornecerem os melhores pacotes de viagens aos seus clientes. Em ambas as competies, atravs da utilizao de um problema standard, possvel testar e comparar a investigao realizada pelos melhores grupos de investigao mundiais em diversas sub-reas dos agentes autnomos e Sistemas Multi-Agente e reas relacionadas.

12

http://www.agentlink.org

50

CAPTULO 3: SISTEMAS MULTI-AGENTE

Neste captulo so discutidos os Sistema Multi-Agente e analisadas as principais perspectivas relacionadas com a comunicao entre agentes, aprendizagem em SMA e coordenao de agentes. Inicialmente analisado o conceito de SMA, a rea de investigao em inteligncia artificial distribuda e a motivao para os Sistemas MultiAgente. Em seguida so analisadas as formas de comunicao entre agentes, sendo dado particular destaque s linguagens propostas para efectuar esta comunicao e ao conceito de ontologia como forma de partilhar o significado das mensagens enviadas. Depois analisada a aprendizagem em SMA, distinguindo as suas particularidades da aprendizagem individual. Finalmente discutida a necessidade de coordenar agentes como forma de os colocar a trabalhar em conjunto. A investigao realizada na rea da coordenao de agentes dividida em duas reas: coordenao de agentes competitivos, nomeadamente no que diz respeito resoluo de conflitos, negociao e leiles; coordenao de agentes cooperativos, em que dado particular destaque rea da formao de equipas e trabalho em equipa (teamwork). O captulo conclui-se com uma anlise crtica da investigao realizada na rea e com alguns apontadores para a forma como alguns dos conceitos apresentados so utilizados e estendidos no mbito do trabalho prtico realizado no contexto desta tese.

3.1 O Conceito de Sistema Multi-Agente


Um Sistema Multi-Agente um sistema computacional em que dois ou mais agentes interagem ou trabalham em conjunto de forma a desempenhar determinadas tarefas ou satisfazer um conjunto de objectivos. A investigao cientfica e a implementao prtica de Sistemas Multi-Agente est focalizada na construo de standards, princpios e modelos que permitam a criao de pequenas e grandes sociedades de agentes semiautnomos, capazes de interagir convenientemente de forma a atingirem os seus objectivos [Lesser, 1999]. Um dos pontos essenciais para permitir a construo de sociedades de agentes, consiste em conseguir gerir as interaces e as dependncias das actividades dos diferentes agentes no contexto do Sistema Multi-Agente, i.e., coordenar esses agentes. Desta forma, a coordenao desempenha um papel essencial nos SMA porque estes sistemas so inerentemente distribudos. Alis, o tema designado genericamente por coordenao constitui um dos maiores domnios cientficos da informtica e cincias da computao. Trabalhos cientficos abrangidos por este domnio frequentemente incluem aspectos conceptuais e metodolgicos, mas tambm implementacionais, de forma a conseguirem expressar e implementar aplicaes informticas distribudas. Diversas metodologias de coordenao foram propostas por diferentes autores dividindose em dois grupos principais: metodologias aplicveis em domnios contendo agentes competitivos (self-interested), i.e. agentes preocupados com o seu bem prprio, e

CAPTULO 3: SISTEMAS MULTI-AGENTE

51

metodologias aplicveis a domnios contendo agentes cooperativos, i.e., agentes que incluem uma noo de preocupao pelo bem do conjunto. No primeiro caso a coordenao por negociao a metodologia mais estudada na comunidade internacional. Nesta metodologia, assumem particular relevncia os mercados electrnicos e os leiles. Relativamente coordenao de agentes cooperativos interessa estudar metodologias que permitam construir equipas de agentes. Neste contexto assumem particular relevncia as metodologias que permitem definir uma organizao estrutural da sociedade de agentes, a definio e troca de papis, a definio e alocao de tarefas aos diversos agentes e o planeamento conjunto multi-agente. Os Sistemas Multi-Agente incluem diversos agentes que interagem ou trabalham em conjunto, podendo compreender agentes homogneos ou heterogneos. Cada agente basicamente um elemento capaz de resoluo autnoma de problemas e opera assincronamente, com respeito aos outros agentes. Para que um agente possa operar como parte do sistema, necessria a existncia de uma infra-estrutura que permita a comunicao e/ou interaco entre os agentes que compe o SMA (figura 12).

Interaco Organizao Agente

Ambiente

Esfera de Influncia

Figura 12: Estrutura de um Sistema Multi-Agente O Sistema Multi-Agente vai conter mltiplos agentes, cada qual com diferentes capacidades de percepo e aco no mundo. Cada agente ter uma esfera de influncia distinta sobre o ambiente, ou seja, ser capaz de influenciar diferentes partes do ambiente

52

CAPTULO 3: SISTEMAS MULTI-AGENTE

[Jennings, 2000]. Estas esferas de influncia podem coincidir dependendo das relaes existentes entre os agentes. Por exemplo, na gerao de horrios de dois departamentos, os agentes responsveis pela gerao de cada horrio tero como esfera de influncia os horrios dos docentes que leccionam no seu departamento, das turmas dos cursos desse departamento e das salas alocadas a esse departamento. Esses agentes iro interagir no caso de efectuarem alocaes em docentes, turmas ou salas que lhes sejam comuns. Interaces entre agentes que se encontram no mesmo ambiente podem ocorrer de diversas formas e como tal interessa estudar os tipos e caractersticas de cada possvel interaco. A investigao em Sistemas Multi-Agente est focada no desenvolvimento de princpios e modelos computacionais para construir, descrever, implementar e analisar as formas de interaco e coordenao de agentes em sociedades de reduzida ou elevada dimenso [Lesser, 1999]. O campo dos Sistemas Multi-Agente derivou do campo originalmente designado por Inteligncia Artificial Distribuda, constituindo actualmente o ncleo deste campo. Inclui a investigao realizada em diversas reas cientficas e como tal extremamente abrangente, sendo muito difcil expor todas as suas particularidades, num trabalho desta dimenso.

3.2 Inteligncia Artificial Distribuda vs. SMA


A Inteligncia Artificial tradicionalmente apresentada como a parte da cincia da computao cujo nfase est no estudo de sistemas inteligentes, ou seja, sistemas que exibam caractersticas associadas inteligncia no comportamento humano compreenso de linguagem, aprendizagem, raciocnio, resoluo de problemas [Barr e Feigenbaum, 1981]. Um estudo mais aprofundado e actual nesta rea pode ser encontrado em [Russel e Norvig, 1995], [Nilsson, 1998] e [Coelho, 1994].

O paradigma de decompor sistemas complexos em diferentes entidades, na tentativa de obter maior eficincia, no uma abordagem recente nas cincias da computao. Durante muitos anos, os investigadores da rea da Inteligncia Artificial (IA) procuraram construir agentes isolados com algum comportamento inteligente. No entanto, o crescente interesse por paralelismo e distribuio na IA marcou a ltima dcada. O desenvolvimento de computadores mais poderosos, a proliferao das redes de computadores e a constatao da utilidade do uso de grupos de indivduos para resolver problemas, fizeram com que a Inteligncia Artificial Distribuda (IAD) se tornasse uma das reas emergentes com um maior crescimento [Bond e Gasser, 1988b]. Nwana [Nwana, 1996] tambm enfatiza o crescimento da IAD e separa a investigao realizada nesta rea em duas linhas distintas: a primeira do perodo de 1977 at aos dias actuais, e a segunda a partir de 1990. A primeira linha trabalha com agentes

CAPTULO 3: SISTEMAS MULTI-AGENTE

53

essencialmente deliberativos que possuem modelos simblicos internos. Um agente deliberativo possui uma representao explcita, um modelo simblico do mundo, e as suas decises (aces a executar) so realizadas atravs de um raciocnio simblico [Wooldridge e Jennings, 1994]. A segunda linha de investigao, em rpido desenvolvimento, enfatiza a diversificao das tipologias ou classes de agentes, onde os agentes apresentam uma evoluo relativamente sua inteligncia e autonomia. Bradshaw [Bradshaw, 1997] afirma que esta linha demonstra a evoluo da deliberao para a execuo e do raciocnio para a aco remota. A Inteligncia Artificial Distribuda no est preocupada com assuntos relacionados com a coordenao de processos concorrentes ao nvel da resoluo de problemas ou representao, mas sim a um nvel superior. No est tambm preocupada com arquitecturas de computadores paralelos, linguagens de programao paralela ou sistemas operativos distribudos. Outros assuntos estudados no mbito dos sistemas distribudos tais como semforos, monitores e threads no so tambm preocupaes da IAD. A IAD est preocupada essencialmente com a resoluo de problemas onde diversos agentes resolvem sub-tarefas e comunicam numa linguagem de alto-nvel.
Durante vrios anos, a investigao realizada na rea da computao distribuda situou-se num nvel estritamente relacionado com a ligao fsica de diferentes processadores, com a transmisso de dados e seus consequentes problemas. Estas questes dominaram as discusses de tal modo que o termo processamento distribudo era utilizado essencialmente para designar apenas este conjunto de problemas [Chandrasekaran, 1981].
Inteligncia Artificial Distribuda

Inteligncia Artificial

Sistemas Distribudos

Sistemas Multi-Agente

Resoluo Distribuda de Problemas

Figura 13: Inteligncia Artificial Distribuda


A partir das ltimas duas dcadas as questes relativas ao processamento distribudo comearam a ser tratadas a um nvel mais elevado de abstraco. Nesta abordagem, a ateno volta-se para as estratgias pelas quais a decomposio e coordenao do

54

CAPTULO 3: SISTEMAS MULTI-AGENTE

processamento num sistema distribudo seriam conjugadas com os requisitos estruturais do domnio das tarefas. Este nvel de abstraco passou a ser designado por Resoluo Distribuda de Problemas (RDP) [Chandrasekaran, 1981]. Paralelamente a este desenvolvimento, a investigao efectuada em IA, inspirada em conceitos clssicos de organizaes e sociedades, comeava a romper com as solues tpicas at ento adoptadas na construo de sistemas inteligentes.

A Inteligncia Artificial Distribuda est preocupada essencialmente com a resoluo de problemas onde diversos agentes resolvem sub-tarefas (macro-nvel). A resoluo de problemas abordados pela IAD, como foi analisado anteriormente, encontra-se dividida em dois grupos principais [Bond e Gasser, 1988a]:
RDP Resoluo Distribuda de Problemas. O trabalho de resolver um problema particular pode ser dividido entre um nmero de mdulos que cooperam e compartilham conhecimento sobre o problema e sobre o desenvolvimento da soluo [Bond e Gasser, 1988a]. Sendo assim, o planeamento das aces a desenvolver o resultado da decomposio do problema em vrios subproblemas que so distribudos aos diversos agentes envolvidos. Como resultado desta partilha, os agentes cooperam apenas na diviso do esforo e na partilha de conhecimentos e resultados; SMA Sistemas Multi-Agente. Nesta segunda linha, contrariamente RDP, no se parte de um problema especfico, mas pretende-se coordenar um comportamento inteligente de um conjunto de agentes autnomos. Procura-se definir formas de coordenao dos seus conhecimentos, objectivos, habilidades e planos de forma a que conjuntamente possam realizar aces ou resolver problemas [Bond e Gasser, 1988a]. Assim, os agentes podem estar a trabalhar em direco a um nico objectivo global ou rumo a objectivos individuais separados que podem interagir, sendo ento a autonomia dos agentes relacionada com a existncia de cada agente independentemente da existncia dos demais [Demazeau e Muller, 1990].

Por fim, verifica-se ainda uma terceira linha de trabalhos relacionada com a IAD, denominada IA Paralela [Bond e Gasser, 1988a] que trata do desenvolvimento de arquitecturas paralelas, linguagens e algoritmos para IA. Contudo, estes assuntos referemse mais directamente aos problemas de desempenho de sistemas de IA e no a aspectos conceptuais sobre a compreenso da natureza do raciocnio e comportamento inteligente entre mltiplos agentes. Assim, e apesar dos seus desenvolvimentos certamente contriburem para esta rea, a IA Paralela no faz parte da IAD. Pode afirmar-se que a Inteligncia Artificial Distribuda est preocupada essencialmente com quatro assuntos:
Granularidade dos agentes;

CAPTULO 3: SISTEMAS MULTI-AGENTE

55

Heterogeneidade dos agentes; Mtodos para a distribuio do controlo (entre os agentes); Possibilidades de comunicao entre os agentes.

O campo dos Sistemas Multi-Agente estuda essencialmente os agentes de gro-grosso , normalmente heterogneos que se agrupam em comunidades sem controlo centralizado e que comunicam utilizando uma linguagem de alto-nvel. Este campo, ganhou larga preponderncia ao longo dos ltimos anos, sendo neste momento claramente responsvel pela maioria da investigao cientfica realizada no mbito da IAD.

3.3 Motivao dos SMA


A motivao principal dos SMA encontra-se relacionada com o facto de grande parte dos problemas mais frequentemente encontrados, serem inerentemente distribudos de uma ou vrias formas. Outras motivaes esto relacionadas com:
A dimenso do problema ser demasiado elevada para poder ser resolvido por um nico agente monoltico; Permitir a interconexo e interoperao de mltiplos sistemas legados ( legacy ), i.e. sistemas de geraes anteriores cuja manuteno do cdigo j no possvel; Providenciar uma soluo natural para problemas geogrfica e/ou funcionalmente distribudos; Fornecer solues para problemas em que os peritos, os conhecimentos ou as informaes necessrias para a sua resoluo, se encontram distribudos; Permitir uma interface cooperativa homem-mquina mais natural em que ambos funcionam como agentes no sistema; Oferecer uma maior clareza e simplicidade conceptual de projecto.

Num SMA, os agentes que o compem, podem estar a trabalhar em conjunto para atingir um s objectivo geral, ou rumo a objectivos individuais separados que podem no entanto estar relacionados, sendo desta forma necessria a interaco entre os diferentes agentes no sentido de atingirem os seus prprios objectivos. Os SMA oferecem potencialmente uma maior rentabilidade de recursos para problemas onde o conhecimento ou actividade distribudo. Existem desta forma, vrias razes adicionais para a utilizao de um SMA [Stone e Veloso, 1996]:
O prprio domnio do problema o exige, por exemplo devido distribuio espacial dos intervenientes; O paralelismo, atribuindo diferentes tarefas a diferentes agentes de forma a que a

56

CAPTULO 3: SISTEMAS MULTI-AGENTE

execuo seja mais rpida;


A robustez, pois utilizam-se diferentes agentes no existindo desta forma um ponto nico de falha no sistema; A escalabilidade, permitindo o aumento dos agentes intervenientes num determinado sistema aberto; A simplificao das tarefas individuais de programao, dividindo o problema global em vrios subproblemas; O estudo da inteligncia individual e do comportamento social, pois os SMA permitem a interoperacionalidade entre os agentes; A manuteno da privacidade da informao e conhecimentos individuais de cada agente.

Em algumas circunstncias a prpria natureza do problema necessita de um SMA, como o caso da marcao distribuda de reunies, onde os agentes autnomos se encontram realmente geograficamente distribudos. Neste exemplo, a utilizao de um SMA tem ainda como vantagem o facto de manter a privacidade da informao dos vrios agentes envolvidos. A utilizao de Sistemas Multi-Agente na resoluo de problemas de Inteligncia Artificial apresenta diversos benefcios, nomeadamente uma maior rentabilidade de recursos para problemas onde o conhecimento ou actividade distribudo:
Resoluo mais rpida de problemas devido ao processamento concorrente; Diminuio da comunicao devido ao processamento estar localizado junto fonte de informao e a comunicao ser realizada a alto-nvel; Aumento da flexibilidade e escalabilidade resultantes da possibilidade de interconexo de mltiplos sistemas com arquitecturas distintas; Aumento da fiabilidade devido inexistncia de um ponto singular de falha; Aumento da capacidade de resposta devido aos sensores, sistemas de processamento e actuadores estarem localizados em conjunto, no interior dos agentes; Facilidade acrescida de desenvolvimento de sistemas devido modularidade resultante da decomposio dos problemas e da decomposio dos sistemas em agentes semi-autnomos.

CAPTULO 3: SISTEMAS MULTI-AGENTE

57

3.4 Comunicao em SMA


A comunicao entre entidades computacionais foi desde sempre considerada um dos problemas mais importantes das cincias da computao. No entanto, na rea dos Sistemas Multi-Agente, a comunicao tratada a um nvel muito mais elevado do que nas outras reas das cincias da computao. Aqui estamos interessados na comunicao de altonvel, utilizando linguagens de comunicao prximas das linguagens utilizadas por humanos. Como foi analisado anteriormente, um agente para ser considerado como tal, possui capacidades de percepo, processamento e actuao num dado ambiente. Para alm disso, um agente deliberativo (ou hbrido) possui uma representao interna do seu ambiente, conhecimento e capacidade de raciocinar baseado no seu conhecimento, de forma a decidir em cada instante qual a melhor aco a executar. Da mesma forma, na nossa definio de agente assumido que um agente tem a capacidade de comunicar e habilidade social, ou seja, capacidade para interagir com outros agentes e/ou humanos presentes no seu ambiente.
AGENTE
Mdulo Inteligente

Recepo de Mensagens

Mdulo de Envio de Comunicaes Mensagens Aco de Comunicao

Percepo

Percepo da Comunicao

Aco

Ambiente

Figura 14: Agente com capacidade de comunicao De forma a incluir a capacidade de comunicao num agente, usual incluir um mdulo de comunicaes na sua arquitectura que se subdivide nas componentes de percepo (recepo de mensagens) e de aco (envio de mensagens). Este mdulo de comunicaes est directamente ligado ao mdulo central do agente (mdulo inteligente) permitindo desta forma ao mdulo inteligente ter acesso s mensagens recebidas e definir quais as mensagens a enviar. Na figura 14 representado o esquema genrico de um agente com capacidade de comunicao.

58

CAPTULO 3: SISTEMAS MULTI-AGENTE

3.4.1 Arquitecturas do Sub-Sistema de Comunicao


Huhns e Stephens denotam que o sub-sistema de comunicao entre os agentes pode assumir uma de duas arquitecturas bsicas [Huhns e Stephens, 1999], representadas esquematicamente na figura 15:
Comunicao Directa. Os agentes tratam da sua prpria comunicao sem interveno de qualquer outro agente. Para tal, partilham especificaes, enviando aos outros agentes as suas capacidades e/ou necessidades de forma a cada agente poder tomar individualmente as suas decises relativas comunicao. Neste tipo de arquitectura cada agente comunica directamente com qualquer outro agente, sem qualquer intermedirio. Um dos principais problemas que se coloca nesta arquitectura est relacionado com a inexistncia de um elemento coordenador da comunicao, o que pode originar o bloqueio do sistema se, por exemplo, todos os agentes decidirem enviar mensagens ao mesmo tempo. Comunicao Assistida. Os agentes apoiam-se em agentes especiais designados agentes facilitadores , de forma a efectuarem a comunicao com os outros agentes. Nesta arquitectura a organizao de agentes do tipo sistema federado. Nestes casos, se um dado agente i desejar enviar uma mensagem a um outro agente j, ter primeiro de a enviar para o agente facilitador , que se encarregar de a reencaminhar ao seu destinatrio. Esta arquitectura resolve parcialmente o problema da coordenao da comunicao e diminui consideravelmente a complexidade necessria aos agentes individuais na realizao de comunicao. Os agentes no necessitam de armazenar informaes detalhadas sobre todos os outros agentes e nem sequer necessitam de saber o seu endereo de forma a comunicarem com eles. Basta comunicar com o agente facilitador . No entanto, a existncia do agente facilitador pode introduzir uma certa centralizao no sistema e um estrangulamento (bottleneck) no sistema de comunicaes. Se este agente deixar de funcionar, o sistema de comunicaes deixa tambm de funcionar.
Agente 1 Agente 2 Agente 1 Agente n+1

Agente 2

Agente Facilitador 1

Agente Facilitador 2

Agente n+2

Agente 3

Agente n

Agente n b) Comunicao Assistida

Agente m

a) Comunicao Directa

Figura 15: Arquitecturas de comunicao de agentes a) directa e b) assistida

CAPTULO 3: SISTEMAS MULTI-AGENTE

59

A comunicao entre agentes est directamente relacionada com o nvel de implementao das comunicaes. Dependendo de vrios factores, ter-se- de considerar o modo de comunicar entre agentes. Esta comunicao pode ser implementada de duas maneiras:
Memria partilhada (quadro-negro) por todos os agentes da comunidade; Passagem de mensagens entre agentes ou mdulos destes.

De uma forma geral, a passagem de mensagens entre agentes o modo de comunicao mais utilizado. A privacidade e rapidez com que a mensagem transmitida, asseguram ao sistema uma eficcia, que de outra forma poderia ser comprometida. As solues de memria partilhada so em geral mais difceis de distribuir e obrigam a metodologias adicionais para a sincronizao dos agentes, enquanto que a passagem de mensagens pode facilmente ser usada para sincronizao. No entanto, na passagem de mensagens entre agentes devemos considerar a arquitectura do sistema de comunicao a implementar. Se implementarmos uma arquitectura de comunicao directa, deveremos assegurar que os agentes podem receber mensagens constantemente e inversamente prever a possibilidade de uma mensagem enviada no ser recebida pelo agente destinatrio. A implementao de uma arquitectura de comunicao assistida pode resolver os problemas levantados pela arquitectura anterior, nomeadamente, se o agente facilitador for munido da capacidade de manter as mensagens ainda no recebidas pelos destinatrios e reenvi-las periodicamente at que o agente destinatrio a receba. No entanto, a implementao desta arquitectura implica geralmente uma menor eficincia ao nvel da rapidez de transmisso. Optar por um modo de comunicao com recurso a memria partilhada, resolve os problemas suscitados nas implementaes referidas anteriormente. No entanto, a privacidade da informao e a rapidez, podem ser comprometidas se a implementao do prprio sistema no previr mecanismos muito eficientes de controlo de acesso informao que se encontra na memria partilhada.

3.4.2 Caractersticas da Comunicao


A comunicao tem dois fins principais: partilha do conhecimento, informao, crenas ou planos com outros agentes; e coordenao de actividades entre agentes. No entanto a realizao de comunicao que permita atingir estas duas metas, requer a definio de uma linguagem comum ou partilhada, caracterizada por:
Sintaxe. Estrutura da ligao dos smbolos que compem o discurso, ou seja, a parte da estrutura gramatical da linguagem que contm as regras relativas combinao das palavras em unidades maiores, e as relaes existentes entre as palavras dentro dessas unidades; Semntica. Significado dos smbolos e das suas combinaes. o estudo da linguagem do ponto de vista do significado das palavras e dos enunciados;

60

CAPTULO 3: SISTEMAS MULTI-AGENTE

Vocabulrio. Conjunto de smbolos usados. Lista dos vocbulos da linguagem, em geral desacompanhados da respectiva definio ou com uma explicao muito sucinta; Pragmtica. Conjunto de regras de aco e frmulas de interpretao dos smbolos utilizados na comunicao; Modelo do domnio do discurso. Significado que um conjunto de smbolos assume quando interpretado num determinado contexto de conversao.

Na deciso do acto de comunicao, importante ter em considerao quatro pontos essenciais [Reis, 2002c]:
O que comunicar? Independentemente do fim a que se destina (por exemplo realizar partilha de conhecimento ou reforar a coordenao entre agentes), as mensagens enviadas no podem conter toda a informao que o agente emissor possui. Este agente, tendo em considerao as caractersticas do canal de comunicao e o fim a que se destina a comunicao, tem de raciocinar sobre qual a informao mais importante a incluir nas suas mensagens. Quando comunicar? Sobretudo em domnios com reduzida largura de banda disponvel para operaes de comunicao13, muito importante decidir correctamente o momento temporal em que efectuada a comunicao. Por vezes, se a informao a comunicar no for muito importante, ser prefervel no realizar qualquer comunicao, deixando desta forma, a largura de banda do canal de comunicao, disponvel para os outros agentes presentes no sistema. A quem comunicar? Como ser analisado mais frente, as mensagens podem ser enviadas para um, vrios ou todos os agentes. A deciso do receptor da mensagem assume particular importncia nos casos de comunicao directa entre dois agentes. Como comunicar? No caso de existirem diversos meios de comunicao disponveis ao agente necessrio seleccionar, para cada comunicao, qual o meio mais adequado para a executar.

Um agente comunica uma dada mensagem num dado momento e de acordo com um dado contexto. Neste sentido, importante que as mensagens sejam interpretadas de acordo com o contexto em que so enviadas ou recebidas. Por exemplo, em situaes que envolvam a troca sucessiva de mensagens entre dois agentes (dilogo) importante garantir que a sequncia das mensagens no se altera e que nenhuma mensagem foi

13

Nos captulos oito e nove ser analisado um domnio (futebol robtico simulado) em que, devido a possuir

uma muito reduzida largura de banda para comunicao, a deciso de quando comunicar muito importante.

CAPTULO 3: SISTEMAS MULTI-AGENTE

61

perdida ao longo do dilogo. Caso contrrio, uma mensagem pode ser interpretada de forma totalmente errada.

3.4.2.1 Caracterizao do Significado das Mensagens


Genericamente podemos caracterizar o significado das mensagens trocadas por agentes inteligentes, segundo as caractersticas [Singh, 1997]:
Descritiva vs. Prescritiva. Descrio de fenmenos ou prescrio de comportamentos. As descries, embora muito importantes no comportamento humano, so complexas de entender para os agentes. Desta forma, os agentes comunicam informao acerca de actividades e comportamentos. Significado Personalizado vs. Convencional. A interpretao que um agente possui de uma mensagem pode no ser a mesma que os restantes agentes lhe conferem (significado convencional). Nos sistemas Multi-Agente, nomeadamente nos sistemas abertos aconselhvel a utilizao de significados convencionais, pois a qualquer momento so adicionados novos agentes. Subjectiva vs. Objectiva. O significado objectivo quando este interpretado externamente ao agente e tem um efeito explcito no ambiente. Perspectiva do Remetente vs. Destinatrio vs. Sociedade. Independentemente do significado convencional ou objectivo da mensagem, esta pode ser expressa segundo o ponto de vista do remetente, destinatrio ou dos restantes agentes presentes no ambiente. Semntica vs. Pragmtica. A pragmtica de uma comunicao est focada em como os agentes usam a comunicao, isto , como agem em funo da comunicao. Esta tem em considerao o estado dos agentes, o meio envolvente, a sintaxe e a semntica da comunicao. Contextualidade. As mensagens no devem ser entendidas isoladamente. A sua interpretao deve levar em considerao o estado do agente, o estado do meio e a histria do meio. A interpretao deve ser directamente influenciada pelo contexto da comunicao. Cobertura. As linguagens com uma dimenso reduzida podem ser mais flexveis e mais facilmente utilizveis. No entanto, tm de ser suficientemente abrangentes para que os agentes possam expressar todos os significados que necessitem para comunicar com os outros agentes. Identidade. O sentido de uma mensagem depende da identidade dos interlocutores e do papel que cada um desempenha no sistema. Cardinalidade. Uma mensagem enviada a um agente em particular, deve ser entendida de forma diferente de uma mensagem pblica, enviada a todos os

62

CAPTULO 3: SISTEMAS MULTI-AGENTE

agentes do sistema.

3.4.2.2 Tipo de Mensagens


Todos os agentes tm de possuir a capacidade de comunicar independentemente do conjunto de capacidades funcionais que os caracterizam. De acordo com as caractersticas do agente e papel a desempenhar no sistema, podemos distinguir diversos nveis de capacidades de comunicao. assumido que um agente pode enviar e receber mensagens, existindo dois tipos de mensagens bsicas: as asseres e as perguntas [Huhns e Stephens, 1999]. Podemos considerar quatro tipos de agentes (tabela 2), de acordo com as capacidades de comunicao que apresentam:
Agente Bsico. Capaz de aceitar informao do exterior sob a forma de asseres mas incapaz de efectuar outras formas de comunicao; Agente Passivo. Capaz de um dilogo sendo, alm de aceitar asseres, capaz de aceitar perguntas do exterior e responder-lhes na forma de asseres; Agente Activo. Capaz de realizar um dilogo em que assume um papel activo. Alm de aceitar asseres, tem a capacidade de realizar perguntas e asseres; Agente Interlocutor. Capaz de realizar um dilogo em que assume um papel interlocutor entre os outros agentes. Para alm de aceitar asseres, capaz de fazer e receber perguntas e realizar asseres.
Receber Asseres Receber Perguntas Enviar Asseres Enviar Perguntas Agente Bsico Sim No No No Agente Passivo Sim Sim Sim No Agente Activo Sim No Sim Sim Agente Interlocutor Sim Sim Sim Sim

Tabela 2: Capacidades de comunicao de diferentes agentes [Huhns e Stephens, 1999]

3.4.2.3 Protocolos e Nveis de Comunicao


Os protocolos de comunicao so usualmente definidos a vrios nveis [Huhns e Stephens, 1999]. Os nveis inferiores definem o mtodo de interligao dos agentes. Os nveis intermdios definem o formato (sintaxe) da informao transmitida. Nos nveis superiores encontram-se as especificaes do sentido (semntica) da informao. No que diz respeito aridade, os protocolos de comunicao subdividem-se em protocolos de aridade binria e aridade n. Enquanto um protocolo binrio, envolve apenas um emissor e um receptor, um protocolo de aridade n implica a existncia de um emissor e mltiplos receptores. Genericamente podemos definir que um protocolo contm a seguinte estrutura de dados [Huhns e Stephens, 1999]:
Emissor;

CAPTULO 3: SISTEMAS MULTI-AGENTE

63

Receptor(es); Linguagem utilizada; Funes de codificao e descodificao da linguagem; Aces que o receptor deve executar.

3.4.2.4 Actos de Discurso


A Teoria dos Actos de Discurso iniciou-se com o trabalho do filsofo John Austin [Austin, 1962] e foi mais tarde estendida por John Searle [Searle, 1969]. Esta teoria resulta da anlise do discurso humano relativa s aces, pedidos, sugestes, compromissos e respostas. Este usado como modelo de comunicao aplicado comunicao dos agentes. O princpio bsico da teoria dos actos de discurso a assuno de que as aces de discurso so executadas pelos agentes da mesma forma que quaisquer outras aces e de acordo com o cumprimento dos seus objectivos. No seu estudo, John Austin [Austin, 1962] concluiu que os actos de discurso tinham caractersticas semelhantes s aces, no sentido em que estes actos poderiam mudar o estado do mundo de forma anloga s aces fsicas. Austin distinguiu ainda trs aspectos essenciais dos actos de discurso [Austin, 1962]:
A Locuo. Acto fsico de discurso; A Elocuo. Sentido atribudo locuo; A Perlocuo. Efeito da aco resultante da locuo.

John Searle estendeu o trabalho de Austin [Searle, 1969] e identificou diversas propriedades necessrias para o sucesso de actos de discurso. De entre estas condies destacam-se as condies normais de transmisso (input/output), condies preparatrias e condies de sinceridade. Searle identificou ainda um conjunto de classes para os actos de discurso, incluindo [Searle, 1969]: directivas (pedidos), promessas, expressivas, representativas (informaes) e declarativas. A Teoria do Acto de Discurso utiliza o termo performativa para identificar a elocuo (tabela 3). As performativas podem ser verbos como: prometer, convencer, insistir, dizer, pedir, oferecer, requerer, etc. A utilizao das performativas destina-se exclusivamente a definir inequivocamente a elocuo desejada. Assim, definem o sentido com que deve ser interpretado o contedo da mensagem. O resultado reflecte a aco esperada do outro interveniente face ao primeiro acto de discurso.

64
Acto de Comunicao Assero Pergunta Resposta Pedido Explicao Comando Permisso Recusa Oferta/Factura Aceitao Concordncia Proposta Confirmao Retraco Negao

CAPTULO 3: SISTEMAS MULTI-AGENTE


Elocuo Informativo Questionar Informativo Pedido Informativo Pedido Informativo Informativo Informativo Informativo Resultado Aceitao Resposta Aceitao Acordo Aceitao Aceitao Aceitao Oferta

Tabela 3: Tipos de mensagens inter-agentes derivadas da Teoria do Acto de Discurso

3.4.3 Linguagens de Comunicao


No incio dos anos 90, foi fundado nos Estados Unidos da Amrica, o Knowledge Sharing Effort (KSE) financiado pelo DARPA14, com o objectivo de desenvolver protocolos para a troca e representao de informao entre sistemas de informao autnomos. O KSE gerou dois produtos finais principais [Finin et al., 1993]:
A Linguagem KQML (Knowledge and Query Manipulation Language). KQML uma linguagem externa para comunicaes entre agentes. Define um invlucro para formatar mensagens que determina o significado locutrio da mensagem. O KQML no est preocupado com o contedo da mensagem mas sim com a caracterizao da informao necessria compreenso desse contedo. O Formato KIF (Knowledge Interchange Format). A KIF uma linguagem que se destina explicitamente a representar o conhecimento sobre um domnio de discurso especfico. Foi desenvolvido primariamente como forma de definir o contedo de mensagens expressas em KQML.

Para alm do KQML e KIF, existem vrias linguagens definidas no mbito da comunicao em Sistemas Multi-Agente. De entre as mais utilizadas destaca-se o FIPA ACL (Agent Communication Language). Em 1995, a FIPA Foundation for Intelligent Physical Agents iniciou o desenvolvimento de standards para Sistemas Multi-Agente. A parte fulcral desta iniciativa situava-se ao nvel do desenvolvimento de uma linguagem de comunicao para agentes [FIPA, 1999]. A ACL resultante semelhante ao KQML, sendo primariamente uma linguagem de comunicao externa e no obriga utilizao de qualquer linguagem especfica para o contedo.

14

DARPA Defense Advanced Research Projects Agency, E.U.A.

CAPTULO 3: SISTEMAS MULTI-AGENTE

65

Para alm da preocupao com a definio de uma linguagem de comunicao, bvio que para os agentes interagirem num sistema tero, todos, no s que falar a mesma linguagem mas atribuir significados idnticos aos conceitos em discusso. S assim sero capazes de entender e serem entendidos pelos outros agentes. Torna-se assim necessrio a existncia de uma Ontologia que especifique o significado dos objectos e conceitos em discusso. Comum a todas as linguagens o facto de estas no terem ou no especificarem uma infra-estrutura prpria de comunicao. As especificaes das linguagens e das plataformas de comunicao so totalmente independentes. Nesta seco apresentada uma breve descrio das linguagens KQML, KIF e FIPA ACL e analisado o conceito de Ontologia e a sua utilidade no mbito dos Sistemas Multi-Agente.

3.4.3.1 KIF Knowledge Interchange Format


O KIF [Genesereth e Fikes, 1992] foi desenvolvido originalmente como uma linguagem comum para representar propriedades de um determinado domnio. Foi proposto como uma linguagem normalizada para a descrio de entidades em sistemas periciais, bases de dados, agentes inteligentes, etc. O KIF no foi desenvolvido como um formato para expressar mensagens completas mas sim como um formato para expressar o contedo das mensagens. De facto, o KIF baseado em lgica de primeira ordem e tem uma aparncia muito semelhante a esta lgica, utilizando uma notao prefixa semelhante linguagem LISP. A linguagem no difcil de ser interpretada quer por pessoas quer por sistemas computacionais. O KIF foi tambm definido para servir de interlingua , isto , para servir, nos processos de traduo entre linguagens, de linguagem intermdia entre as linguagens inicial e final. O KIF permite descrever, de forma simples, propriedades de um dado domnio, relaes entre os objectos presentes nesse domnio e propriedades gerais desse domnio. De forma a permitir a expresso destes conceitos, o KIF providencia operadores comuns em lgica de primeira-ordem: operadores booleanos e lgicos (and, or, not ,etc.), quantificadores universal e existencial, etc. Providencia tambm estruturas de dados tpicas tais como nmeros, caracteres, strings ou listas e relaes sobre esses tipos de dados. O KIF uma linguagem prefixa da lgica de predicados de primeira ordem com extenses para o suporte de raciocnio no montono e de definies. A descrio da linguagem inclui a especificao da sintaxe e da semntica. Alm da descrio de entidades, factos e conhecimento, o KIF permite ainda a descrio de procedimentos, isto , a descrio de sequncias de aces para que os agentes as executem. Excluindo as especificidades prprias da linguagem, realmente o KIF baseia-se fundamentalmente na lgica de primeira ordem e destina-se expresso do contedo de mensagens KQML.

66

CAPTULO 3: SISTEMAS MULTI-AGENTE

3.4.3.2 KQML - Knowledge and Query Manipulation Language


O KQML uma linguagem para troca de informao e conhecimento baseada em troca de mensagens. caracterizada por especificar toda a informao necessria compreenso do contedo da mensagem. Cada mensagem KQML composta por uma performativa (que pode ser interpretada como a classe de mensagem) e por um determinado nmero de parmetros (cada qual especificando um atributo e seu respectivo valor). Na figura 16 apresentado um exemplo de uma mensagem KQML.
(ask-one :content (SCHEDULE LPR) :sender ECO :receiver TIMETABLE_AGENT :reply-with SCH_LPR1 :language SCHEDULE_UNILANG :ontology TIMETABLING )

Figura 16: Exemplo de uma mensagem KQML No exemplo representado no figura 16, o agente ECO envia ao agente TIMETABLE_AGENT, o pedido de informao relativo ao horrio do agente LPR. A mensagem especifica ainda a linguagem e ontologia utilizadas. A performativa ask-one utilizada destina-se a realizar uma questo a um dado agente em que exactamente uma resposta esperada. A resposta a esta mensagem deve ser dada contendo o identificador enviado no parmetro :reply-with. A linguagem utilizada definida no parmetro :language e o parmetro :ontology define a terminologia utilizada nesta comunicao. A tabela 4, apresenta os principais parmetros utilizados em mensagens KQML.
Parmetro :content :sender :receiver :language :ontology :force :reply-with :in-reply-to Significado Contedo da mensagem Emissor da mensagem Receptor da mensagem Linguagem do contedo da mensagem Ontologia utilizada no contedo da mensagem Especfica se o contedo da mensagem definitivo ou o emissor o poder alterar no futuro. Definio se o emissor da mensagem aguarda por uma resposta e se tal for verdadeiro, qual o identificador para essa resposta Referncia ao identificador de resposta fornecido por um reply-with prvio

Tabela 4: Parmetros de uma mensagem KQML Diversas verses do KQML foram propostas ao longo dos ltimos anos com um conjunto diferente de performativas. Em [Finin et al., 1993], o nmero de performativas includas na linguagem, ascendia a 41, contendo, entre outras: advertise, ask-all, ask-one, broadcast, discard, evaluate, forward, recommend-all, recommend-one, reply, tell, untell, etc. Para um estudo mais alargado sobre a linguagem KQML recomenda-se a leitura de [Finin et al., 1993] ou [Labrou e Finin 1994]. As principais vantagens da utilizao da linguagem KQML, residem no facto de esta ser uma linguagem standard e de efectuar a separao entre o domnio da performativa KQML e a semntica da mensagem. No entanto, diversos investigadores apontaram

CAPTULO 3: SISTEMAS MULTI-AGENTE

67

tambm diversas crticas a esta linguagem: o conjunto de performativas alterou-se significativamente ao longo dos tempos (implicando dificuldades de comunicao entre sistemas KQML desenvolvidos em instantes temporais distintos); a semntica do KQML nunca foi definida com preciso (as definies so dadas em ingls corrente); a linguagem no continha performativas para efectuar compromissos entre agentes; o conjunto de performativas era demasiado extenso e desenvolvido de forma muito ad hoc . No entanto, KQML uma linguagem em desenvolvimento contnuo, onde a sua sintaxe e semnticas vo sendo progressivamente melhoradas [Labrou e Finin, 1994]. Labrou e Finin propuseram uma nova especificao que refina a original [Labrou e Finin, 1997] e que foi uma das bases da ACL suportada pela FIPA (Foundation for Intelligent Physical Agents) [FIPA, 1999].

3.4.3.3 FIPA ACL Agent Communication Language


A FIPA ACL semelhante no formato linguagem KQML. Define essencialmente a estrutura exterior da mensagem. No entanto, o nmero de performativas ACL bastante inferior ao nmero de performativas KQML. A linguagem ACL define unicamente 20 performativas (tabela 5) para definir a interpretao desejada para cada tipo de mensagem.
Performativa accept-proposal agree cancel cfp confirm disconfirm failure inform inform-if inform-ref not-understood propagate propose proxy query-if query-ref refuse reject-proposal request request-when request-whenever Subscribe Significado Aceitao de proposta numa negociao Aceitao de desempenhar uma dada aco Cancelamento da execuo de uma dada aco Call for proposals . Utilizada para iniciar uma dada negociao Confirmao da veracidade de uma dada mensagem Inverso da mensagem anterior Uma tentativa de executar uma dada aco (usualmente requisitada por outro agente) que falhou Uma das performativas mais importantes da FIPA ACL. Permite comunicar informao aos outros agentes Informao sobre a veracidade de determinada informao Informao sobre um dado valor Indicao de que uma dada mensagem no foi percebida Pedido de propagao a um conjunto de agentes de uma dada mensagem Envio de proposta, por exemplo, como resposta a uma mensagem cfp Permite enviar uma mensagem que vai ser reenviada a um conjunto de agentes Pedido de informao sobre a veracidade de determinada informao Pedido de informao sobre um dado valor Recusa de executar determinada aco Recusa de uma proposta efectuada no contexto de uma dada negociao Uma das performativas mais importantes da FIPA ACL. Consiste num pedido a um dado agente para executar determinada aco Pedido para executar uma dada aco quando uma determinada condio for verdadeira. Pedido para executar uma dada aco sempre que uma determinada condio seja verdadeira. Pedido para ser informado acerca das alteraes relacionadas com determinado facto ou informao

Tabela 5: Performativas providenciadas pela linguagem FIPA ACL.

68

CAPTULO 3: SISTEMAS MULTI-AGENTE

Como visvel analisando a tabela 5, a diferena principal entre a FIPA ACL e o KQML est relacionada com as performativas providenciadas por cada linguagem. A linguagem FIPA ACL procura providenciar uma semntica mais compreensvel do que a linguagem KQML. Uma das vantagens mais significativas da FIPA ACL relativamente ao KQML consiste na disponibilizao de performativas mais adequadas execuo de processos de negociao.

3.4.3.4 Ontologias
Como foi analisado anteriormente, para que seja possvel a interaco entre os agentes que compem um Sistema Multi-Agente (SMA) necessrio que exista uma plataforma de comunicao, uma linguagem de comunicao e que os agentes possuam um vocabulrio comum bem definido. No entanto, usual que diferentes agentes possuam diferentes terminologias para o mesmo significado, ou idntica terminologia para significados diferentes. Este problema pode ser resolvido se eles partilharem uma ontologia comum. Uma ontologia no mais do que: a representao do conhecimento de um dado domnio, disponibilizada a todos os outros componentes de um sistema de informao [Huhns e Singh, 1997b]. A utilizao de uma ontologia comum garante a consistncia (uma mesma expresso tem o mesmo significado para qualquer agente) e compatibilidade (um conceito qualquer designado, pela mesma expresso, por qualquer agente) da informao presente no sistema [Macedo, 2001]. Existem diversas definies de ontologia propostas pelos investigadores da rea. Jim Hendler define uma ontologia como uma definio formal de um corpo de conhecimento [Hendler, 2001]. Grninger e Fox [Grninger e Fox, 1995] definem uma ontologia como uma descrio formal de entidades, propriedades, relacionamentos, restries, comportamentos. Weiss [Weiss, 1999] define ontologia como uma especificao dos objectos, conceitos e relacionamentos de uma dada rea de interesse. Na sua definio, uma ontologia vai alm de especificar uma taxonomia de classes (ou tipos), pois deve tambm descrever os relacionamentos. Segundo Gruber [Gruber, 1993], uma ontologia uma especificao da conceitualizao, ou seja, dos conceitos e relacionamentos que podem existir para um agente ou para uma comunidade de agentes. Noy e McGuinness afirmam que uma ontologia uma descrio explcita formal de conceitos de um domnio do discurso (classes), propriedades desses conceitos descrevendo as suas caractersticas (slots), atributos desses conceitos (designados por papis ou propriedades), e restries sobre esses atributos (nomeadamente restries aos valores que podem tomar) [Noy e McGuinness, 2001]. Para estes autores, o desenvolvimento de uma ontologia inclui [Noy e McGuinness, 2001]: definir um conjunto de classes; organizar as classes numa hierarquia taxonmica; definir as propriedades (slots); descrever os valores permitidos para estas propriedades; preencher os valores das propriedades com instncias. No contexto de um Sistema Multi-Agente, uma ontologia uma representao formal de conceitos, caractersticas e relacionamentos num dado domnio especfico, permitindo o

CAPTULO 3: SISTEMAS MULTI-AGENTE

69

entendimento comum da rea de conhecimento entre pessoas e agentes de software. Isto permite a uma mquina usar o conhecimento disponibilizado por humanos ou por outras mquinas, mltiplas mquinas compartilharem o seu conhecimento e ainda, a reutilizao de conhecimento [Malucelli, 2002]. Uma ontologia ento uma especificao dos objectos, conceitos e relacionamentos de uma rea de interesse. Os conceitos podero ser representados por predicados unrios de lgica de primeira ordem. Os relacionamentos sero representados por predicados de aridade superior. As ontologias, para alm do campo dos Sistemas Multi-Agente, so aplicadas em muitos campos de investigao, dos quais se destaca o desenvolvimento de bases de dados, na componente da sua especificao, com a utilizao de modelos como o Relacional ou Entidade-Associao ou ainda o UML (Unified Modelling Language). Existem diversos tipos de ontologias, entre os quais de destacam:
Ontologias genricas. Definem termos suficientemente genricos e frequentemente usados como base para permitir a definio de outros termos compostos. Podem ser consideradas como meta-ontologias; Ontologias de domnio. Ontologias baseadas nas genricas mas especializadas para uma determinada rea. Os termos e conceitos definidos nestas ontologias dizem respeito rea seleccionada; Ontologias de modelizao e representao. Disponibilizam as primitivas que so utilizadas nas ontologias genricas e de domnio; Ontologias de aplicao. Contm as definies necessrias modelizao do conhecimento numa rea especfica.

O grau de formalizao de uma ontologia permite tambm efectuar a sua classificao em ontologias informais (expressas em linguagem natural), ontologias semi-informais (expressas numa forma restrita e controlada da linguagem natural), ontologias semiformais (expressas numa linguagem formal, artificialmente definida para o efeito) e ontologias formais (expressas numa linguagem lgica com uma semntica definida formalmente). Existem diversas linguagens de representao do conhecimento utilizadas para modelizao de ontologias. De entre estas destacam-se a XML (eXtensible Markup Language) [XML, 2001], UML (Unified Modelling Language) que uma linguagem padro para especificar, visualizar, documentar e construir sistemas computacionais, o KIF (abordado na seco 3.4.3.1), o DAML (DARPA Agent Markup Language) [DAML, 2001] que foi desenvolvido como uma extenso do XML, o OIL (Ontology Inference Layer) e o CycL (baseado na lgica de primeira ordem). As ontologias so cada vez mais essenciais para o desenvolvimento e utilizao de sistemas inteligentes assim como para a interoperao de sistemas heterogneos. Permitem comunicar aos agentes presentes num sistema (pessoas ou agentes de software), o

70

CAPTULO 3: SISTEMAS MULTI-AGENTE

vocabulrio que est disponvel sobre um dado domnio importante para o funcionamento do sistema. Acrescentam a este vocabulrio, o significado que atribudo no mbito desse mesmo sistema para os diversos termos desse vocabulrio. Com a generalizao da sua utilizao e o alargamento dos Sistemas Multi-Agente, contendo agentes desenvolvidos por diferentes pessoas ou organizaes, as necessidades de comunicao com vocabulrios comuns entre estes agentes ser cada vez mais relevante. Desta forma, as ontologias vo desempenhar num futuro prximo um papel central no desenvolvimento de Sistemas Multi-Agente.

3.5 Aprendizagem em SMA


Embora neste trabalho no sejam utilizadas metodologias de aprendizagem, tendo em conta a importncia que a aprendizagem em geral possui nos Agentes e Sistemas MultiAgente, nesta seco ser realizada uma breve anlise deste tema. Ser dada particular relevncia distino entre aprendizagem individual e aprendizagem multi-agente e s metodologias de aprendizagem utilizadas especificamente em SMA. A aprendizagem em Sistemas Multi-Agente um campo de investigao bastante recente mas, no entanto, muito importante dentro da IAD. Embora este tema tenha sido negligenciado durante bastante tempo, preferindo os investigadores da rea analisar tpicos tais como arquitecturas, comunicao, coordenao, cooperao ou negociao multi-agente15, hoje uma convico geral que este tema merece particular ateno. Duas motivaes podem ser apontadas para este facto:
Providenciar a Sistemas Multi-Agente heterogneos, compostos por mltiplas unidades com conhecimentos e capacidades distintas, a capacidade para aprender e ajustar o seu comportamento individual e de grupo, automaticamente; Perceber melhor os mecanismos e processos naturais de aprendizagem em grupos ou equipas (por exemplo um grupo de agentes cooperando entre si e com humanos).

Os SMA possuem habitualmente uma complexidade estrutural e de funcionamento considervel, sendo usualmente impossvel determinar partida, o conjunto de comportamentos e as actividades concretas que iro ser executadas pelo sistema. Desta forma assume particular importncia o desenvolvimento de agentes capazes de aprenderem e se adaptarem de forma a melhorarem o seu funcionamento no contexto do SMA.

15

O autor deste trabalho no escapa inclume a esta afirmao pois, nesta tese, o tema da aprendizagem em

SMA no abordado numa perspectiva prtica.

CAPTULO 3: SISTEMAS MULTI-AGENTE

71

3.5.1 Tipos de Aprendizagem em SMA


A aprendizagem em SMA mais do que uma mera magnificao da aprendizagem de agentes individuais. Engloba todas as complexidades da aprendizagem de agentes isolados e possvel construir agentes no contexto de um SMA, que aprendam isoladamente, de forma completamente independente dos outros agentes. No entanto, a aprendizagem em SMA vai mais alm e pressupe que os agentes aprendam em conjunto e que a sua aprendizagem seja influenciada pela troca de informaes, assunes partilhadas, pontos de vista comuns sobre o ambiente, convenes sociais, normas, etc. [Weiss, 1996] Podem ser considerados dois tipos principais de aprendizagem multi-agente [Weiss, 1996]:
Aprendizagem Interactiva. Situaes em que os agentes de forma colectiva procuram atingir os seus objectivos de aprendizagem comuns; Aprendizagem Individual. Situaes em que cada agente procura atingir os seus prprios objectivos de aprendizagem mas em que a sua aprendizagem afectada por outros agentes, os seus conhecimentos, crenas, intenes, etc.

3.5.2 Determinao do Crdito ou Culpa


Um problema sempre presente na aprendizagem multi-agente a determinao e atribuio do crdito ou culpa pela mudana (positiva ou negativa) no comportamento global do sistema. necessrio decompor este crdito pelos vrios agentes que contriburam para essa mudana global no comportamento. Este problema pode ser decomposto em dois subproblemas [Weiss, 1996]:
A atribuio do crdito ou culpa pela mudana global do comportamento s aces externas de cada agente. Na aprendizagem em SMA este problema complexo pois as aces de vrios agentes podem, simultaneamente contribuir para a alterao do comportamento global do sistema. A atribuio do crdito ou culpa da execuo de uma aco s decises internas correspondentes. Este problema praticamente idntico em aprendizagem individual e aprendizagem SMA. Consiste na determinao das decises que levaram execuo da aco ou aces relevantes na mudana de comportamento do sistema.

Esta decomposio conceptual no no entanto clara em grande parte dos problemas [Sen e Weiss, 1999]. Grande parte das abordagens aprendizagem em SMA no diferenciam explicitamente os dois subproblemas e focam-se unicamente num deles, simplificando consideravelmente o outro [Sen e Weiss, 1999].

72

CAPTULO 3: SISTEMAS MULTI-AGENTE

3.5.3 Caractersticas Importantes na Aprendizagem


As duas categorias de aprendizagem descritas (i.e. aprendizagem interactiva e individual) cobrem um largo espectro de tipos de aprendizagem mais especficos que podem ocorrer no contexto de um SMA. Na figura 17, apresentado um diagrama que resume os principais tpicos de investigao no mbito da aprendizagem em SMA.
On-Line Off-Line Paralelismo Distribuio Programao Lgica Indutiva Algoritmos Genticos Aprendizagem por Reforo Raciocnio Baseado em Casos Mtodos Estatsticos rvores de Deciso Redes Neuronais Supervisionada por Reforo No Supervisionada Tipo de Retorno Propriedades Especficas Forma de Aprendizagem Incerteza Dinmica Acessibilidade Ambiente da Complexidade Aprendizagem Directa Instrues ou Conselhos Exemplos Analogia Descoberta

Grau de Descentralizao

Aprendizagem

Aprendizagem Algoritmo de em SMA Mtodo de

Aprendizagem

Interaco Envolvimento

Tempo de Obteno do Retorno Imediato a Pedido Atrasado

Objectivos

Figura 17: Caractersticas da Aprendizagem em SMA As abordagens aprendizagem em SMA podem ser classificadas com maior preciso utilizando um conjunto de caractersticas auxiliares [Sen e Weiss, 1999]:
Grau de Descentralizao. Nomeadamente no que diz respeito ao grau de distribuio e paralelismo do processo de aprendizagem; Forma de Aprendizagem. De acordo com a disponibilidade dos dados necessrios para o processo de aprendizagem, podem classificar-se os mtodos de aprendizagem como em-linha (online) (aprendizagem realizada durante a operao normal do agente) e off-line (aprendizagem realizada posteriormente analisando dados guardados durante a operao normal do agente). Ambiente de Aprendizagem. O ambiente pode possuir todas as caractersticas definidas na seco 2.2. Desta forma necessrio ter em considerao a dinmica, incerteza, acessibilidade, determinismo e complexidade do ambiente. A aprendizagem ser mais complexa em ambientes multi-agente dinmicos, contnuos, no determinsticos e inacessveis. Propriedades Especficas da Interaco. Estas propriedades incluem o nvel da interaco (observao, argumentao, negociao, etc.), persistncia da interaco (curto prazo a longo prazo), frequncia da interaco, estruturao da

CAPTULO 3: SISTEMAS MULTI-AGENTE

73

interaco (hierrquica, sem qualquer estruturao, etc.), variabilidade da interaco, etc. Desta forma podem existir situaes em que o processo de aprendizagem seja extremamente rpido e simples (por exemplo observando um outro agente durante um curto espao de tempo) e situaes em que este processo seja demorado e extremamente complexo (por exemplo negociao utilizando um protocolo elaborado com um elevado nmero de agentes);
Propriedades Especficas do Envolvimento. Este envolvimento pode ser caracterizado pela sua relevncia (essencial ou dispensvel no processo de aprendizagem colectiva) e pelo papel desempenhado pelo agente (generalista ou especialista numa dada actividade); Propriedades Especficas dos Objectivos. Estas propriedades podem incluir o tipo de melhoria esperada pela utilizao do processo de aprendizagem (individual ou colectiva) e a compatibilidade dos objectivos de aprendizagem dos vrios agentes (complementares ou conflituosos). Mtodo de Aprendizagem. Os mtodos de aprendizagem so uma das reas mais importantes e com maior volume de investigao realizada dentro da aprendizagem em SMA. De entre os mtodos mais relevantes destacam-se:

o Aprendizagem Directa. Implantao directa do conhecimento ou capacidades sem qualquer tipo de inferncia complementar por parte do agente; o Aprendizagem por Instrues ou Conselhos. Fuso do conhecimento ou capacidades adquiridas com conhecimento e capacidades prvias do agente; o Aprendizagem por Exemplos. Extraco e refinamento de conhecimento e capacidades tais como padres ou conceitos gerais, a partir de exemplos positivos e negativos; o Aprendizagem por Analogia. Transformao de conhecimento utilizado na resoluo de um problema semelhante de forma a resolver um novo problema anlogo; o Aprendizagem por Descoberta. Recolha de novo conhecimento e capacidades atravs da realizao de observaes, experincias, teste de hipteses e teorias e anlise de resultados experimentais.
Tipo de Retorno da Aprendizagem. O retorno da aprendizagem indica a melhoria obtida at um dado momento. Pode ser fornecido pelo ambiente, calculado pelo prprio agente ou fornecido por um outro agente. usual a decomposio dos mtodos de aprendizagem relativamente ao retorno, em trs classes:

o Aprendizagem Supervisionada. O retorno especifica a actividade

74

CAPTULO 3: SISTEMAS MULTI-AGENTE

desejada do agente aprendiz e o objectivo final da aprendizagem obter um resultado o mais prximo possvel deste retorno; o Aprendizagem por Reforo. O retorno especifica unicamente a utilidade da aco ou actividade actual do agente aprendiz. O objectivo consiste em maximizar esta utilidade; o Aprendizagem No Supervisionada. Neste tipo de aprendizagem no existe retorno. Desta forma, o objectivo consiste em encontrar aces e actividades teis, tendo como base um sistema de tentativa e erro.
Tempo de Obteno do Retorno. No caso de existncia de retorno, a forma de obteno desse retorno da aprendizagem pode ser:

o Imediata. Todas as aces tm um feedback imediato que permite ao agente avaliar a qualidade dessas aces; o A Pedido. O agente aprendiz pode requisitar em qualquer instante o retorno de uma dada aco ou conjunto de aces passado. o Atrasada. O retorno enviado ao agente mas no de uma forma imediata e/ou constante. Os instantes de tempo em que o retorno enviado no so controlados pelo agente aprendiz. Utilizando estas caractersticas possvel caracterizar o processo de aprendizagem a diversos nveis. Tendo em conta o elevado nmero de combinaes possvel, fcil concluir que a determinao da metodologia de aprendizagem mais adequada a cada caso especfico , em si, tambm um problema significativo neste contexto. Por vezes a aprendizagem off-line no possvel devido a restries impostas, como por exemplo a impossibilidade de guardar informao suficiente que a permita efectuar. Este problema pode ainda ser mais grave no caso de as aces necessrias para efectuar a aprendizagem afectarem directamente, de forma destrutiva, o ambiente ou os seus outros utilizadores. Neste caso, ser muito difcil a um agente realizar um processo de aprendizagem, pois esse processo de aprendizagem afecta o prprio comportamento do sistema. Desta forma, o agente estar a aprender a adaptar-se a um ambiente adulterado, o que poder no ser til no ambiente real.

3.5.4 Algoritmos de Aprendizagem


Um elevado nmero de algoritmos foi proposto na literatura da especialidade para permitir realizar a aprendizagem em agentes ou outras entidades computacionais. De entre os mais estudados e utilizados destacam-se:
Mtodos Estatsticos (aprendizagem no supervisionada); Raciocnio Baseado em Casos ( Case Based Reasoning );

CAPTULO 3: SISTEMAS MULTI-AGENTE

75

rvores de Deciso; Redes Neuronais (e outros algoritmos conexionistas); Aprendizagem por Reforo; Programao Lgica Indutiva; Algoritmos Genticos (e outros algoritmos evolucionrios).

Devido a limitaes de espao e ao facto deste trabalho no utilizar metodologias de aprendizagem na sua componente mais prtica, no apresentamos aqui uma descrio mais detalhada destes algoritmos. Para uma anlise mais detalhada dos algoritmos de aprendizagem referidos, sugere-se a leitura de [Mitchell, 1997] ou [Silva, 2000b]. No que diz respeito anlise da aprendizagem no contexto de um Sistema Multi-Agente, estudos mais aprofundados podem ser encontrados em [Sen e Weiss, 1999], [Weiss, 1996], [Stone e Veloso, 1996] e [Nunes e Oliveira, 2002].

3.5.5 Dificuldades Especficas da Aprendizagem em SMA


Embora a aprendizagem em Sistemas Multi-Agente, como foi analisado ao longo desta seco, possua algumas caractersticas distintivas relativamente aprendizagem individual, de facto, a utilizao de aprendizagem em SMA realizada na maioria dos casos utilizando a forma tradicional de aprendizagem individual. Desta forma, a interaco entre os agentes durante o processo de aprendizagem e os benefcios que esta interaco pode trazer para o processo de aprendizagem colectiva no so usualmente explorados.

3.6 Coordenao em SMA


O conceito de coordenao intuitivo e muito simples possuir uma noo do que significa a palavra coordenao. Por exemplo, quando se participa numa conferncia bem organizada, se analisa uma linha de montagem que funciona suavemente, se lecciona numa faculdade bem gerida, ou se assiste a um jogo de futebol entre duas equipas capazes de realizar excelentes jogadas colectivas, fcil perceber que existem aces de grupo bem coordenadas. No entanto, em grande parte dos casos, a boa coordenao quase invisvel e mais fcil perceber o que coordenao quando esta falha [Malone e Crowston, 1994]. Exemplos de ausncia de coordenao verificam-se quando: se espera horas para embarcar num avio porque no existe uma porta para realizar o embarque, se chega a um hotel onde se tinha uma reserva e o hotel est cheio, se chega a uma sala para leccionar uma aula e esta se encontra ocupada ou, se assiste a um jogo de futebol com muitos passes errados e jogadores mal posicionados no campo.

76

CAPTULO 3: SISTEMAS MULTI-AGENTE

A coordenao pode ser definida como o acto de trabalhar em grupo de forma harmoniosa [Malone e Crowston., 1991]. No entanto, tal como acontece com a definio do conceito de agente, tambm a definio do conceito de coordenao no partilhada por todos os investigadores da rea. Desta forma, diversos autores propuseram definies distintas mas interrelacionadas do termo coordenao.

3.6.1 Definio de Coordenao


Diversos autores propuseram definies distintas para o conceito de coordenao, destacando-se:
Ajustamento ou interaco harmoniosa [AHD, 2000] O acto de trabalhar em grupo de forma harmoniosa [Malone et al., 1990] Processo pelo qual um agente raciocina acerca das suas aces locais e das aces (antecipadas) dos outros para tentar assegurar que a comunidade actue de maneira coerente [Jennings, 1996] Processo de gesto das interdependncias entre actividades [Malone e Crowston, 1994] A operao de sistemas complexos compostos de componentes [NSF-IRIS, 1989] O esforo conjunto de actores independentes no sentido de atingirem objectivos mutuamente definidos [NSF-IRIS, 1989] A integrao e ajustamento harmonioso dos esforos individuais no sentido de alcanar um objectivo mais amplo [Singh, 1992] O acto de trabalhar em conjunto [Malone e Crowston, 1991]

Na maioria destas definies destaca-se a noo de grupo, trabalho conjunto, harmonia e objectivo comum. Desta forma, a definio de coordenao que adoptmos neste trabalho a seguinte: O acto de trabalhar em conjunto de forma harmoniosa no sentido de atingir um acordo ou objectivo comum [Reis, 2002e] Nas seces anteriores analisamos a forma como agentes podem partilhar o mesmo ambiente e comunicar entre si. No entanto, de forma a que os agentes possam trabalhar em conjunto de forma harmoniosa necessrio mais do que a capacidade de comunicarem entre si. Duas dificuldades principais surgem neste contexto [Wooldridge, 2002]:
Num Sistema Multi-Agente os agentes so muitas vezes implementados por projectistas distintos com objectivos distintos. Desta forma podem no partilhar objectivos comuns e como tal podem ter de negociar ou argumentar com os outros agentes de forma a persuadi-los a efectuarem a coordenao;

CAPTULO 3: SISTEMAS MULTI-AGENTE

77

Devido aos agentes serem autnomos, efectuando as suas decises dinamicamente em run-time, tm de ser capazes de coordenar, tambm dinamicamente, as suas actividades, com os outros agentes presentes no ambiente.

Estas duas dificuldades levaram proposta de muitas metodologias de coordenao distintas por parte de diversos investigadores da comunidade dos SMA. No entanto, existe uma grande dificuldade em estabelecer uma teoria da coordenao unanimemente aceite por todos os investigadores da rea. De forma a efectuar a coordenao , no entanto, ntido que os agentes tm de ser capazes de partilhar informao e tarefas dinamicamente (i.e. em run-time) coordenando as suas actividades no contexto do Sistema MultiAgente. A definio de boas estratgias de coordenao permite que grupos de agentes executem tarefas cooperativas de forma eficiente atravs de decises conjuntas sobre que agentes devem executar uma determinada tarefa e quando e a quem devem comunicar os seus resultados e conhecimento em cada instante.

3.6.2 A Necessidade de Coordenar Agentes


Sichman e Demazeau [Sichman, 1994] [Sichman e Demazeau, 1995] afirmam que a necessidade de coordenao resulta da existncia de relaes de dependncia que esto relacionadas com o facto de um agente necessitar do outro de forma a poder satisfazer os seus objectivos. Definem quatro relaes de dependncia bsicas:
Independncia. No existe qualquer tipo de dependncia entre os agentes; Unilateral. Um agente depende do outro mas a relao inversa no se verifica; Mtua. Ambos os agentes dependem do outro para atingirem os seus prprios objectivos; Dependncia recproca. Um agente depende do outro para um dado objectivo e o outro agente depende do primeiro para um outro objectivo (no necessariamente o mesmo).

Wooldridge [Wooldridge, 2002] denota que estas relaes podem ser qualificadas como localmente ou mutuamente acreditadas . Uma relao localmente acreditada se um agente acredita que a relao existe mas no acredita que o outro agente acredita que ela existe. Uma relao mutualmente acreditada existe quando um agente acredita que a relao existe e acredita tambm que o outro agente a reconhece. Malone e Crowston [Malone e Crowston, 1994] analisaram as relaes de dependncia numa outra perspectiva e identificaram nove tipos de dependncia entre actividades. Para cada tipo de dependncia sugeriram processos para as gerir como demonstra a tabela 6.

78
Dependncia Recursos Partilhados Alocao de Tarefas Relaes Produtor/Consumidor

CAPTULO 3: SISTEMAS MULTI-AGENTE


Processos de Coordenao para Gerir a Dependncia First First come/First come/First serve, serve, Ordenao Ordenao por por Prioridades, Prioridades,

Oramentos, Deciso da Gesto, Negociao e Ofertas Oramentos, Deciso da Gesto, Negociao e Ofertas Notificao, Sequenciamento, Seguimento, Gesto de Stocks, Just in Time, Quantidade Econmica de Encomenda, Normalizao, Projecto Participatrio, Interaco com os Utilizadores Restries de Pr-Requisitos Transferncia Usabilidade Projecto para produo Restries de Simultaneidade Tarefas e Sub-Tarefas Notificao, Sequenciamento, Seguimento Gesto de Stocks, Just in Time, Quantidade Econmica de Encomenda Normalizao, Projecto Participatrio, Interaco com os Utilizadores Engenharia Concorrente Escalonamento, Sincronizao Seleco de Objectivos, Decomposio de Tarefas

Tabela 6: Tipos de Dependncia entre Actividades [Malone e Crowston, 1994] Jennings [Jennings, 1996] afirma que existem trs razes principais para a necessidade de coordenar as aces de mltiplos agentes:
Existem dependncias nas aces dos agentes. Interdependncia ocorre quando as aces necessrias para atingir os objectivos dos agentes individuais esto relacionadas. Isto pode acontecer devido a decises locais de agentes terem impacto nas decises de outros agentes ou devido possibilidade de existncia de interaces destrutivas entre os vrios agentes; Existe a necessidade que o conjunto de agentes respeite restries globais. Estas restries podem situar-se a nvel de custos, tempo, recursos, etc. Se os agentes agissem individualmente no conseguiriam respeitar estas restries. Unicamente se coordenarem as suas actividades podem respeit-las; Nenhum agente individualmente tem recursos, informao ou capacidade suficiente para executar a tarefa ou resolver o problema completo. Grande parte dos problemas necessitam de conhecimentos distintos para serem resolvidos, que s podem ser conseguidos por diferentes agentes. No entanto, os conhecimentos distintos dos vrios agentes tm de ser combinados de forma a produzir o resultado desejado. Os diversos agentes podem tambm ter recursos distintos (capacidade de processamento, memria, etc.) que tm de ser utilizados de forma coordenada para resolver o problema. Os agentes podem tambm possuir informao distinta, por exemplo, devido a possurem sensores distintos ou estarem geograficamente em locais distintos. Podem ainda ter as capacidades

CAPTULO 3: SISTEMAS MULTI-AGENTE

79

de posicionamento diferentes, podendo posicionar-se em zonas distintas. Desta forma as suas capacidades de percepo e aco sobre o meio sero distintas. Mesmo quando os agentes individuais possam trabalhar independentemente dos restantes, a coordenao pode aumentar a eficincia do sistema. Desta forma, Nwana et al. [Nwana, et al., 1996], adicionam duas razes para a necessidade de coordenar agentes num sistema:
Eficincia. Atravs da troca de informao ou diviso de tarefas, a coordenao pode aumentar a eficincia do sistema. Mesmo sendo ambos capazes de executar as tarefas que lhes esto atribudas, dois agentes podero trocar as suas tarefas se ambos forem capazes de executar de forma mais eficiente a nova tarefa. Um outro exemplo, poder ser um agente enviar informao ou permitir a utilizao dos seus recursos computacionais de forma a aumentar a eficincia de uma tarefa executada por outro agente; Prevenir a anarquia e o caos. A coordenao necessria ou desejvel porque, devido descentralizao dos sistemas multi-agente, a anarquia pode-se estabelecer facilmente. Em sistemas com uma dimenso ou complexidade razoveis, os agentes possuem unicamente uma viso parcial do mundo e conhecimento e objectivos locais que podem entrar em conflito com os dos outros agentes. No entanto, esto habilitados a interagir com os outros agentes do sistema e, tal como em qualquer sociedade, estas interaces podem provocar grande confuso, desordem e desorganizao, conduzindo anarquia. Nenhum agente possui uma viso global e autoridade sobre o sistema pelo que ser necessrio que os agentes coordenem as suas actividades voluntariamente com os restantes agentes do sistema.

A coordenao por seu lado, pode requerer cooperao. No entanto, importante destacar que a coordenao pode ser atingida por outros meios no cooperativos. A competio ou negociao so processos de coordenao para agentes antagonistas. Para que os agentes se coordenem, usualmente tm de comunicar. No entanto, possvel a coordenao sem comunicao, nomeadamente nos casos em que os agentes possuem modelos do comportamento dos restantes agentes. Outra possibilidade, consiste em definir previamente uma estrutura organizacional, atribuindo papis, responsabilidades, cadeias de comando ou hierarquias entre os agentes. Neste contexto, uma concluso importante que nem sempre til realizar aces de coordenao pois isto pode implicar o dispndio de recursos teis na realizao de outras tarefas. Lesser [Lesser, 1998], afirma que de forma a desenvolver estratgias eficientes de coordenao que funcionem numa grande variedade de ambientes, os agentes devem explicitamente medir os benefcios e custos da coordenao na situao corrente, de forma quantificvel. A situao corrente inclui os objectivos (e a sua importncia) que um agente possui a curto-prazo, os mtodos ou aces disponveis a esse agente e aos outros agentes, os requisitos que a aplicao desses mtodos coloca ao agente e aos outros agentes, o

80

CAPTULO 3: SISTEMAS MULTI-AGENTE

estado do ambiente do agente e outras restries que sejam impostas actividade do agente. Lesser denota ainda que efectuar decises de coordenao um problema complexo, multi-nvel de optimizao [Lesser, 1999] que se baseia em verificar (usualmente numa perspectiva estatstica) em que medida as aces de coordenao contribuem a alto-nvel para o atingir da execuo das aces que conduzem ao objectivo do agente.

3.6.3 SMA Cooperativos vs. Competitivos


Podemos distinguir duas abordagens na construo de Sistemas Multi-Agente: sistemas compostos por agentes cooperativos e sistemas compostos por agentes competitivos, muitas vezes designados por egostas ( self-interested ). Os Sistemas Multi-Agente cooperativos so usualmente projectados por uma nica, ou eventualmente por mltiplas, mas no entanto interdependentes, entidades ou pessoas. Neste tipo de sistema, os agentes comportam-se de forma a incrementar a utilidade global do sistema e no a sua utilidade pessoal. Desta forma existe uma preocupao com o aumento do desempenho global do sistema e no do desempenho individual dos agentes. Nos Sistemas Multi-Agente compostos por agentes competitivos, cada agente projectado por um projectista distinto. Cada agente tem a sua prpria agenda e motivao. Os agentes no esto usualmente interessados no bem da comunidade mas sim, em obter a sua satisfao pessoal. Em cenrios que envolvam aquisio de bens ou servios, tais como o comrcio electrnico na Internet, este tipo de Sistema Multi-Agente muito mais realista.

3.6.4 Coordenao de Agentes Competitivos


Um problema bvio na coordenao e cooperao de agentes est relacionado com o atingir de acordos em sociedades de agentes competitivos. Este tipo de sociedade competitiva bastante comum entre os humanos. Todos os dias interagimos com agentes com quem no partilhamos objectivos comuns e em casos mais extremos a nica forma de lucrarmos pode ser custa dos nossos oponentes16. No entanto, em cenrios mais realistas tpico que os agentes partilhem pelo menos alguns objectivos, e existe geralmente alguma margem para que se possam atingir acordos que sejam mutuamente benficos. Alis, em geral, a capacidade para atingir acordos sem que exista uma terceira parte a ditar os termos, essencial em grande parte das aplicaes de agentes inteligentes autnomos. Desta forma, capacidades de negociao e argumentao so centrais na criao de agentes autnomos capazes de funcionar em sociedades de agentes que no partilhem necessariamente objectivos comuns. Sendo a negociao uma forma de coordenao por

16

Este tipo de encontro designa-se por encontro de soma-zero.

CAPTULO 3: SISTEMAS MULTI-AGENTE

81

excelncia para atingir acordos entre agentes competitivos, o captulo seguinte ir referir com maior detalhe a investigao realizada nesta rea. Embora a negociao desempenhe um papel primordial na coordenao em Sistemas Multi-Agente compostos por agentes competitivos, nas situaes em que um conjunto de agentes partilham objectivos comuns, a negociao no o mecanismo de coordenao mais aconselhvel. Nestes casos, a coordenao dos agentes pode ser realizada em grande parte por metodologias de cooperao uma vez que o conjunto de agentes partilha os mesmos objectivos e existem vantagens mtuas em cooperarem para os atingirem.

3.6.5 Coordenao de Agentes Cooperativos


O interesse em aplicaes de agentes em que agentes cooperativos trabalham em conjunto como equipas tem crescido significativamente nos ltimos anos. Cada vez mais agentes so construdos com o fim especfico de trabalharem como membros de equipas, em domnios tais como o treino virtual [Tambe, 1995], ambientes interactivos ou o futebol robtico [Kitano et al., 1997]. Diversas metodologias foram propostas na literatura da especialidade de forma a permitirem efectuar a coordenao de agentes cooperativos que realizam uma determinada tarefa em conjunto. De entre estas, destacam-se a resoluo distribuda e cooperativa de problemas [Durfee e Lesser, 1987], a coordenao por partilha de tarefas e resultados, coordenao por contratao [Smith e Davis, 1980], planeamento global parcial [Durfee, 1988] [Decker, 1995], intenes conjuntas [Cohen et al., 1990], planos partilhados [Grosz e Kraus, 1996] e locker-room agreement [Stone e Veloso, 1999]. Outras metodologias de coordenao mais gerais foram desenvolvidas e aplicadas em diversos domnios por diferentes autores. Exemplo disto so a coordenao por organizao estrutural, normas e leis sociais, conhecimento a priori e modelizao mtua. Um dos principais problemas da maioria das metodologias de coordenao propostas que a sua aplicao s possvel em domnios relativamente simples. De facto, poucas so as metodologias aplicadas com sucesso em domnios inacessveis, dinmicos, no determinsticos e contnuos. Estes tipos de domnios abertos tornam-se ainda mais complexos quando existe uma necessidade de coordenao espacial dos agentes envolvidos, ou seja, quando estes possuem capacidades de mobilidade, tal como em cenrios de guerra ou no futebol robtico. Desta forma, a criao de novas metodologias de coordenao de alto-nvel de equipas de agentes um tpico ainda pouco explorado dentro da investigao em coordenao em SMA.

82

CAPTULO 3: SISTEMAS MULTI-AGENTE

3.7 Concluses
Independentemente de serem colaboradores ou competidores, os agentes que formam um Sistema Multi-Agente iro interagir uns com os outros. Esta interaco no indesejada mas sim intrnseco ao prprio conceito de agente que pressupe a sociabilidade como forma de um agente atingir os seus prprios objectivos. As interaces pressupem que os agentes conheam os outros agentes presentes no ambiente ou, pelo menos, que estejam a par da sua existncia, ou seja, que os agentes sejam projectados como membros de uma sociedade multi-agente. No entanto, estas interaces tm de ser convenientemente coordenadas pois caso contrrio a sociedade de agentes pode degenerar numa sociedade completamente descoordenada e catica. Os dois captulos seguintes analisam as metodologias de coordenao, separando a coordenao de agentes competitivos das restantes metodologias de coordenao aplicveis essencialmente a agentes cooperativos. Esta diviso prende-se com o facto de a negociao em SMA ser uma metodologia aplicvel essencialmente em SMA compostos por agentes competitivos (egostas), sendo assim bastante diferente das restantes metodologias de coordenao aplicveis a agentes cooperativos.

You might also like