Você está na página 1de 9

Resumo An Introduction To Multi agent Systems - Wooldridge Captulo 5 Reactive and Hybrid Agents Disciplina de Sistemas Multi-agentes

Manoel Campos da Silva Filho

Introduo
Muitos problemas com propostas simblicas/lgicas para construo de agentes guia alguns pesquisadores para questionar, e ultimamente rejeitar, as suposies em que tais propostas so baseadas. Estes pesquisadores, na metade da dcada de 1980, comearam a investigar alternativas para o paradigma de IA simblica, tendo alguns temas como: a rejeio de representaes simblicas, e a tomada de deciso baseada em manipulao sinttica de tais representaes; a ideia de comportamento racional e inteligente visto como inatamente ligada ao ambiente que o agente ocupa o comportamento inteligente no desencorporado, mas produto da interao que o agente mantm com seu ambiente; a ideia de que comportamento inteligente emerge de interaes de vrios comportamentos mais simples.

Propostas alternativas para agentes so algumas vezes referidas como comportamentais (desenvolvimento e combinao de comportamentos individuais), situadas (agentes so situados em algum ambiente) e reativas (pois tais sistemas so frequentemente percebidos como simplesmente reagindo ao ambiente, sem raciocinar sobre ele).

5.1 Brooks e a Arquitetura de Classificao (Subsumption Architecture)


A arquitetura de classificao foi desenvolvida por Rodney Brooks. Ele tem proposto 3 teses chaves: 1. Comportamento inteligente pode ser gerado sem explcita representao do tipo que a IA simblica prope; 2. comportamento inteligente pode ser gerado sem raciocnio abstrato explcito do tipo que a IA simblica prope; 3. inteligncia uma propriedade emergente de certos sistemas complexos. Brooks tambm identificou duas ideias chaves: 1. Situamento e encorporamento: Inteligncia 'real' situada no mundo, no em sistemas desencorporados tal como provadores de teoremas ou sistemas especialistas. 2. Inteligncia e emergncia: Comportamento 'inteligente' surge como um resultado da interao do agente com seu ambiente.

1 de 9

Estas ideias foram feitas concretas na arquitetura de classificao. Existem duas definies caractersticas dessa arquitetura: 1. A tomada de deciso de um agente realizada atravs de um conjunto de comportamentos de cumprimento de tarefas; cada comportamento pode ser pensado como uma funo de ao individual, que continuamente toma entradas perceptivas e mapeia para uma ao a realizar. Cada um destes mdulos de comportamento objetivado para alcanar alguma tarefa particular. Na implementao de Brooks, os mdulos de comportamento so mquinas de estado-finito. assumido que estes mdulos de cumprimento de tarefas no incluem representao simblica complexa e no fazem raciocnio simblico. Em muitas implementaes, estes comportamentos so implementados como regras na forma situao ao, que simplesmente mapeia entradas perceptivas diretamente para aes. 2. Muitos comportamento podem disparar simultaneamente. Deve existir obviamente um mecanismo para escolher entre as diferentes aes selecionadas por estas mltiplas aes. Brooks props arranjar os mdulos em uma hierarquia de classificao, com os comportamentos arranjados em camadas. Camadas mais baixas na hierarquia so capazes de inibir camadas mais altas: quanto mais baixa uma camada , mais alta sua prioridade. A ideia que camadas mais altas representem comportamentos mais abstratos. Por exemplo, algum pode desejar um comportamento em um rob mvel para 'evitar obstculos'. Faz sentido dar uma maior prioridade a este comportamento. A funo see, que representa a habilidade perceptiva do agente, se mantm inalterada. Todavia, em sistemas de arquitetura de classificao implementados, assumido por ser bastante estreito o acoplamento entre percepes e aes entradas brutas de sensores no so processadas ou transformadas muito, e no existe tentativa de transformar imagens para representaes simblicas. A funo de deciso action realizada atravs de um conjunto de comportamentos, junto com uma relao de inibio mantida entre estes comportamentos. Um comportamento um par (c,a), onde c P um conjunto de percepes chamado de condio, e a A uma ao. Um comportamento (c, a) disparar quando o ambiente est no estado s S se e somente se see(s) c. Deixe Beh = {(c,a) | c P e a A} ser o conjunto de todas as tais regras. Associado ao conjunto de regras de comportamento do agente R Beh est uma relao de inibio binria no conjunto de comportamentos: < R x R. Esta relao assumida por ser uma ordenao total estrita em R (i.e., ela transitiva, irreflexiva e anti-simtrica). Ns escrevemos b1 < b2 se (b1, b2) <, e lido como 'b1 inibe b2', isto , b1 menor na hierarquia que b2, e ter maior prioridade sobre b2. A funo de ao ento como mostrada na figura 5.1.

