agentes autónomos e sistemas multi-agente (ud3 e 4) agentes reactivos e híbridos ist- 2004/2005

Post on 17-Apr-2015

110 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Agentes Autónomos e Sistemas Agentes Autónomos e Sistemas Multi-agenteMulti-agente

(UD3 e 4) Agentes Reactivos e (UD3 e 4) Agentes Reactivos e HíbridosHíbridos

IST- 2004/2005IST- 2004/2005

Críticas aos Agentes Deliberativos

Rapidez na resposta em tempo real <-> representação simbólica e processo de decisão (manipulação sintática)

Nova abordagem: Ideias base

Comportamento racional está ligado ao ambiente do agente e à interacção do agente com o ambiente

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 da interacção de comportamentos simples.

Designações

Comportamental – combinar comportamentos individuais (evitar obstáculos, explorar o mundo, etc.)

Situada – agentes estão situados no ambiente

Reactiva – reagir ao ambiente sem raciocínio sobre ele

Agentes puramente reactivosAgentes 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çãoPercepção/Acção

Ambiente

See Action

Agente

see : E -> Per Action : Per* -> Ac

““Elephants don’t play chess”- Elephants don’t play chess”- Rodney BrooksRodney Brooks

Recusa da hipótese do sistema simbólico

Ideia: “O mundo é o meu melhor modelo”

- Observar a evolução das formas de vida na terra:

- no início comportamentos simples.- gradualmente vão sendo acrescentados

novos comportamentos cada vez mais sofisticados.

Arquitectura de “Subsumpção” de Arquitectura de “Subsumpção” de BrooksBrooks

Teses:

1. Comportamento inteligente pode ser gerado sem representações explícitas e sem recorrer a IA simbólica

2. Comportamento inteligente pode ser gerado sem qualquer tipo de raciocínio abstracto usado em IA clássica

3. A “inteligência” é uma propriedade emergente de certos sistemas complexos.

Arquitectura de “Subsumpção” de Arquitectura de “Subsumpção” de BrooksBrooks

Requisitos:

1. Lidam com múltiplos objectivos (ir para + evitar obstáculos, etc.)

2. Múltiplos sensores (errados, conflitos)

3. Robustos (falhas, mudanças no ambiente)

Ideias

Situado no mundo e não em sistemas não situados como sistemas de raciocínio (“theorem provers”) ou periciais

Inteligência é característica emergente da interacção com o ambiente

Ideia 1Ideia 1

Situação Situação Acção Acção

• O processo de decisão é baseado num O processo de decisão é baseado num conjunto de comportamentos de realização de conjunto de comportamentos de realização de tarefas que recebem percepções e os mapeiam tarefas que recebem percepções e os mapeiam numa acção numa acção

• Cada módulo faz uma determinada tarefa, sem Cada módulo faz uma determinada tarefa, sem representação simbólica – regras (s,a)representação simbólica – regras (s,a)

Vários comportamentos podem Vários comportamentos podem disparar simultâneamentedisparar simultâneamente

Têm de existir mecanismos de selecção entre Têm de existir mecanismos de selecção entre diferentes acções - camadasdiferentes acções - camadas

Ideia 2Ideia 2

Arquitectura de BrooksArquitectura de Brooks

Construir mapas, monitorizar mudanças, identificar objectos, planear mudanças, raciocinar sobre o comportamento de objectos, etc.

Sensores EfectoresEXPLORAR

VAGUEAR

EVITAR

Política de controle

Camada de comportamentos

Arquitectura de BrooksArquitectura 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).

Desenvolvimento de Sistemas Desenvolvimento de Sistemas usando a arquitectura de Brooksusando a arquitectura de Brooks

1. 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.

2. Acrescentar mais componentes, cada um deles ligando a percepção à acção. Por cada componente junta, ajustar as prioridades dos comportamentos.

3. As camadas de baixo podem impedir as camadas de cima de tentar controlar o comportamento, suprimindo inputs e inibindo outputs (maior prioridade)

ModeloModelo

see – o input do sensor não é “tratado” - não se tenta representação simbólica

action – • processo de decisão = conjunto de comportamentos + função de

inibição

• comportamento (c, a)- c é conj. de percepções (condição)- a é uma acção- Dispara quando no estado s, see(s) c

• Beh é um conjunto de comportamentos• Relação binária de inibição, < C RXR (relação de

ordem total e estrita)r1< r2 < r3 < r4 < r5

