Introduo a Sistemas MultiAgentes Viviane Torres da Silva
- Slides: 36
Introdução a Sistemas Multi-Agentes Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane. silva/2010. 1/isma
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 Ø Atendimento: – Quinta: 18: 00 as 19: 00 (marcar antes) Ø Avaliação: – – Trabalhos realizados em dupla ou individualmente Apresentação de artigo em sala (Ap. Artigos + Trab 1 + Trab 2) / 2 >= 6 Trab 1 e Trab 2: monografia + apresentação oral
Introdução Ø Apresentação de artigo Ø T 1: – Monografia ou Trabalho prático • Monografia de aproximadamente 10 páginas: descrição de um tema • Trabalho prático: modelar/implementar um sistema – Apresentação oral Ø T 2: – Monografia ou Trabalho prático • Monografia de aproximadamente 20 páginas: descrição de um tema • Trabalho prático: modelar/implementar um sistema – Apresentação oral
Conteúdo Ø Introdução a Agentes de Software – Agentes x Objetos, e os Sistemas Multi-Agente Ø Modelagem de SMA – Metodologias para SMA – Linguagens de modelagem 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 – Negociação e Argumentação – Planejamento – Aprendizagem – Capacidade de Raciocinar
Bibliografia Ø Wooldridge, Michael. Introduction to Multi-agent Systems. John Wiley and Sons, 2002 Ø Jennings, Nick; Wooldridge, Michael J. Agent technology: foundations, applications, and markets. Berlin: Springer, 1998 Ø Henderson-Sellers, Brian; Giorgini, Paolo. Agent-oriented methodologies. Hershey, PA: Idea Group Pub. , 2005 Ø Weiss, Gerhard. Multiagent systems: a modern approach to distributed artificial intelligence. Cambridge, Mass. : MIT Press, 1999 Ø Ferver, Jacques. Multi-agent systems: An introduction to distributed artificial intelligence. Addison-Wesley, 1999 Ø Bordini, Rafael; Dastani, Mehdi; Dix, Juergen; Seghrouchni, Amal, A. Multi-Agent Programming: Languages, Platforms and Applications. Springer, 2005
Agentes de Software
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 a mudanças no ambiente Ø São distribuídos e heterogêneos
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 as pessoas Ø Quando é muito caro ou difícil manter um grupo de pessoas controlando um software (ou um robô)
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
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 a mudanças do ambiente Ø Pode se comunicar através de troca de mensagem com outros agentes Ø Atua sem a necessidade de mandar atuar Ø Está orientada por um conjunto de objetivos Ø Pode aprender e raciocinar
Aplicações com agentes I/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.
Aplicações com agentes II/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
Aplicações com agentes III/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. jsp? arnumber=00653225 – Formação de médicos: Amplia • http: //www. inf. ufrgs. br/~dflores/AMPLIA/ – Atendimento as pessoas de terceira idade: Tele. CARE • http: //www. uninova. pt/~telecare/telecare 2004/TELECARE 2004_C amarinha-Matos_Afsarmanesh. pdf
Aplicações com agentes IV/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. 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 a mudanças no seu ambiente
Outras aplicações V/V Ø Comercio eletrônico – Agentes podem planear, negociar, argumentar, … Ø Gestão de processos (workflow) Ø Jogos e Robótica Ø Controle de satélites – NASA está tentando fazer com que os satélites sejam más autônomos, aumentando a capacidade de tomar decisões
Evolução dos Paradígmas da ES Linguagem Assembly Abstrações determinadas pela arquitetura da máquina Abstração Funcional Programação Estruturada Orientação a Objetos Tempo Orientação a Componentes. . . Agentes de Software Abstrações determinadas pelo domínio do problema
Propriedade dos Agentes
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 no podem
Reatividade (Adaptabilidade) Ø Ambiente fixo x ambiente variável Ø Em vida real: as cosas mudam, a informação está incompleta, o ambiente é variável – A maioria dos ambientes são dinâmicos Ø É 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 as mudanças que ocorrem nele (se adapta).
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 faz falta que o mande fazer algo, não está guiado somente pelos eventos do ambiente, tem iniciativa e reconhece oportunidades.
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á intentar 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
Reatividade x Pró-atividade Ø Reatividade: queremos que nosso agente seja reativo, que responde as 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 Agente reativo Agente mixto Agente pró-ativo
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 + -
Outras Propriedades Ø Mobilidade: Mover de um computador a outro em una rede preservando seu estado Ø Racionalidade: os agentes irão atuar para cumprir seus objetivos y no irão atuar de maneira a prevenir que os objetivos se cumpram Um agente pode decidir: – que objetivo tentar atingir ou 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 Ø…
Agentes x Objetos
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
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
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
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
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
Agente Ø Ações: execução dos agentes – Ex. : modificar seu estado, enviar e receber mensagens Ø Planos: composto por um conjunto de ações – Descrevem a ordem de execução das ações – Possibilitam que o agente alcance seus objetivos ou que satisfaça seus objetivos – Estão relacionados com os objetivos
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”.
Comunicação entre Agentes Ø Envio de mensagem >> Envio de una 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
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
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 Agente Estado mental: Guarda informações sobre seu comportamento Pode modificar e adicionar informação Comportamento: Tem controle de seu comportamento Não necessita estímulos para executar Pode não responder uma mensagem Pode modificar seu comportamento
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
- Agente inteligente ejemplos
- Viviane dalles
- Viviane sensible
- Viviane pinheiro a viagem
- Patrik karinti
- Viviane bouysse
- Viviane robinson open to learning conversations
- Vicios de refracción
- Perlita torres
- Jesus guillen torres
- Vanesa torres cubi
- Julio romero de torres pinto a la mujer
- Christian thomas torres
- Dr pedro torres
- Massiel torres
- Keye torres
- Elizabeth torres rodriguez puerto rico
- Fettan torres
- Sill torres
- Teresa daniela torres
- Shape of england
- Kevin torres muerte
- Pedro iturralde torres
- Generación del 27 características
- 3e secret de fatima
- Disfagia
- Amanda torres
- Oriana torres wikipedia
- Abs eixample lleida
- Felix gonzalez-torres
- Luis torres paz
- Dennes torres
- Manuel torres vizcaya
- Torre de pared mojada
- Xxl publisher
- Valencia isla fluvial
- Inneo torres