2 de 9

Assim, a ao selecionada inicia computando o conjunto disparado de todos os comportamentos que disparam. Ento, cada comportamento (c,a) que dispara verificado, para determinar se existe algum outro comportamento de maior prioridade que dispara. Se no, ento a parte de ao do comportamento, a, retornada como a ao selecionada. Se nenhum comportamento dispara, ento null ser retornado. A complexidade de tempo total de uma funo de ao de classificao no pior que O(n2), onde n o maior do nmero de comportamento ou nmero de percepes. Desta forma, a tomada de deciso tratvel, podendo ser codificada em hardware, dando tempo de deciso constante, em at micro segundos. Esta simplicidade computacional a fora da arquitetura de classificao. Experimento de explorao de Marte de Steel Veremos como agentes da arquitetura de classificao foram construdos para o seguinte cenrio: O objetivo explorar um planeta distante, para coletar amostrar de um tipo de rocha. A localizao das amostras no conhecida previamente, mas so tipicamente agrupadas em certos pontos. Veculos autnomos so responsveis por fazer a coleta das amostras e levar para a nave me. No existe mapa detalhado do planeta, embora seja conhecido que o terreno seja cheio de obstculos, que previnem os veculos de trocar qualquer comunicao. O problema construir uma arquitetura de controle de agente para cada veculo, para que eles cooperem na coleta de amostras. Luc Steels props uma soluo baseada na arquitetura de classificao, usando um mecanismo que ele chamou de campo gradiente. Para que os agentes possam saber a localizao da nave me, esta emite um sinal de rdio. Como, obviamente, este sinal enfraquece medida que a distncia a partir da origem aumenta, para encontrar a direo da nave me, um agente s precisa viajar acima do gradiente da fora do sinal, ou seja, na direo em que a fora do sinal aumenta. Steels props tambm um mecanismo para permitir a comunicao entre os agentes. As caractersticas do terreno impedem comunicao direta, assim, Steels adotou um mtodo de comunicao indireta, semelhante ao que fazem as formigas. Os agentes marcam uma trilha deixando migalhas de material radioativo, que podem ser detectadas por outros agentes, permitindo cooperao. O comportamento individual de um agente construdo a partir de um nmero de comportamentos, como descrevemos acima. Para agentes individuais (no cooperativos), o comportamento de mais baixo nvel (logo, com mais alta prioridade) evitar obstculos, podendo ser representado como uma regra: se detectou um obstculo ento mudar direo; (5.1) O segundo comportamento garante que as amostras coletadas sejam depositadas na nave me: se transportando amostras e est na base ento depositar amostrar; (5.2) se transportando amostras e no est na base ento viajar acima do gradiente; (5.3) O comportamento (5.3) indica para seguir o sinal at a origem. O prximo comportamento garante que os agentes coletaro amostras que encontrarem: se detecta uma amostra ento colet-la; (5.4) O ltimo comportamento garante que um agente que no tem nada melhor para fazer, ir explorar o terreno aleatoriamente: se true ento mover aleatoriamente; (5.5) A pr condio desta regra assumida por sempre disparar (true). Estes comportamentos so arranjados 3 de 9

na seguinte hierarquia: mais prioritrio (5.1) (5.2) (5.3) (5.4) (5.5) menos prioritrio

A hierarquia de classificao para este exemplo garante que, por exemplo, um agente sempre mudar de direo ao encontrar um obstculo; se o agente est na nave me e est carregando amostras, ele sempre ir deposit-las na nave, se ele no est imediatamente em perigo de coliso; e assim por diante. O comportamento de mais alto nvel mover aleatoriamente s ir ocorrer se o agente no tiver nada mais urgente pra fazer. Este conjunto de comportamentos simples resolve o problema. Se as amostras estivessem espalhadas aleatoriamente, colocar vrios robs no terreno ir funcionar muito bem. No nosso exemplo, as amostras tendem a estarem agrupadas. Neste caso, faz sentido os agentes cooperarem uns com os outros para encontrar amostras. A entra a ideia da marcao da trilha com migalhas de material radioativo, como ocorre com as formigas, que lanam feromnio para marcar uma trilha. A trilha deve ser criada quando um agente retorna para a nave me com amostras. Algumas melhorias podem ser introduzidas. A trilha s ser colocada se o agente estiver voltando com amostras para a nave me. Quando um agente seguir a trilha e no encontrar mais amostras, ele reduzir a trilha no caminho de volta, at que ela suma, evitando que os agentes sigam uma trilha para uma local sem amostras. Os comportamentos modificados para este exemplo so como segue: se transportando amostras e est na base ento depositar amostras; (5.6) se transportando amostras e no est na base ento deixar 2 migalhas e viajar acima do gradiente; (5.7) Um comportamento adicional requerido para tratar com migalhas: se percebeu migalhas ento pega 1 e viajar abaixo do gradiente; (5.8) Os comportamentos so arranjados na seguinte hierarquia de classificao: mais prioritrio (5.1) (5.6) (5.7) (5.4) (5.8) (5.5) menos prioritrio