(r1 tem prioridade)

Action selection na Action selection na arquitectura de Brooksarquitectura de Brooks

function: Action Selection in the Subsumption Architecture

function action (p:P):Avar fired: p(R)var selected: ABegin

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 nullend function action

Exemplo: O explorador Exemplo: O explorador de Marte de L. Steelsde Marte de L. Steels

Explorar planeta distante e colher amostras de uma rocha preciosa particular que não se sabe onde se encontra.

Vários veículos autonomos, não há mapa Uso de 2 conceitos:

• o campo de gradiente,- para os agentes saberem em que direcção a nave deles se encontra; enfraquece com a distância

• Comunicação entre agentes – não há comunicação directa!

• Mas podem deixar migalhas radioactivas e apanhá-las. E conseguem detectá-las.

““Behaviours”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

Mas se as amostras tendem a estar numa mesma localização?

NOTA: não há comunicação directa!

““Behaviours”Behaviours”

Mas se as amostras tendem a estar numa mesma localização?

Deixar rasto!! (como as formigas)

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 drop 2 crumbs and travel up gradient(3)

if detect a sample then pick sample up(4)

if sense crumbs then pick 1 crumb and travel down gradient (5)

if true then move randomly (6)

Exemplo: Robot GenghisExemplo: 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:Exemplos:

Vários robots foram feitos no grupo de R. Brooks segundo sempre a mesma aproximação.

Exemplo mais recente: Kismet

<<<< VIDEOS de Kismet >>>>>

Outros trabalhosOutros trabalhos

PENGI – Agre& Chapman- A maior parte das nossas acções são de rotina – não

requerem raciocínio abstracto – podem ser codificadas nas camadas inferiores da estrutura e só são actualizadas para atacar problemas mais complexos

GAPPS - Primeiro estudo formal (rep declarativa), depois

compilado numa máquina digital que segue a especificação

Maes – - Modulos+rede de activação - activação sucessiva

dos módulos ligados através das pré-condições e das pós-condições (estilo STRIPS)

Limitações dos Limitações dos agentes reactivosagentes 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 – não suportam raciocínio explícito

São agentes difíceis de construir porque com pequenos comportamentos e regras que os relacionam é difícil prever o que vai resultar (ad-hoc).

Não é claro a sua escalabilidade, difícil predizer ou explicar

Não se consegue estudar propriedades formais

Motivação para as arquitecturas Motivação para as arquitecturas HíbridasHíbridas

Os agentes necessitam de:• Realizar tarefas complexas• Tomar atenção às mudanças (esperadas e não)

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: RequisitosArquitecturas 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.

Arquitecturas Híbridas com níveisArquitecturas 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

> pelo menos 2!!

Arquitecturas Híbridas com níveisArquitecturas Híbridas com níveis

Horizontal

- Cada camada “é como um agente”- Vantagens: Simplicidade- Desvantagens: comportamento global pode não ser

coerente > - mediador que decide qual a camada que controla o agente

num dado instante

- dificil de construir mn interacções, m= acções, n=níveis

- bottleneck

P input action

Arquitecturas Híbridas com níveisArquitecturas Híbridas com níveis Vertical (1 passo) Vertical (2 passos – como as organizações –

info+comandos)

P input

action

actionP input

Arquitecturas Híbridas com níveisArquitecturas Híbridas com níveis Mais simples (m2 (n-1)) mas mais inflexivel

- – tem de passar por todas as camadas para haver uma decisão – não é tolerante a faltas!!

P input

action

actionP input

Touring MachinesTouring 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.

Qualquer nível pode comunicar com os restantes

Touring Machines: ArquitecturaTouring Machines: Arquitectura

Modelling layer

Planning layer

Reactive layer

Perception Subsystem Action Subsystem

Clock

Context Activated Control-rules

TM: Nível ReactivoTM: 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.

Implementada como os Behaviours = conj regras (c,a) Regras só podem referir o estado corrente do agente

Rule-1: kerb-avoidance if is-in-front(kerb, observer) and

speed(observer) > 0 andseparation(kerb, observer) < kerb-threshhold

then change-orientation(kerb-avoidance-angle)

Este nível dá ao agente a capacidade de reagir rapidamente em situações não planeadas pelos níveis superiores.

TM: Nível de PlaneamentoTM: Nível de Planeamento

