A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Sistemas Multi-Agentes Viviane Torres da Silva

Apresentações semelhantes


Apresentação em tema: "Introdução a Sistemas Multi-Agentes Viviane Torres da Silva"— Transcrição da apresentação:

1 Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/ismapi

2 Disciplina  Objetivos: – Apresentar as propriedades e características dos agentes de software e dos sistemas multi-agentes – Apresentar as técnicas de desenvolvimento destes sistemas  Avaliação: – Apresentações de artigos em sala – Trabalho final de implementação com apresentação oral

3 Conteúdo  Introdução a Agentes de Software – Agentes x Objetos, e os Sistemas Multi-Agente – Frameworks conceituais  Modelagem de SMA – Linguagens de modelagem para SMA – Metodologias para SMA  Implementação de SMA – Frameworks e arquiteturas para SMA – Linguagens de programação para SMA  Características específicas de SMA – Sociedade de agentes – Confiança e Reputação – Comunicação – Capacidade de Raciocinar – Planejamento – Aprendizagem

4 Agentes de Software

5 Motivação: Sistemas Complexos I/II  Executam para alcançar nossos objetivos  Interagem com outros sistemas  Necessitam cooperar / competir com outros sistemas para alcançar os objetivos  Necessitam executar de maneira independente  Se adaptam às mudanças no ambiente  São distribuídos e heterogêneos

6 Quando utilizar agentes de software?  Quando a tarefa é grande e complexa  Quando é necessário que as decisões sejam feitas com rapidez  Quando envolvem riscos às pessoas  Quando é muito caro ou difícil manter um grupo de pessoas controlando um software (ou um robô)

7 Definição: Agentes  Dicionário: (dictionary.com) – Uma pessoa ou coisa que atua ou que tem o poder de atuar – Aquele que atua em benefício de outro  “Um agente é um sistema informático situado em um ambiente que é capaz de realizar ações de forma autônoma / independente para conseguir seus objetivos.” [Wooldridhe, 1997]  Não existe uma definição que seja precisa e utilizada por todos os pesquisadores

8 Algumas características  É capaz de atuar em um ambiente  Tem uma visão parcial do ambiente  É capaz de perceber as mudanças do ambiente  Pode se adaptar às mudanças do ambiente  Pode se comunicar através de troca de mensagem com outros agentes  Atua sem a necessidade de mandar atuar  Está orientado por um conjunto de objetivos  Pode aprender e raciocinar

9 Aplicações com agentesI/V  Controle de tráfico aéreo: Como funciona? – Sistema chamado OASIS e implementado no aeroporto de Sydney – Os agentes representam tanto o avião como os distintos sistemas de controle de tráfico – Quando um avião entra no espaço aéreo de Sydney, o sistema associa um agente com a informação do avião (tamanho do avião, quantidade de combustível, …) e os objetivos do avião (aterrissar em uma determinada pista a uma determinada hora) – Os agentes controladores de tráfico controlam os agentes que representam os aviões Por que agentes? – A metáfora do agente provê uma maneira útil e natural para modelar os componentes autônomos do mundo real.

10 Aplicações com agentesII/V  Aplicações de medicina: Por que agentes? – Distribuição: Conhecimento para solucionar um problema está distribuído em diferentes lugares – Interação / Coordenação: A solução de um problema depende da coordenação das tarefas que serão realizadas por diversos indivíduos com diversas habilidades e competências – Complexidade: Problema usualmente decomposto em subproblemas – Pró-atividade: Os agentes realizam tarefas que são de benefício para o usuário sem que este seja solicitado – Autonomia: Cada agente toma suas próprias decisões baseando-se no seu estado interno e na informação que recebe do usuário e de outros agentes

