510 likes | 638 Views
Agentes Autónomos e Sistemas Multi-agente Agentes Reactivos e Híbridos IST- 2003/2004 Ana Paiva. Críticas aos Agentes Deliberativos. Rapidez na resposta em tempo real Comportamento racional pre-programado não está ligado adequadamente ao ambiente do agente
E N D
Agentes Autónomos e Sistemas Multi-agenteAgentes Reactivos e HíbridosIST- 2003/2004Ana Paiva
Críticas aos Agentes Deliberativos • Rapidez na resposta em tempo real • Comportamento racional pre-programado não está ligado adequadamente ao ambiente do agente • Os agentes não devem ser vistos sem as suas restrições corporais e de local onde o agente se encontra • Comportamento inteligente não deve ser programado mas deve emergir de comportamentos simples.
Agentes puramente reactivos • Alguns tipos de agentes decidem o que fazer sem qualquer referência ao seu historial. As suas decisões são situadas no ambiente e dependem simplesmente do presente. • São chamados agentes “puramente reactivos” • Do ponto de vista formal um agente puramente reactivo pode ser visto como uma função: Ag :E-> Ac (ou seja em vez de RE o agente decide simplesmente baseando-se em E).
Percepção/Acção Action : Per* -> Ac see : E -> Per See Action Agente Ambiente
“Elephants don’t play chess”- Rodney Brooks • Recusa da hipótese do sistema simbólico • Ideia: “O mundo é o meu melhor modelo”
Arquitectura de Subsumpção de Brooks Teses: • Comportamento inteligente pode ser gerado sem representações explícitas e sem recorrer a IA simbólica • Comportamento inteligente pode ser gerado sem qualquer tipo de raciocínio abstracto usado em IA clássica • A “inteligência” é uma propriedade emergente de certos sistemas complexos.
Ideia 1 Situação Acção
Ideia 2 Vários comportamentos podem disparar simultâneamente
Arquitectura de Brooks • Reflecte não uma decomposição funcional das suas componentes mas sim uma decomposição de comportamentos A estratégia de construção: ir dotando incrementalmente os agentes de mais comportamentos. Em cada passo de construção obtém-se um sistema mais ou menos completo (baseado numa máquina de estados finita).
Action selection na arquitectura de Brooks function: Action Selection in the Subsumption Architecture function action (p:P):A var fired: p(R) var selected: A Begin fired <- {(c,a) | (c,a) R and p c} for each (c,a) fired do if ( (c’,a’) fired such that (c’,a’) < (c,a)) then return a end-if end-for return null end function action
Desenvolvimento de Sistemas usando a arquitectura de Brooks • Cria-se um módulo relativamente a uma actividade em particular. Este módulo deverá ligar a percepção à acção e o sistema resultante funcionar por si. • Acrescentar mais componentes, cada um deles ligando a percepção à acção. Por cada componente junta, ajustar as prioridades dos comportamentos.
Exemplo: O explorador de Marte de L. Steels • Uso de 2 conceitos: • o campo de gradiente,- para os agentes saberem em que direcção a nave deles se encontra; • Comunicação directa entre agentes
Behaviours if detect an obstacle then change direction (1) if carrying samples and at the base then drop samples (2) if carrying samples and not at the base then travel up gradient (3) if detect a sample then pick sample up (4) if true then move randomly (5) 1< 2 < 3 < 4 < 5
Exemplo: Robot Genghis • Robot com seis pernas com aproximadamente 1 Kg. • Anda em terreno usando 12 motores, 12 sensores de força, e vários outros sensores. • Não existe sistema central de controlo nem memória (o controlo das pernas é feito cada uma por si... E portanto programada cada uma por si...) • Video.
Exemplos: • Vários robots foram feitos no grupo de R. Brooks segundo sempre a mesma aproximação. • Exemplo mais recente: Kismet (videos)
Limitações dos agentes reactivos • Alcance bastante limitado. • Como os agentes não usam modelos do ambiente, devem poder obter suficiente informação a cada instante para conseguirem determinar a melhor acção. • Não conseguem ter comportamentos orientados aos objectivos • São agentes difíceis de construir porque com pequenos comportamentos e regras que os relacionam é difícil prever o que vai resultar.
Motivação para as arquitecturas Híbridas • Os agentes necessitam de: • Realizar tarefas complexas • Tomar atenção às mudanças que ocorrem no ambiente e reagir em tempo real; • Ter em conta os seus recursos limitados (pelo que necessitam da colaboração de outros agentes para a execução das tarefas) Assim, se por um lado os agentes têm que necessariamente permanecer reactivos para sobreviver, por outro lado têm que tomar decisões estratégicas complexas e que a maioria das vezes são orientadas aos objectivos.
Arquitecturas Híbridas: Requisitos • Comportamento situado: os agentes devem reconhecer os eventos e reajir em tempo apropriadamente. • Comportamento orientado aos objectivos: os agentes devem seleccionar as suas acções baseando-se nos fins que desejam alcançar e os meios disponíveis para o fazer. • Eficiência- as tarefas devem ser executadas eficientemente , mesmo com constrangimentos de ordem temporal. • Coordenação: os agentes devem ser capazes de coordenar as suas actividades com os outros agentes.
Will Reactor
Arquitecturas Híbridas com níveis • As arquitecturas híbridas têm normalmente associados níveis: • Servem para estruturar as tarefas ou comportamentos dos agentes • Estão organizados hierarquicamente • Interagem uns com os outros de forma a atingir um comportamento geral do agente mais coerente Normalmente: níveis deliberativos e reactivos
Touring Machines • De Innes Fergunson em 1994 • 3 Níveis: nível reactivo; nível de planeamento e nível de modelação • Os três níveis operam concurrentemente e cada um deles está ligado ao subsistema sensorial do agente, do qual recebe informação, bem como ao subsistema de acção ao qual é possível enviar comandos de acção.
Touring Machines: Arquitectura Modelling layer Planning layer Action Subsystem Perception Subsystem Reactive layer Clock Context Activated Control-rules
Nível Reactivo • O Nível reactivo (R) foi desenhado para executar acções que são respostas específicas ao domínio e aos estímulos do ambiente. • Este nível dá ao agente a capacidade de reagir rapidamente em situações não planeadas pelos níveis superiores.
Nível de Planeamento • É responsável por gerar, executar e dinamicamente readaptar planos parciais • Estes planos destinam-se a atingir uma alocação de tarefas que o agente tem que executar a longo prazo. • Os planos são guardados como planos parciais hierárquicos, numa biblioteca de planos.
Nível de Modelação O nível de modelação contém a representação do mundo sob a forma de 4-tuplos <C,B,D,I> indexados a unidades de tempo. • C- configuração, descreve a localização do objecto, sua velocidade, aceleração etc. das entidades do ambiente; • B- conjunto de crenças atribuídas à entidade; • D- desejos, representados através de uma lista de objectivos e suas prioridades • I- um plano hierárquico que forma a estrutura de intenções.
Controlo das regras As regras de controlo (suppressor e censor) são construídas pelo programadar, tal que: • Pelo menos uma dispare numa dada situação • Pelo menos uma acção deve permanecer no subsistema de acção.
Regras Censor • Parte condicional: conjunções de expressões que testam a presença de objectos sensoriais particulares. • Parte de acção: é composta por operações para fazer com que objectos sensoriais não sejam colocados como input aos níveis de controlo. Regra censor-rule-1: if entity(obstacle-6) in perception-buffer then remove-sensory-entity(layer-R, entity(osbtacle-6))
Regras Suppressor • Parte condicional: com expressões que testam a presença de determinados comandos (acções do agente) • Parte da acção: é composta por operações que restringem a que certos comandos sejam executados pelos effectors do agente. rule suppressor-rule-3 : if action-command(layer-R, rule-6, change-orientation()) in action-buffer and current-intention(start-overtake) then remove-action-command(layer-R, change-orientation()) and remove-action-command(layer-M, _).
Aplicação da arquitectura • Em situações de simulação de robots com obstáculos: Touring world. • Foi desenvolvida uma ferramenta que permite a criação de certas configurações de agentes • A dinâmica do mundo é obtida através da utilização de um simulador de eventos, que incorpora um actualizador de mundos possíveis
InteRaP • Estende um conjunto de aproximações de construção de agentes por níveis introduzindo um nível de cooperação. • Dá ao desenhador dos agentes a possibilidade de construir níveis com comportamento reactivo e deliberativo, tal como as arquitecturas apresentadas anteriormente. • O modelo do agente em InterRaP é definido por um conjunto de níveis funcionais ligados por uma estrutura de controlo e partilhando uma based de conhecimentos hierárquica.
Arquitectura Cooperation Component CC Cooperation Knowledge Local Plans Plan-based Component PBC Patterns of Behaviour Behaviour Based Component BBC World Model Perception Communication Action ENVIRONMENT
Componentes da Arquitectura • WIF (World Interface) – contém as facilidades de percepção, acção e comunicação. • BBC- (Behaviour- Based Component) executa e controla o comportamento reactivo básico. Este comportamento é baseado em “patterns of behaviour” • PBC (Plan Based Component): contém um mecanismo de planeamento que permite o agente ter planos locais. Estes planos são baseados em esqueletos hierárquicos em que os nós podem ser sub-planos ou patterns of behaviour. Ou seja o PBC pode activar patterns of behaviour para atingir um determinado objectivo. • KB (Knowledge Base)- é uma estrutura hierarquicamente estruturada e é composta por quatro níveis, que básicamente correspondem à estrutura de controlo dos agentes. • CC (Cooperation Component): permite a cooperação entre agentes.
InteRRaP- Componente Baseada no Comportamento (BBC) • Objectivos • Incorporar as actividades reactivas do agente que permitem lidar com situações de emergência e de tempo real. • Dar ao agente conhecimento procedimental que lhe permite executar tarefas de rotina.
Patterns of Behaviour: Tipos Ligar situações a acções • Reactors: são activadas por eventos externos que causam a execução de uma acção por parte do agente (ex. Parar) • Control modifiers- extendem o controlo do planeador, fazendo uma chamada para cima para o PBC (ex. Treat_order) • Knowledge modifiers- mudam o estado interno do agente e são activadas por alterações do mundo detectadas pelo agente. • Procedures- executam acções especificadas pelo planeador.
Aspectos da BBC • Tem que reconhecer situações de emergência e responder rápidamente a essas situações. • A parte da base de conhecimento acessível à BBC é o modelo do mundo • O número de situações a serem reconhecidas neste nível é bastante limitado • Situações que não emparelham com nenhum padrão de comportamento causam um pedido ao PBC • Os compromissos feitos pelo PBC para executar procedimentos causam a activação de procedimentos no BBC.
Componente de Planeamento Incorpora as capacidades de planeamento do agente Funções principais são: (1) a obtençao de um plano para um dado objectivo e (2) controlar a execução desse plano. Componentes • PBC-control- faz a interface com BBC recebendo e enviando mensagens aos outros níveis. • Plan-generator- gera planos através da selecção de um conjunto de planos da biblioteca. • Plan-evaluator- é usado para seleccionar os melhores planos gerados.
Vantagens das arquitecturas Híbridas • Consegue responder em tempo real sem deixar de ter comportamento orientado aos objectivos. • A reactividade do agente pode ser previligiada enquanto em deliberação, ou seja o nível reactivo pode continuar a monitorar o mundo. • Se há tipos diferentes de partições do conhecimento do mundo é possível restringir a quantidade de conhecimento que cada nível requer individualmente.
Bibliografia da Aula • An Introduction to Multi-agent Systems, M. Wooldridge, John Wiley & Sons, 2002 • A Mente e o Mundo lá Fora, H. Coelho e A. Paiva. • Designing Autonomous Agents: Theory and Practice from Biology to Engineering and Back, Ed. P. Maes, MIT Press, 1990. • The Design of Intelligent Agents: a Layered Approach, Jörg Müller, Springer, 1996.