É responsável pelo comportamento proactivo (decide o que fazer): por gerar, executar e dinamicamente readaptar planos parciais da biblioteca

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.

TM: Nível de ModelaçãoTM: Nível de Modelação

Representa conhecimento sobre entidades do mundo inc. agente

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.

TM: Controlo das regrasTM: Controlo das regras

Decide quais as camadas que devem controlar o agente

Composta por um conjunto de regras de controlo

As regras de controlo (suppressor e censor) são construídas pelo programador, tal que:

- Pelo menos uma dispare numa dada situação (bottleneck)

- Pelo menos uma acção deve permanecer no subsistema de acção.

TM: Regras CensorTM: 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(obstacle-6))

Embora a camada reactiva seja apropriada para evitar obstáculos há alguns obst que é melhor serem tratados noutras camadas

TM: Regras SuppressorTM: 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 TMAplicação da arquitectura TM

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

InteRRapInteRRap

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 a arquitectura apresentada anteriormente.

Tem uma arquitectura vertical de 2 passos O modelo do agente em InterRaP é definido por um

conjunto de níveis funcionais ligados por uma estrutura de controlo e partilhando uma base de conhecimentos hierárquica.

InteRRap:InteRRap: Arquitectura Arquitectura

Cooperation Knowledge

LocalPlans

WorldModel

Cooperation Component CC

Plan-basedComponent PBC

Behaviour BasedComponent BBC

Action Communication Perception

ENVIRONMENT

World Interface

Componentes da ArquitecturaComponentes 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. Kb´s representação do mundo apropriada a cada nível

CC (Cooperation Component): permite a cooperação entre agentes – interacção social.

Knowledge BaseKnowledge Base

Nível de Cooperação – conhecimento sobre os outros agentes, objectivos conjuntos, intensões conjuntas, estado de planos conjuntos

Nível de Planos Locais – conhecimento sobre si mesmo incluindo sobre os planos, intensões, acções etc. do próprio agente

Nível Modelo do Mundo – informação “pura” sobre o ambiente

A divisão/organização hierárquica da KB distingue InteRRaP da TouringMachines

InteRRap: Componente Baseada InteRRap: Componente Baseada no Comportamento (BBCno 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.

InteRRap:InteRRap: Patterns of Behaviour: Patterns of Behaviour: TiposTipos

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.

InteRRap: Aspectos da BBCInteRRap: 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.

Aplicação: the Loading DockAplicação: the Loading Dock

Aplicação: conflictosAplicação: conflictos

Aplicação: criação de Plans of Aplicação: criação de Plans of Behaviour (PoBs)Behaviour (PoBs)

Aplicação: criação de PoBsAplicação: criação de PoBs

InteRRap: Componente de InteRRap: Componente de PlaneamentoPlaneamento

Incorpora as capacidades de planeamento do agente

Funções principais são: (1) a obtenção 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.

InteRRap: Interacção entre InteRRap: Interacção entre camadascamadas

Activação bottom-up/top-down execution

As percepções começam a ser tratadas na camada reactiva. Se esta não a conseguir tratar vai passando essa informação para cima até que ela possa ser tratada.

Depois as acções vão sendo enviadas das camadas mais altas para as mais baixas

InteRRap: Geral camadasInteRRap: Geral camadas

Qualquer camada define duas funções:

1- situation recognition & goal activation

(KBL, current goals) > new goals

2- planning and scheduling

(current plans, goals, KBL > plan to execute

Aplicação: robotsAplicação: robots

Vantagens das arquitecturas Vantagens das arquitecturas HíbridasHíbridas

Abordagem mais em voga neste momento Consegue responder em tempo real sem deixar de ter

comportamento orientado aos objectivos. A reactividade do agente pode ser privilegiada 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.

Desvantagens das arquitecturas Desvantagens das arquitecturas HíbridasHíbridas

Falta a clareza semântica e conceptual das abordagens em camadas.

As interacções entre camadas: podemos ter de analisar todas as possíveis interacções entre camadas para produzir o comportamento final/resultante

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.

World InterfaceWorld Interface

World InterfaceWorld Interface

Acções que o agente pode executar

Knowledge BaseKnowledge Base

InteRRap: “Patterns of Behaviour”InteRRap: “Patterns of Behaviour”

InteRRap: ControloInteRRap: Controlo

Aplicação: the Loading DockAplicação: the Loading Dock

top related