11 Aplicações com agentesIII/V  Aplicações em medicina: – Gestão de transplantes de órgãos – Busca informação médica na Web: MARVIN http://www.hon.ch/Project/Marvin_project.html – Monitoramento e diagnóstico de pacientes cardíacos: Guardian http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00653225 – Formação de médicos: Amplia (projeto UFRGS) http://www.inf.ufrgs.br/~dflores/AMPLIA/ – Atendimento as pessoas de terceira idade: TeleCARE http://www.uninova.pt/~telecare/telecare2004/TELECARE2004_C amarinha-Matos_Afsarmanesh.pdf

12 Aplicações com agentesIV/V  Exemplo Amplia :  Agente Aprendiz: representa as crenças do aluno sobre o domínio e o grau de confiança que o aluno tem em sua rede de diagnóstico.  Agente de Domínio: compara a rede construída pelo aluno com a rede do especialista, identificando os prováveis pontos de conflito.  Agente Mediador: recebe o resultado da análise e é responsável pela seleção das estratégias pedagógicas. Estas estratégias são selecionadas de acordo com o grau de confiança, a credibilidade e a classificação da rede do aluno.

13 Aplicações com agentesV/V  Aplicações de recuperação da informação: Como funciona? – Sistema chamado Letizia e desenvolvido pelo MIT http://web.media.mit.edu/~lieber/Lieberary/Letizia/Letizia- Intro.html – O agente observa o comportamento do usuário (páginas web que acessa) e tenta inferir seus gostos automaticamente – Agente de informação: Tem acesso a diversas fontes de informação e são capazes de analisar e manipular a informação obtida Por que agentes? – Necessidade de automação na busca por informação qualificada – É capaz de armazenar, aprender e manejar as preferências e gostos de usuários – É capaz de se comunicar com os provedores de informação – Necessidade de adaptar-se às mudanças no seu ambiente

14 Outras aplicaçõesV/V  Comercio eletrônico – Agentes podem planejar, negociar, argumentar,…  Gestão de processos (workflow) – Coordenação e cooperação na execução de tarefas  Jogos e Robótica  Controle de satélites – NASA está tentando fazer com que os satélites sejam mais autônomos, aumentando a capacidade de tomar decisões

15 Evolução dos Paradigmas da ES Linguagem Assembly Abstração Funcional Programação Estruturada Orientação a Objetos Orientação a Componentes... Agentes de Software Abstrações determinadas pela arquitetura da máquina Abstrações determinadas pelo domínio do problema Tempo

16 Propriedade dos Agentes

17 Interatividade (Habilidade Social)  A vida real é um ambiente multi-agente, i.e, com vários agentes executando de um vez  Muitas vezes os objetivos só podem ser cumpridos quando ocorre cooperação entre os agentes  Os agentes são capazes de interagir com outras entidades do sistema  Diferentemente dos objetos, os agentes não interagem chamando método de outros agentes. Os agentes enviam mensagens a outros agentes  Os agentes decidem a quem irão responder – Um agente pode decidir não responder a uma mensagem de outro agente, os objetos não podem

18 Reatividade (Adaptabilidade)  Ambiente fixo x ambiente variável  Na vida real: as coisas mudam, a informação está incompleta, o ambiente é variável – A maioria dos ambientes é dinâmica  É difícil criar programas para domínios dinâmicos – Possibilidade de falha  Um agente reativo mantém uma interação contínua com o ambiente, e responde às mudanças que ocorrem nele (se adapta).

19 Pró-atividade (Orientação a objetivos)  Reagir a um ambiente é fácil – estímulo  regra de resposta  Mas queremos que os agentes façam coisas para nós  E que tenham um comportamento orientado a objetivos e não a tarefas  Um agente proativo – é capaz de executar para cumprir seus objetivos, – não está guiado somente pelos eventos do ambiente, – tem iniciativa e reconhece oportunidades.

20 Autonomia  Um agente autônomo: – trabalha sem a intervenção direta do usuário (não é necessário mandar para o agente execute) – é capaz de selecionar o objetivo que irá tentar cumprir (pode ser capaz de criar novos objetivos) – tem (certo) controle sobre seu estado e seu comportamento Só o agente é capaz de modificar seu estado O agente decide o que irá fazer