Steels mostrou como este simples ajuste alcana performance prxima de tima em muitas situaes. Alm do mais, uma soluo barata (o poder computacional para cada agente mnimo) e robusta (a perda de um nico agente no afetar significantemente todo o sistema). Agre e Chapman - PENGI Chapman e Agre chegaram a concluses similares as de Brooks sobre a inadequabilidade do modelo de IA simblica. Agre observou que a maioria das atividades do dia-a-dia so rotina, no sentido de que elas requerem pouco se algum novo raciocnio abstrato. A maioria das tarefas, uma vez aprendidas, podem ser cumpridas de uma forma rotineira, com pouca variao. Agre props que uma arquitetura eficiente de agentes poderia ser baseada na ideia de 'argumentos de execuo' (running arguments). Grosseiramente, a ideia que, como a maioria das decises so rotina, eles podem ser codificadas em uma estrutura de baixo nvel (como circuitos digitais), que somente precisa periodicamente ser atualizada, talvez para gerenciar novos tipos de problemas. Esta proposta foi ilustrada com o celebrado sistema PENGI, um jogo de computador simulado, com o personagem central controlado usando um esquema tal como esboado acima.

4 de 9

Rosenschein e Kaelbling automato situado Rosenschein e Kaelbling observaram que somente porque um agente conceituado em termos de lgica, ele no precisa ser implementado como um provador de teoremas. No paradigma do automato situado, um agente especificado em termos declarativos, sendo compilado para uma mquina digital. A lgica usada para especificar um agente essencialmente a lgica de conhecimento: [Um agente] x dito por portar a informao que p no estado do mundo s, escrito como s |= K(x,p), se para todos os estados do mundo em que x tem o mesmo valor como ele tem em s, a proposio p verdadeira. Um agente especificado em termos de dois componentes: percepo e ao. Dois programas so usados para sintetizar agentes: RULER usado para especificar o componente de percepo do agente; GAPPS usado para especificar o componente de ao. RULER toma como sua entrada 3 componentes: [Uma] especificao da semntica das entradas [do agente] ('a qualquer momento que o bit 1 est ligado, est chovendo'); um conjunto de fatos estticos ('a qualquer momento que esteja chovendo, o cho est molhado'); e uma especificao das transies de estado do mundo ('se o cho est molhado, ele ficar molhado at que o sol aparea'). O programador ento especifica a semntica desejada para a sada ('se este bit est ligado, ento o cho est molhado'), e o compilador [sintetiza] um circuito do qual a sada ter a semntica correta. Todos aqueles 'conhecimentos' declarativos so reduzidos para um circuito muito simples. O programa GAPPS toma como sua entrada um conjunto de regras de reduo de objetivo (essencialmente, regras que codificam informaes sobre quais objetivos podem ser alcanados) e um objetivo de alto nvel, e gera um programa que pode ser traduzido em um circuito digital para realizar o objetivo. Novamente, o circuito gerado no representa ou manipula expresses simblicas; todas as manipulaes simblicas so feitas em tempo de compilao.

Maes agent network architecture (Arquitetura de Rede de Agentes) Pattie Maes desenvolveu uma arquitetura de agentes em que um agente definido como um conjunto de mdulos de competncia. Cada mdulo especificado em termos de pr e ps condies, e um nvel de ativao, que d uma indicao de valor real da relevncia do mdulo em uma situao particular. Quanto mais alto o nvel de ativao de um mdulo, mais provavelmente este mdulo influenciar o comportamento do agente. Uma vez especificado, um conjunto de mdulos de competncia compilado em uma rede de ativao de propagao, em que os mdulos so relacionados uns com os outros por meio de suas pr e ps condies. Por exemplo, se um mdulo a tem uma ps condio , e um mdulo b tem uma pr condio , ento a e b esto conectados por um link sucessor.

5.2 As limitaes dos Agentes Reativos


