Agentes Inteligentes e Sistemas Multiagente (UD5) Construção de Sociedades de Agentes IST- 2004/2005 Porquê sociedades? A criação de sociedades de agentes em deterimento da criação de um simples agente surge por diversas razões, de entre as quais: Da necessidade de adoptar uma solução distribuída para a resolução de problemas complexos; Da necessidade de criar modelos de sociedades para explicar determinados factores de emergência de comportamento social; e Da necessidade de simular sociedades reais para fins educacionais ou mesmo de entretenimento. Problemas a resolver (1/2) 1) Problema dos comportamentos sociais e individuais • Como especificar os comportamentos sociais dos agentes? • Como é que os comportamentos dos outros e da sociedade influenciam o comportamento individual? 2) Problema da estrutura da organização • Como organizar uma sociedade de agentes para que no global, esta execute a tarefa desejada? • Qual o tipo de estrutura mais adequada para a tarefa em causa? • Como definir os aspectos do comportamento individual para que sejam integrados na sociedade levando a um comportamento global desejado? • Que tipos de mecanismos há que levem ao surgimento e desaparecimento de sociedades? Problemas a resolver (2/2) 3) Problema da comunicação entre agentes • Que tipo de comunicação entre agentes é a mais adequada à estrutura escolhida? • Que linguagens de comunicação existem e podem ser usadas para a comunicação entre agentes numa sociedade de agentes? • Que conceitos (ontologias) são necessários ser partilhados para que os elementos da sociedade consigam interpretar as mensagens recebidas? 4) Cooperação, colaboração e negociação • Que mecanismos de cooperação são necessários para que os agentes executem cooperativamente uma dada tarefa? • Que estruturas de organização são as mais adequadas para determinados tipos de cooperação? • Que linguagens existem que podem ser usadas para permitir a cooperação e negociação entre agentes numa sociedade? Problema 1: Dos comportamentos individuais aos comportamentos sociais Como especificar os comportamentos sociais dos agentes? Como é que os comportamentos dos outros e da sociedade influenciam o comportamento individual? Exemplo: O loading Dock Agentes simples: BOIDS, Reinolds, 1987 Simulações de bandos de pássaros (baseados em modelos de simulação de sistemas de partículas: em que cada partícula é um pássaro) e em que o comportamento final do sistema é na realidade resultante do comportamento distribuído pelos diversos componentes elementares (pássaros simulados). Cada pássaro é simulado através de um agente independente que navega de acordo com a sua percepção local de um ambiente dinâmico, bem como das leis físicas que regulam o movimento. Cada agente tem um conjunto de comportamentos individuais relativamente simples e identificáveis. Cada agente é animado à custa da definição de comportamentos geométricos (tais como voar, levantar, mudar de rota, pousar). BOIDS: Voo geométrico O comportamento geométrico de voar (voo geométrico) é um movimento ao longo de um percurso que possui transformações incrementais do objecto. O percurso não é especificado previamente. Para cada agente, o voo geométrico é limitado em velocidade e factores como a gravidade são tidos em conta para a definição do comportamento de pousar. BOIDS: Percepção Os agentes individuais têm capacidade de percepção do ambiente. Esta capacidade é limitada dandolhes assim informação similar à recebida pelos animais reais. Esta característica é obtida através da filtragem da informação disponível sobre o ambiente. A percepção de um dado agente é definida em relação à exponencial inversa da distância. A questão está portanto em determinar como é que o ambiente e a presença dos outros pássaros iria influenciar o comportamento individual? BOIDS: Solução Foi assim observado que existem nos pássaros comportamentos mais ou menos opostos que se equilibram, sendo estes: evitar a colisão (os agentes pássaros devem evitar a colisão como outros pássaros do bando); emparelhar da velocidade (os agentes pássaros devem tentar manter a velocidade a par com a velocidade dos seus companheiros que estão perto); ou centralizar no bando (os agentes pássaros devem manter-se perto dos seus companheiros). BOIDS: Realização Estes comportamentos foram realizados nos pássaros como simples regras. Cada um destes comportamentos tem associada uma regra. Por exemplo, a regra para evitar uma colisão e a regra de emparelhamento da velocidade são complementares, mas colocadas conjuntamente garantem que os membros do bando são por um lado livres de voar em bandos cheios de pássaros e por outro que não choquem uns nos outros. <<<<VIDEO>>>> BOIDS: Mais informação http://www.red3d.com/cwr/steer/ Problema 2: A criação de sociedades e a sua estrutura Como organizar uma sociedade de agentes para que no global, esta execute a tarefa desejada? Qual o tipo de estrutura mais adequada para a tarefa em causa? Como definir os aspectos do comportamento individual para que sejam integrados na sociedade levando a um comportamento global desejado? Que tipos de mecanismos há que levem ao surgimento e desaparecimento de sociedades? Sistema multi-agente Como estudar as interações entre agentes? Noção de “encontro” Os agentes na sociedade escolhem que acção executar. Como resultado das acções escolhidas, haverá um resultado R No entanto, o resultado final dependerá da combinação das diversas acções dos diversos agentes Vamos assumir que os agentes têm dois tipos de acção: C (cooperar) e D (não cooperar) O comportamento do ambiente é dado por uma função de transformação de estado: τ : Aci x Acj -> R Exemplos de Funções de Transformação dos estados 1. τ(D,D) = ω1 τ(D,C) = ω2 τ(C,D) = ω3 τ(C,C) = ω4 (o ambiente reage às acções de ambos os agentes) 2. τ(D,D) = ω1 τ(D,C) = ω1 τ(C,D) = ω1 τ(C,C) = ω1 (o ambiente não reage às acções de nenhum dos agentes) 3. τ(D,D) = ω1 τ(D,C) = ω2 τ(C,D) = ω1 τ(C,C) = ω2 (o ambiente reage às acções do agente j sendo controlado por ele) Problema Como caracterizar a influência que uns agentes têm nos outros e no ambiente? - O problema da organização dos agentes - O problema da comunicação entre agentes - O problema das influências e cooperação entre agentes O Problema da Organização dos agentes Propriedades de um grupo de agentes: • tem associado um conjunto contável de identificações dos agentes; • os agentes têm um estado representado internamente; • os agentes são capazes de estabelecer comunicação entre si (por exemplo, através de mensagens); • existe um conjunto de regras estabelecidas para a interacção entre os agentes e que tem impacto nas capacidades internas dos próprios agentes. Os grupos de agentes que podem estar organizados segundo uma determinada estrutura e com vista a determinados objectivos. Estrutura de um grupo de Agentes um padrão de informação e relações de controlo que existem entre os agentes, bem como a distribuição das capacidades de resolução de problemas pelos agentes Propriedades das Estruturas de agentes Uma estrutura especifica os papeis e as relações entre agentes, garantindo as seguintes propriedades: cobertura (cada porção necessária ao problema completo deve estar dentro das capacidades de resolução de problemas de pelo menos um dos agentes); ligação (os agentes devem interagir de forma a permitir que as actividades cobertas possam ser desenvolvidas e integradas numa solução completa); competência (a cobertura e a ligação devem ser atingíveis com as limitações quer de comunicação quer de recursos que existe no grupo), ou seja, para garantir a cobertura, a estrutura do grupo de agentes deve reflectir nos papeis dos agentes as suas competências e o seu conhecimento. Definição de Organização de Agentes O conceito de organização de agentes (e segundo Gasser) "pode ser visto como um conjunto particular de questões bem ou não estabelecidas sobre crenças e acções através das quais os agentes vêm os outros agentes”. O conceito de organização é diferente das: - relações estruturais entre os elementos do grupo de agentes (estrutura) , - do conjunto de limitações às suas actividades (regras de comportamento), A noção de organização está associada à de um grupo de agentes com compromissos mútuos, globais, crenças mútuas e intenções partilhadas tal que agem conjuntamente para atingir um dado objectivo, podendo estar organizados de acordo com uma dada estrutura. Tipos de Estruturas de Agentes Estruturas hierárquicas Estruturas de Mercado Estruturas Hierárquicas (1) Estrutura hierárquica orientada ao produto GP GP GP Estruturas Hierárquicas (2) Estrutura hierárquica Funcional G GF GF GF Modelos de Mercado (1) Modelo de Mercado Descentralizado GP GP GP Modelos de Mercado (2) Modelo de Mercado Centralizado G GP G GP G GP Modelos de Mercado (Centralizado) Neste modelo, são os agentes intermediários que coordenam as tarefas dos agentes de um dado tipo sendo portanto necessário estabelecer as seguintes comunicações: Os gestores têm que comunicar com os intermediários para pedir para que uma dada tarefa seja executada; os intermediários têm que comunicar com os vendedores; uma vez contactados os vendedores, os intermediários atribuem as tarefas ao melhor vendedor disponível; finalmente os intermediários comunicam o resultado aos gestores. Estruturas em Federação F F F F Exemplo 1: Projecto Knowledge Community Hierarquia de Agentes Trafic Agent Bus Agent LocalBus Company A Railway Agent Local Railway train A Local Railway Train B Exemplo 2: RETSINA Agentes de interface- interagem com o utilizador para receber as especificações e dar-lhe os resultados obtidos. São os responsáveis por obter as especificações das preferências do utilizador guiando o sistema na direcção de apoiar o utilizador. Agentes de tarefa- ajudam o utilizador a executar as tarefas através da construção de planos de resolução de problemas. Estes agentes necessitam de trocar informação com outros agentes, para a execução dos seus planos. São estes agentes que têm o conhecimento da tarefa podendo resolver conflitos e juntar informação obtida dos agentes de informação. Agentes de informação- são os responsáveis pelo acesso à informação dado que existem colecções heterogéneas de informação. Exemplo 2: RETSINA (2)