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

Slides:



Advertisements
Apresentações semelhantes
Gerenciamento de Projetos
Advertisements

Renata S.S. Guizzardi Inteligência Artificial – 2007/02
Planejamento Viviane Torres da Silva
Planejamento Viviane Torres da Silva
Os Sistemas Multi-agente Viviane Torres da Silva
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Apresentando.
Identificando requisitos
Engenharia de Software
Engenharia de Software
Inteligência Artificial Alex F. V. Machado. Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. Winston.
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Metodologias Equipe do Curso de ES para SMA
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Disciplina:Tópicos Avançados de Sistemas de Informação
Introdução a Sistemas Multi-Agentes
Linguagens de Modelagem para SMA
Viviane Torres da Silva
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.
Aprendizagem Viviane Torres da Silva
Modelos Baseados em Agentes
Metodologias Orientadas a Agentes
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Sistemas Multiagentes
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
TÉCNICAS DE PROGRAMAÇÃO II
Agentes inteligentes e sistemas multiagentes
Maria Tereza Nagel Junho 2004 Grids de Agentes Processadores para Gerência de Redes de Computadores e Telecomunicações Orientador: Prof. Dr. Carlos Becker.
Transferência de aprendizagem
Princípios do SCO.
Linguagem de Programação IV
Sistemas Distribuídos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Planejamento e Solucionamento de Problemas Distribuídos
INF 1771 – Inteligência Artificial
Metodologias para construção de SMA
Roteiro Agentes Trabalhando Juntos Coordenação em SMA
Gerenciamento de Redes Utilizando Agentes Móveis
3 – Agentes e 4 – Multiagentes
Sistemas Especialistas
Análise e Projeto de Sistemas
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
SISTEMAS DISTRIBUIDOS Aula 4
Metodologias (Parte II) Viviane Torres da Silva
Banco de Dados Aplicado ao Desenvolvimento de Software
Agenda Agentes que Respondem por Estímulo Agentes Inteligentes.
Agentes Inteligentes e Sistemas Multi- agente (UD5) Construção de Sociedades de Agentes IST- 2004/2005.
Laboratório de Programação
Inteligência Artificial I
Integração de Ferramentas CASE
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
Capítulo 1 A administração hoje.
Inteligência Artificial I
DIMAp/UFRN Modelos Baseados em Agentes Prof. André Campos Aula #6 AgentesHíbridos.
A ADMINISTRAÇÃO HOJE 1.
Introdução a Orientação a Objetos
Engenharia de Software
Organização de Sistemas Multiagentes Prof. Fred Freitas CIn - UFPE.
20/04/2017 Orientação a Objetos 1 1.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
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.
Sistema Multi-Agentes Heliomar Kann da Rocha Santos.
Interações entre objetos
TÉCNICAS DE ESTIMATIVAS
ADMINISTRAÇÃO E SUAS PERSPECTIVAS
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:

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

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

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

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

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.

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

Aplicações com agentesIII/V  Aplicações em medicina: – Gestão de transplantes de órgãos – Busca informação médica na Web: MARVIN – Monitoramento e diagnóstico de pacientes cardíacos: Guardian – Formação de médicos: Amplia (projeto UFRGS) – Atendimento as pessoas de terceira idade: TeleCARE amarinha-Matos_Afsarmanesh.pdf

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.

Aplicações com agentesV/V  Aplicações de recuperação da informação: Como funciona? – Sistema chamado Letizia e desenvolvido pelo MIT 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

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

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

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 não podem

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

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.

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

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

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

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

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

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

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

Os Sistemas Multi-agente

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

 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

Ambiente

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

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

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

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

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

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

Organização

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

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

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

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

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)

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

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

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

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

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

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

 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