Existe uma bvia vantagem para propostas reativas como a arquitetura de classificao de Brooks: simplicidade, economia, tratabilidade computacional, tolerncia a falhas e elegncia. Mas existem alguns problemas fundamentais no resolvidos, no apenas com a arquitetura citada, mas com outras arquiteturas puramente reativas: 5 de 9

Se agentes no empregam modelos em seu ambiente, ento eles devem ter informaes suficientes disponveis em seus ambientes locais para determinar uma ao aceitvel. Desde que agentes puramente reativos tomam decises baseados em informaes locais (i.e. informaes sobre o estado atual dos agentes), difcil ver como tal tomada de deciso pode tomar em conta informaes no locais ele deve herdadamente tomar uma viso de 'curto prazo'. difcil ver como agentes puramente reativos podem ser projetados para aprender a partir da experincia, e melhorar sua performance com o tempo. Enquanto agentes efetivos podem ser gerados com um pequeno nmero de comportamentos (tipicamente menos de 10 camadas), mais difcil de construir agentes que contm muitas camadas. A dinmica das interaes entre os diferentes comportamentos se torna muito complexo de entender.

5.3 Agentes Hbridos


Dado o requisito de um agente ser capaz de ter comportamento reativo e proativo, uma bvia decomposio envolve criar separados subsistemas para tratar estes diferentes tipos de comportamentos. Esta ideia guia para a classe de arquiteturas em que vrios subsistemas so arranjados em uma hierarquia de camadas interagindo.

Figura 5.2 Fluxos de informao e controle em 3 tipos de arquiteturas de agentes em camadas. Tipicamente, existir pelo menos duas camadas, para tratar com comportamentos reativos e proativos, respectivamente. Podemos especificar dois tipos de fluxo de controle dentro da arquitetura de camadas como segue (veja figura 5.2). Camadas horizontais: (figura 5.2a) as camadas de software esto cada uma diretamente conectadas entrada sensorial e a sada de ao. Assim, cada camada atua como um agente, produzindo sugestes como qual ao realizar. Camadas verticais: (figuras 5.2 b,c) a entrada sensorial e sada de ao so cada uma tratadas por pelo menos uma camada. A arquitetura em camadas horizontais conceitualmente mais simples: se um agente precisa de n 6 de 9

diferentes tipos de comportamentos, ento implementamos n diferentes camadas. Todavia, como as camadas esto competindo para gerar sugestes de aes, h perigo de que o comportamento total do agente no seja coerente. Para garantir a consistncia, geralmente includa uma funo mediadora, que toma decises sobre que camada tem o 'controle' do agente em um dado instante. Esta necessidade de controle central problemtica: um projetista deve potencialmente considerar todas as possveis interaes entre as camadas. Se existem n camadas, e cada uma capaz de sugerir m possveis aes, isto significa mn interaes a serem consideradas. O controle centralizado tambm cria um gargalo na tomada de deciso do agente.

Figura 5.3 Mquina de Touring: uma arquitetura de agentes em camadas horizontais Este problemas so parcialmente aliviados em uma arquitetura de camadas verticais. Estas podem ser divididas em: arquiteturas de um-passo (figura 5.2b): o controle flui sequencialmente atravs de cada camada, at a camada final gerar uma sada de ao. arquiteturas de dois-passos (figura 5.2c): as informaes fluem acima na arquitetura (o primeiro passo) e controle ento flui abaixo. similar ao fluxo de informaes em uma empresa, com informaes fluindo para o mais alto nvel e comandos descendo.

Nos dois modelos de um-passo e dois-passos, a complexidade das interaes entre as camadas reduzido: existindo n-1 interfaces entre as n camadas, se uma camada capaz de sugerir m aes, existe no mximo m2(n-1) interaes para serem consideradas entre as camadas. Isto mais simples que na arquitetura horizontal de camadas. Esta simplicidade vem com o custo de alguma perda de flexibilidade: para tomar uma deciso, no modelo vertical, o controle deve passar entre cada camada, o que no tolerante a falhas.

7 de 9