21 Reatividade x Pró-atividade  Reatividade: queremos que nosso agente seja reativo, que responda às mudanças do ambiente a tempo e de maneira apropriada  Pró-atividade: queremos que nosso agente trabalhe de acordo com seus objetivos  Estas duas propriedades podem conviver  Criar um agente onde estas duas propriedades estejam balanceadas é um problema de pesquisa e dependente do domínio da aplicação Agente reativo Agente pró-ativo Agente mixto

22 Interatividade x Autonomia  Interatividade: agente interage com outros agentes para alcançar seus objetivos  Autonomia: agente é capaz de fazer todas suas tarefas sem depender de ninguém Interação Autonomia + +- -

23 Outras Propriedades  Mobilidade: mover de um computador outro em uma rede preservando seu estado  Racionalidade: os agentes irão raciocinar sobre os fatos ocorridos para cumprir seus objetivos Um agente pode decidir: – que objetivo tentar atingir ou a qual evento reagir – como atuar para conseguir um objetivo – suspender ou abandonar uma objetivo para dedicar-se a outro  Aprendizagem: o agente melhora seu rendimento com o passar do tempo  …

24 Agentes x Objetos

25 Entidade (Agente ou Objeto)  Toda entidade tem: – Estado + comportamento – Reação com outras entidades  Estado: armazena informações  Comportamento: conjunto de tarefas que a entidade pode executar  Relacionamento: define como as entidades estão relacionadas, conectadas

26 Objeto  Estado: atributos – Armazena informação sobre o objeto e sobre outras entidades do sistema (podem armazenar outros objetos)  Comportamento: métodos – São tarefas que podem ser executadas – As operações podem modificar o estado do objeto

27 Comunicação entre Objetos  Envio de mensagem >> Chamada de método  Resposta >> Execução do método e envio da resposta  Sempre que um objeto envia uma mensagem a outro objeto este responde

28 Objeto (tradicional)  Tem controle do seu estado (encapsulamento)  Pode modificar seu estado mas não pode adicionar novos tipos de informação  Não tem controle de seu comportamento  Não pode modificar seu comportamento  Os objetos são entidades passivas – Só executam quando outras entidades pedem

29 Agente  Estado: crenças, objetivos, planos e ações  Crenças: conhecimento sobre si mesmo, sobre o ambiente e sobre outras entidades – Tudo que o agente sabe, suas memórias e suas percepções  Objetivos: estados futuros donde o objeto quer chegar ou desejo que ele quer satisfazer

30 Agente  Ação: execução dos agentes – Ex.: modificar seu estado, enviar e receber mensagens  Plano: composto por um conjunto de ações – Descreve a ordem de execução das ações – Possibilita que o agente alcance seus objetivos ou que satisfaça seus objetivos – Está relacionado com os objetivos

31 Agente  Comportamento: – Execução dos planos e, conseqüentemente, das ações – Os planos são executados de acordo com os objetivos – Objetivos com maior prioridade são selecionados primeiro  A definição do comportamento do agente é parte de seu estado “mental”.

32 Comunicação entre Agentes  Envio de mensagem >> Envio de uma carta (pedido, informação,…)  Resposta >> Envio de outra mensagem  Utilizam uma linguagem de comunicação  Agentes podem não responder quando recebem uma mensagem de alguém

33 Agente  Tem controle de seu estado  Pode modificar seu estado e pode adicionar novas informações – Crenças e objetivos  Tem controle de seu comportamento  Pode modificar seu comportamento (podem criar novos planos e aprender novas ações) – Aprendizagem  Os agentes são entidades ativas – Executam sem que alguém peça

