Agentes Autónomos e Sistemas
Multi-agente
(UD3 e 4) Agentes Reactivos
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 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
Ambiente
See Action
Agente
“Elephants don’t play
chess”-Rodney 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
Brooks
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
Arquitectura de “Subsumpção” de
Brooks
Requisitos
:1. Lidam com múltiplos objectivos (ir para + evitar
obstáculos, etc.)
2. Múltiplos sensores (errados, conflitos)
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 1
Situação
Acção
• O processo de decisão é baseado num
conjunto de comportamentos de realização de tarefas que recebem percepções e os mapeiam numa acção
• Cada módulo faz uma determinada tarefa, sem
Vários comportamentos podem
disparar simultâneamente
Têm de existir mecanismos de selecção entre diferentes acções - camadas
Arquitectura de Brooks
Construir mapas, monitorizar mudanças, identificar objectos, planear mudanças, raciocinar sobre o comportamento de objectos, etc.
S ensores Efectores EXPLORAR VAGUEAR EVITAR P olítica de controle Camada de comportamentos
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).
Desenvolvimento de Sistemas
usando 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)
Modelo
see – o input do sensor não é “tratado” - não se tenta representaçãosimbó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
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
Exemplos
Exemplo: O explorador
de 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
“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”
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)
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...)
Exemplos:
Vários robots foram feitos no grupo de R. Brooks segundo
sempre a mesma aproximação.
Exemplo mais recente: Kismet
<<<< VIDEOS de Kismet >>>>>
http://video.google.com/videosearch?q=Kismet&hl=en&emb=0&aq=-1&oq=#q=Kismet+robot&hl=en&emb=0
Outros 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
Conclusões
As arquitecturas recativas continuam a ser uma forma fácil de
construir agentes simples (e como veremos mais tarde são adaoptadas em muitas situações)
Para situações mais complexas, há necessidade de modelos