5.3.1 Mquinas de Touring A arquitetura das Mquinas de Touring demonstrada na figura 5.3. Elas consistem de 3 camadas de produo de atividades. Cada camada continuamente produz 'sugestes' sobre que aes o agente deve realizar. A camada reativa prov uma resposta quase imediata a mudanas que ocorrem no ambiente. Ela implementada como um conjunto de regras situao-ao, como os comportamentos na arquitetura de classificao de Brooks (seo 5.1). Estas regras mapeiam entradas do sensor diretamente para sada do executor. Um cenrio de demonstrao foi de um veculo autnomo dirigindo em ruas com outros agentes similares. Neste cenrio, regras reativas tipicamente tratam com funes como evitar obstculos. Por exemplo, podemos ter uma regra para evitar o meio fio. Se a regra for disparada, a mesma sugere uma mudana de orientao. As regras somente podem fazer referncia para o estado atual do agente elas no podem fazer nada explicitamente raciocinando sobre o mundo. A camada de planejamento da Mquina de Touring alcana o comportamento proativo do agente. Ela especialmente responsvel pela execuo do dia-a-dia do agente sobre circunstncias normais, ela ser responsvel por decidir o que o agente far. Todavia, ela no tenta gerar planos do zero, ela usa uma biblioteca de 'esqueletos' (skeletons) de planos chamados esquemas (schema's). Estes esqueletos so essencialmente planos estruturados hierarquicamente, que a Mquina de Touring elabora em runtime, para decidir o que fazer. Para alcanar um objetivo, esta camada tenta encontrar um esquema na sua biblioteca que corresponda com o objetivo. Este esquema conter sub-objetivos, que a camada de planejamento elabora tentando encontrar outros esquemas, na sua biblioteca, que correspondam com esses sub-objetivos. A camada de modelagem representa as vrias entidades no mundo (incluindo o prprio agente e outros agentes). Ela prediz conflitos entre agentes, e gera novos objetivos para serem alcanados, visando resolver esses conflitos. Estes novos objetivos so ento enviados de volta camada de planejamento, que usa sua biblioteca de planos para determinar como satisfaz-los. As 3 camadas de controle so embutidas em um sub-sistema de controle, que efetivamente responsvel por decidir qual das camadas tem controle sobre o agente. Este sub-sistema de controle implementado como um conjunto de regras de controle.

Figura 5.4 InteRRaP Uma arquitetura de agentes em camadas verticais de dois-passos

8 de 9

5.3.2 InteRRaP A InteRRaP um exemplo de arquitetura de agentes de camadas verticais de dois-passos. Como a figura 5.4 mostra, existem 3 camadas de controle, como nas Mquinas de Touring. As camadas mais baixas (baseadas em comportamento) tratam com comportamento reativo; a do meio (planejamento local) trata com planejamento do dia-a-dia para alcanar os objetivos do agente, e a mais acima (planejamento cooperativo) tratam com interaes sociais. Cada camada tem associada a ela uma base de conhecimento (Knowledge Base-KB), i.e., uma representao do mundo apropriada para a camada. Estas diferentes bases de conhecimento (KB) representam o agente e seu ambiente em diferentes nveis de abstrao. Assim, a base de conhecimento de mais alto nvel representa os planos e aes dos outros agentes no ambiente; a KB do meio representa os planos e aes do prprio agente; e a KB do nvel mais baixo representa informaes 'brutas' sobre o ambiente. A introduo dessas KB distingue as Mquinas de Touring do InteRRaP. A forma como as camadas do InteRRaP conspiram para produzir comportamento tambm um pouco diferente das Mquinas de Touring. A principal diferena a forma como as camadas interagem com o ambiente. Nas Mquinas de Touring, cada camada era diretamente acoplada para uma entrada perceptiva e uma sada de ao. Isto necessitou a introduo de um framework de controle de superviso, para tratar conflitos e problemas entre as camadas. Na InteRRaP, camadas interagem umas com as outras para alcanar o mesmo fim. Os dois principais tipos de interao so: ativao bottom-up: ocorre quando uma camada mais baixa passa o controle para uma mais alta devido ela no ser competente para tratar a situao atual; execuo top-down: ocorre quando uma camada mais alta faz uso das facilidades providas por uma camada mais baixa para alcanar seus objetivos.

O fluxo bsico de controle na InteRRaP comea quando uma entrada perceptiva chega na camada mais baixa. Se a camada reativa puder tratar a entrada, ento ela far; seno, ativao bottom-up ocorrer, e o controle ser passado para a camada de planejamento local. Se ela puder gerenciar a situao, ento ela far, tipicamente usando a execuo top-down. De outra forma, ela usar a ativao bottom-up para passar o controle para a camada mais alta. Desta forma, o controle em InteRRaP ir fluir a partir da camada mais baixa para a mais alta e ento voltar. Cada camada implementa duas funes gerais: funo de reconhecimento de situao e ativao de objetivo: mapeia uma base de conhecimento (KB) e objetivo atual para um novo conjunto de objetivos; funo de planejamento e agendamento: seleciona qual plano a executar, baseado nos planos atuais, objetivos e KB da camada.

9 de 9

Você também pode gostar