34 Objeto Estado: Pode modificar mas não pode adicionar novas informações Comportamento Não tem controle de seu comportamento Necessita estímulos externos para executar Responde todas mensagem que recebe Comportamento predeterminado Estado mental: Pode modificar e adicionar informação Guarda informações sobre seu comportamento Comportamento: Tem controle de seu comportamento Não necessita estímulos para executar Pode não responder alguma mensagem Pode modificar seu comportamento Agente

35 Agentes e Objetos  Agentes são autônomos: Ex: Agentes decidem quando executar uma ação requerida por outro agente  Agentes são inteligentes: Agentes podem modificar seu comportamento (reatividade, pró-atividade, habilidade social, aprendizagem…)  Agentes são entidades ativas: Uma sistema muli-agentes é tipicamente composto por várias threads, onde cada agente tem uma ou mais threads de execução que executam sem intervenção do usuário

36 Os Sistemas Multi-agente

37 Sistemas multi-agentes  Os agentes não atuam sozinhos em um sistema mas sim com outros agentes  Solução para os problemas utilizando a estratégia dividir e conquistar  Divisão de responsabilidades  Distribuição de conhecimento  Heterogeneidade: cada um é especialista em um serviço  Concorrência e Distribuição – Flexibilidade, escalabilidade, tolerância a falhas, gestão de recursos

38  Um sistema multi-agente consiste de vários agentes que interagem entre si.  Os agentes podem colaborar, cooperar, negociar ou competir para cumprir objetivos similares ou diferentes  Os agentes não são as únicas entidades de um sistema multi- agentes – Ambiente, organizações, papéis e objetos Definição: Sistemas Muli-agentes

39 Ambiente

40 Agente Ambiente Ações saída Sensores entrada  Acessível vs. Inacessível  Determinista vs. Não determinista  Estático vs. Dinâmico  Episódico vs. Não episódico  Discreto vs. Contínuo

41 Ambiente: Acessível vs. Inacessível  Em um ambiente acessível o agente pode obter informação sobre o estado do ambiente de maneira completa e atualizada  Os ambientes complexos costumam ser inacessíveis  Quanto mais acessível é o ambiente mais simples é desenvolver um agente para atuar no ambiente

42 Ambiente: Determinista vs. Não determinista  Em um ambiente determinista não existe dúvida sobre o estado do ambiente depois da execução de uma ação  Um ambiente não determinista representa um grande problema para os desenvolvedores – Depois de executar uma ação o agente não sabe o que pode passar

43 Ambiente: Estático vs. Dinâmico  Um ambiente estático não muda a não ser quando uma ação é executada por um agente  Em um ambiente dinâmico existem, além das execuções das ações, processos que executam em paralelo e modificam o ambiente  Os agente não possuem controle sobre as mudanças em um ambiente dinâmico  Problema: algum processo pode interferir na execução de uma ação de um agente

44 Ambiente: Episódico vs. Não episódico  Um ambiente episódico é dividido em diferentes episódios que não estão relacionados  As ações executadas por um agente em um episódio não estão relacionados com as ações executadas pelo agente em outro episódio. – Ex: agentes puramente reativos não raciocinam sobre o passado  É mais fácil implementar um ambiente episódico porque o agente não precisa se preocupar com a relação entre as ações atuais e as ações futuras

45 Ambiente: Discreto vs. Continuo  Um ambiente é discreto se o número de ações e percepções é fixo e finito – Ex: o jogo de xadrez é discreto

46 Organização

47 Definição: Organização  Uma organização é uma agregação de relações entre componentes ou indivíduos – Papéis desempenhados por agentes em uma organização – Relacionamentos entre os papéis

48 Estrutura de uma organização C B A u v h f g C C C v1 v2 v3 v4 B A h1 h2 f1 g1 Estrutura Papéis abstratos Relações abstratas Organização concreta Papéis concretos Relações concretas

49 Níveis de uma organização  Agentes no nível N são agrupados em organizações, que no nível N+1 são vistas como indivíduos nível N nível N+1 nível N+2

