Agentes Autónomos e Sistemas Multi-agente (UD3 e 4) Agentes Reactivos e Híbridos IST- 2004/2005.

Slides:



Advertisements
Apresentações semelhantes
Renata S.S. Guizzardi Inteligência Artificial – 2007/02
Advertisements

Os Sistemas Multi-agente Viviane Torres da Silva
Rational Unified Process
Fundamentos de Engenharia de SW
Teste de Software.
(Unified Modeling Language)
Críticas aos Agentes Deliberativos
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
SAD - SISTEMA DE APOIO À DECISÃO Prof. Wagner Andrade
Linguagens de Modelagem para SMA
Viviane Torres da Silva
Mutação de Interface Interface Mutation: An Approach for Integration Testing Marcio E. Delamaro José C. Maldonado Aditya P. Mathur.
Os Sistemas Multi-agente Viviane Torres da Silva
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Agentes Inteligentes Introdução.
Sistemas Baseados em Agentes
Modelos Baseados em Agentes
Metodologias Orientadas a Agentes
Sistemas Multiagentes Cognitivos
1.Consciência (Chalmers,1997)
SIMULAÇÃO EM COMPUTADOR: O PENSAMENTO COMO PROCESSAMENTO DE INFORMÇÕES
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
A modelação de sistemas enquanto ferramentas cognitivas.
Engenharia Concorrente
Contratos Modelagem Funcional.
Software de Rede Willamys Araújo.
Futebol: uma questão de tempo real? Sistemas de Tempo Real Hugo Santos (27621) Pedro Mónica (25330)
DEPARTAMENTALIZAÇÃO.
Introdução aos Agentes Autónomos (UD2) Teorias de Agentes e Agentes Deliberativos IST- 2003/2004.
Arquiteturas de Referência
Motor Schemas Luís Paulo, n.º Um pouco de história Método do Teorema de Esquemas: –Século XVIII; –Immanuel Kant; –Modelo filosófico para a explicação.
Gestão de Redes e Sistemas Distribuídos Teresa Maria Vazão Fevereiro 2003 IST/INESC Contactos:IST/Tagus-Park Tel:
Introdução aos Agentes Autónomos Teorias de Agentes IST- 2003/2004 Ana Paiva.
Gestão de Redes e Sistemas Distribuídos Teresa Maria Vazão Julho 2005 Ferramentas de Gestão Plataformas de Gestão IST/INESC-ID Contactos: IST/Tagus-Park.
Análise e Projeto de Sistemas
Planejamento e Solucionamento de Problemas Distribuídos
MÓDULO 10 Planeamento Anual e Estratégico
OS MODELOS O modo de implementação do trabalho de projecto, como metodologia de aprendizagem tem sido objecto de várias aproximações que se centram em.
Plano de Aula Arquiteturas de Agentes Baseados Em Lógica Reativas BDI
Roteiro Agentes Trabalhando Juntos Coordenação em SMA
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
Analises de sistemas ESTRUTURADA Analise de sistema estruturada.
FLUXOGRAMAS.
SISTEMAS DISTRIBUIDOS Aula 4
ANÁLISE ESTRUTURADA DE SISTEMAS
METODOLOGIA, MÉTODOS E FERRAMENTAS
Proposta de uma Arquitetura Híbrida para Navegação Autônoma por Hugo da Luz Silva.
Aula01 – Técnicas de Programação II
Agentes Inteligentes e Sistemas Multi- agente (UD5) Construção de Sociedades de Agentes IST- 2004/2005.
Planejamento e estratégia
Integração de Ferramentas CASE
A Linguagem Formal de Especificação VDM-SL
Vida Artificial 2005/2006 Rodney Allen Brooks e a Robótica Apresentação por: Nuno Maio N.º
Gestão das Competências Jorge Marques. O crescimento económico não vai resultar do facto de termos muitas pessoas a trabalhar, nem sequer da procura dos.
DIMAp/UFRN Modelos Baseados em Agentes Prof. André Campos Aula #6 AgentesHíbridos.
Gestão de Redes e Sistemas Distribuídos Teresa Maria Vazão Fevereiro 2003 IST/INESC Contactos:IST/Tagus-Park Tel:
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Protocolos de Cooperação Contract Net Systems Partial Global Planning Negociações.
1 Linguagens de Programação Pedro Lopes 2010/2011.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Testes (verificação e validação)
Aula 02 de Eng. de Requisitos
O Modelo GOMS Fornece um modelo de Engenharia para a performance humana, capaz de produzir predições a priori ou em um estágio anterior ao desenvolvimento.
Interações entre objetos
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Sistema - "Conjunto de elementos, materiais ou idéias, entre os quais se possa encontrar ou definir alguma relação". Especialista - "Pessoa que se consagra.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/41 Análise e Projeto de Sistemas Arquitetura de Software.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Maique C. Garcia Pelotas, Junho de  Controle Automático Autônomo  Através da identificação da ação mais adequada em caso de um diagnóstico de.
Transcrição da apresentação:

Agentes Autónomos e Sistemas Multi-agente (UD3 e 4) Agentes Reactivos e Híbridos IST- 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 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 R E o agente decide simplesmente baseando-se em E).

Percepção/Acção Ambiente See Action Agente see : E -> Per Action : Per* -> Ac

Elephants dont 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 certos sistemas complexos.

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) 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 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 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 representação simbólica – regras (s,a) Cada módulo faz uma determinada tarefa, sem representação simbólica – regras (s,a)

Vários comportamentos podem disparar simultâneamente Têm de existir mecanismos de selecção entre diferentes acções - camadas Têm de existir mecanismos de selecção entre diferentes acções - camadas Ideia 2

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

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çã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 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

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 apanhá-las. E conseguem detectá-las.

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) if true then move randomly(6)

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

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 pós-condições (estilo STRIPS)

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 – 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 Hí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: 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í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í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 m n interacções, m= acções, n=níveis -bottleneck P input action

Arquitecturas Híbridas com níveis Vertical (1 passo) Vertical (2 passos – como as organizações – info+comandos) P input action P input

Arquitecturas Híbridas com níveis Mais simples (m 2 (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 P input

Touring Machines De Innes Fergunson em 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: Arquitectura Modelling layer Planning layer Reactive layer Perception Subsystem Action Subsystem Clock Context Activated Control-rules

TM: 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 ifis-in-front(kerb, observer) and speed(observer) > 0 and separation(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 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çã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 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 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 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 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 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

InteRRap 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: Arquitectura Cooperation Knowledge Local Plans World Model Cooperation Component CC Plan-based Component PBC Behaviour Based Component BBC Action Communication Perception ENVIRONMENT World Interface

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. Kb´s representação do mundo apropriada a cada nível CC (Cooperation Component): permite a cooperação entre agentes – interacção social.

Knowledge 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 no Comportamento (BBC 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.

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

InteRRap: 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 Dock

Aplicação: conflictos

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

Aplicação: criação de PoBs

InteRRap: Componente de Planeamento 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 camadas 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 camadas Qualquer camada define duas funções: 1- situation recognition & goal activation (KB L, current goals) > new goals 2- planning and scheduling (current plans, goals, KB L > plan to execute

Aplicação: robots

Vantagens das arquitecturas Hí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 Hí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, The Design of Intelligent Agents: a Layered Approach, Jörg Müller, Springer, 1996.

World Interface

Acções que o agente pode executar

Knowledge Base

InteRRap: Patterns of Behaviour

InteRRap: Controlo

Aplicação: the Loading Dock