Professional Documents
Culture Documents
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
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.
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).
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
[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.
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
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
54
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;
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.
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
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.
57
Recepo de Mensagens
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
Agente 2
Agente Facilitador 1
Agente Facilitador 2
Agente n+2
Agente 3
Agente n
Agente m
a) Comunicao Directa
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.
60
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.
61
perdida ao longo do dilogo. Caso contrrio, uma mensagem pode ser interpretada de forma totalmente errada.
62
agentes do sistema.
63
Receptor(es); Linguagem utilizada; Funes de codificao e descodificao da linguagem; Aces que o receptor deve executar.
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
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
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.
66
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
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].
68
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
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
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.
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
71
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
Grau de Descentralizao
Aprendizagem
Aprendizagem
Interaco Envolvimento
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
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:
74
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.
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].
76
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.
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;
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.
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
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
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
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.
16
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.
82
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.