50 Estrutura de uma organização  Fixa x Variável – Fixa: os agentes não modificam seus papéis – Variável: os agentes podem modificar seus papéis  Predefinida x Emergente – Predefinida: estrutura definida pelo projetista – Emergente: papéis e relações não estão predefinidos. Sistema modifica sua estrutura em função de sua experiência e de sua relação com o ambiente  Hierarquia x Igualitária – Hierarquia: um chefe envia comandos para os demais agentes – Igualitária: todos os agentes participam da mesma forma

51 Tipos de organizações  Organização com uma estrutura fixa, hierárquica e predefinida – Problema: a capacidade de adaptação é quase nula  Organização com uma estrutura variável, igualitária e emergente – Problema: fazer que os agentes sejam capazes de coordenar-se  Organização com una estrutura variável, igualitária e predefinida – A mais utilizada – Sem agentes especialistas: um agente pode pedir ajuda a outro – Com agentes especialistas: se um agente desaparecer, outro agente com a mesma especialidade pode assumir a tarefa (dependente do nível de redundância)

52 Agente x Tarefas  Grau de redundância: quantos agentes desempenham as mesmas tarefas [0..1]  Grau de especialização: quão especializados estão os agentes em suas tarefas [0..1] Redundância Especialização Agentes redundantes Nenhum agente redundante Agentes especialistas Agentes não especialistas

53 Tipos de organizações  Sem redundância e com agentes muito especializados – Cada tarefa é conhecida somente por um agente – Cada agente conhece somente uma tarefa  Redundante e com agentes especializados – Cada tarefa é conhecida por vários agentes – Cada agente se especializa em um subconjunto de tarefas  Redundante e sem agentes especializados – Cada tarefa é conhecida por vários agentes – Cada agente conhece várias tarefas  Sem redundância e sem agentes especializados – Cada tarefa é conhecida somente por um agente – Cada agente conhece várias tarefas Problema de coordenação se: Todos os agentes conhecem a mesma tarefa

54 SMA não são … I/IV Os SMA são somente sistemas Distribuídos / Concorrentes?  Agentes são autônomos, capazes de decidir de maneira independente → eles necessitam de mecanismos para a sincronização e a coordenação de suas atividades  Agentes podem ser entidades que executam para seu próprio interesse

55 SMA não são … II/IV Os SMA estão relacionados somente a Inteligência Artificial e todos os sistemas de IA são SMA?  Nem sempre é necessário implementar um sistemas de IA como um SMA  A IA clássica ignora os aspectos sociais dos agentes

56 SMA não são … III/IV Os SMA envolvem somente a teoria de jogos e as teorias econômicas?  As teorias provêem a descrição dos conceitos mas nem sempre nos ensina como solucionar os problemas de maneira computável  Algumas coisas que assumimos nas teorias de jogos e de economia podem não ser úteis para criar determinados agentes

57 SMA não são … IV/IV Toda teoria de ciências sociais pode ser utilizada em SMA?  Podemos nos basear nas ciências sociais mas não existe nada que garanta que tudo será utilizado da mesma maneira nos agentes

58  Como garantir que os designers de SMAs possuam a mesma definição para agentes? – Frameworks conceituais  Como os agentes se comunicam e interagem? – Linguagens de comunicação  Como se constrói um agente? – Linguagens de modelagem – Metodologias de desenvolvimento – Linguagens de implementação – Plataformas de desenvolvimento  Como os agentes selecionam as ações que irão executar? – Planejamento  Como os agentes decide com quem irão interagir? – Racionamento  Como os agentes aprendem? – Aprendizagem  Como os agentes sabem em quem confiar? – Normas e reputação Perguntas que temos que saber responder sobre agentes


Carregar ppt "Introdução a Sistemas Multi-Agentes Viviane Torres da Silva"

Apresentações semelhantes


Anúncios Google