Programa - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Programa

Description:

Programa o Orientada a Agentes e Sistemas Multiagentes Conte do Motiva o Exemplos de sistemas multiagentes Sistemas multiagentes estritamente cooperativos ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 45
Provided by: GEP
Category:
Tags: programa

less

Transcript and Presenter's Notes

Title: Programa


1
Programação Orientada a Agentes e Sistemas
Multiagentes
2
Conteúdo
  • Motivação
  • Exemplos de sistemas multiagentes
  • Sistemas multiagentes estritamente cooperativos
  • Sistemas multiagentes intermediários
  • Sistemas multiagentes estritamente
    não-cooperativos
  • Aplicações
  • Balanço geral
  • Conclusão
  • Referências

3
O que é um procedimento/função?
  • Um procedimento é uma abstração de um comando e é
    caracterizado por
  • realizar operações que modificam o estado do
    sistema
  • Uma função é uma abstração e uma expressão e é
    caracterizada por
  • Realizar alguma operações sobre valores e
    devolver um resultado
  • Ambos são metáforas de modelagem

4
O que significa dizer que um sistema é
estruturado? Como reconhecemos um sistema
estruturado?
  • Utiliza como metáfora de modelagem procedimentos
    e funções
  • Utiliza metodologia de desenvolvimento
    estruturada
  • Utiliza ferramentas implementação estruturadas


5
O que é um objeto?
  • É uma entidade de abstração caracterizada por
  • Encapsulamento/information hidding
  • Capacidade de relacionamentos com outros objetos
    de herança/agregação
  • Comunica-se através do envio de mensagens
  • É uma junção das abstrações de comando, expressão
    e declaração

6
O que significa dizer que um sistema é orientado
a objetos? Como reconhecemos um sistema orientado
a objetos?
  • Utiliza objetos como metáfora de modelagem
  • Utiliza metodologia de desenvolvimento orientada
    à objetos
  • Utiliza ferramentas implementação orientadas à
    objetos

7
Um sistema concebido de forma orientada a objetos
pode ser também concebido de forma estruturada?
Um sistema concebido de forma orientada a objetos
pode ser implementado de forma estruturada?
8
O que é um agente?
  • É uma entidade de abstração caracterizada por
  • Autonomia
  • Racionalidade (busca sempre atingir seus
    objetivos)
  • Capacidade social (interação com outros agentes)
  • Reatividade
  • Pro-atividade
  • Mobilidade

9
O que significa dizer que um sistema é orientado
a agentes? Como reconhecemos um sistema
orientado a agentes?
  • Utiliza o agente como metáfora de modelagem
  • Utiliza metodologia de desenvolvimento orientada
    à agentes

10
Caracterização de um sistema
  • Linguagem de Implementação?
  • Abstração utilizada na modelagem?
  • Metodologia de desenvolvimento?

11
POO X POA
12
Desenvolvimento orientado a objetos
  • Busca
  • Definição das entidades que serão representadas
    no sistema
  • Definição das funcionalidades que estão
    associadas a cada entidade
  • Definição dos objetos e relacionamentos de
    agregação e herança
  • Definição de atributos e métodos.

13
Desenvolvimento orientado a agentes
  • Busca
  • Definição das entidades que serão representadas
    no sistema (domínio)
  • Definição das percepções e ações que cada agente
    pode realizar
  • Definição de crenças e objetivos.
  • Definição dos relacionamentos de comunicação
    entre os agentes (estabelecer protocolos)

14
Sistemas Multi-Agentes
  • Inteligência solitária ou coletiva?

15
Porque Distribuir a IA? Razões segundo as
comunidades...
  • De Ciências humanas As capacidades intelectuais
    provêm
  • disposições genéticas, interações com os
    semelhantes e com o ambiente
  • Da psicologia O ser humano
  • faz raciocínios em paralelo, tem mais de uma
    opinião ou ponto de vista sobre uma coisa
  • De IA
  • adicionar a dimensão sociológica à psicológica já
    existente
  • Da resolução de problemas
  • há problemas funcionalmente ou espacialmente
    distribuídos e há problemas complexos demais
  • Da indústria
  • poder trabalhar com vários especialistas com
    pontos de vista diferentes
  • De informática
  • extensão da noção de (multi)objetos

16
Sendo assim, temos...
Metáfora para modelagem
Objeto
Agente
Desenvolvimento OO
Desenvolvimento OA
Sistema Multiobjetos
Sistema Multiagentes
Agente Objeto com intencionalidade
17
Exemplo de sistema
  • Sistema de Fornecimento de Água para Caldeiras -
    Resolução Distribuída de Problemas
  • O importante é atingir o objetivo global
  • As tarefas são pré-definidas
  • A ênfase é dada na modelagem de cada agente
  • Usualmente não existe grande comunicação entre os
    agentes
  • Existe um controle global

18
Exemplo de sistemas
  • Formigueiro - Sistema Multiagentes Reativo
  • O mais importante é o problema
  • O problema é resolvidos por nós individuais que
    interagem entre si
  • Existe um grande número de nós
  • Os nós são normalmente são idênticos e possuem
    conhecimento limitado
  • Cada nós não tem consciência do problema geral
  • Os nós cooperam entre si
  • A solução surge através das interações entre os
    nós.

19
Exemplo de sistemas
  • Time de Futebol - Sistema Multiagentes Cognitivo
    Cooperativo
  • Cada jogador possui um conhecimento individual e
    limitado
  • Cada jogador não pode resolver o problema
    sozinho
  • Cada jogador pode ter características diferentes
    dos demais
  • Cada jogador age de forma autônoma e assíncrona
  • Existe um objetivo global que é de conhecimento
    de todos os indivíduos
  • Este objetivo global está acima dos objetivos
    individuais de cada agente
  • Não existe um controle global
  • A junção das capacidades individuais resolve o
    problema.

20
Exemplo de sistemas
  • Negociação trabalhista - Sistema Multiagentes
    Cognitivo Não-Cooperativo
  • Os objetivos de cada parte são usualmente
    contrapostos
  • A informação de cada parte é incompleta
  • Existe um objetivo global desejado, mas que não é
    mais importante que os objetivos individuais
  • Cada parte procura convencer seu oponente para
    que ele ceda (ocorre um processo de negociação)
  • Não da para ter certeza sobre o que a outra parte
    vai fazer
  • Não existe um controle centralizado do processo

21
Semelhanças entre os exemplos
  • Inteligência Global / Individual
  • Cada ser individual possui uma Inteligência
    própria. O sistema possui uma Inteligência global
    que é resultado do conjunto de inteligências
    individuais.
  • Objetivo Global / Individual
  • Existe sempre um objetivo global a ser atingido
    e os indivíduos podem ou não ter consciência
    disto.
  • Cada indivíduo possui objetivos próprios, que
    podem ou não estar acima do objetivo global
  • Interações Predefinidas / Não-predefinidas
  • Todas as interações entre os agentes podem ser
    pre-definidas, ou não

22
Historicamente
  • Existe uma diferenciação entre um sistema
    desenvolvido como um DPS e como um MAS.
  • Alguns pesquisadores consideravam que DSP é uma
    sub-área de MAS, e outros consideravam o inverso.
  • Nos dias atuais existe um tendência a considerar
    tudo como MAS
  • A diferença entre os sistemas agora está
  • Na distribuição do conhecimento
  • Na existência ou não de um objetivo global
  • Se o objetivo global existir, qual o grau de
    compromisso que que cada agente tem com ele,
    quando confrontado com os seus objetivos
    individuais?

23
Taxonomia Anterior
IA
IA convencional
IA Distribuída
Outros
MAS
DPS
Reativo Cognitivo
Não-cooperativo Cooperativo
24
Taxonomia Moderna
IA
IA convencional
IA Distribuída
Outros
MAS
Classificações Intermediárias
Estritamente Cooperativo Estritamente Não-
Cooperativo
25
Problemas dos MAS
  • Como descrever e alocar as entidades de um
    problema em tre os agentes do sistema?
  • Como habilitar os agentes para se comunicar e
    interagir? Que linguagem de comunicação utilizar?
  • Como garantir que os agentes vão agir de forma
    coerente, sem provocar efeitos indesejáveis?
    (Dilema do prisioneiro)
  • Como habilitar os agentes para representar e
    raciocinar sobre as ações de outros agentes para
    conseguir se coordenar com eles?
  • Como gerenciar a limitação de recursos de cada
    agente?
  • Como construir um MAS de forma efetiva? Como
    definir plataformas tecnológicas e metodologias
    de desenvolvimento?

26
Processo de Desenvolvimento de um MAS
  • Similar a divisão-e-conquista
  • Busca-se definir
  • Quem são os agentes
  • Protocolo de comunicação entre os agentes (redes
    de contrato)
  • Regras de funcionamento de cada agente (Relações
    entre crenças, percepções e ações)

Ask(agent(ID), product(nome(CD), autor(Chico
Buarque) ))
Products(Autor(Chico Buarque),
CD(...),CD(...))
27
Jogos dos 8 Números
  • Objetivo Colocar as letras em ordem alfabética
    no menor tempo possível
  • Este problema é np-completo

28
Jogos dos 8 Números
  • Considerando cada agente como uma peça, temos
    que
  • Cada agente tem como objetivo ir para a sua
    posição
  • Cada agente sabe a sua posição atual e pode estar
    ou não ativo
  • Apenas um agente está ativo de cada vez (A, em
    seguida B, etc.)
  • Cada agente pode
  • Atacar um outro agente
  • Fugir quando for atacado
  • A fuga só pode ocorrer quando o agente não
    estiver bloqueado
  • Percorrer o caminho padrão, mesmo estando em sua
    posição.

29
Jogos dos 8 Números
  • O protocolo de comunicação é
  • Ataque ataque (atacante(...), posição_atacado(...
    ))
  • Fuga Fugir (posição_fuga(...))
  • Bloqueado Block (atacante(...))
  • PercorrerCaminhoPadrão()

30
Jogos dos 8 Números
E B C A H F
D G
Bloqueado Ativo
31
Jogos dos 8 Números
E B C A H F
D G
Bloqueado Ativo
32
Jogos dos 8 Números
B C E A H F
D G
Ativo
33
Jogos dos 8 Números
B C H A G E
F D
Ativo
34
Jogos dos 8 Números
A B C G H E F
D
Bloqueado Ativo
Resultados Obtidos com MAS 30X30 Resultados com
técnicas normais 5X5
35
Task Allocation Problem
  • Objetiva minimizar a interdependência de tarefas
  • Diminuir o overhead de comunicação
  • Aumentar as chances de se encontrar uma solução
    consistente
  • Este foi um dos primeiros problemas atacados pela
    IA distribuída com o Contract Net Protocol (CNP).

36
Task Allocation Problem
- Contract Net Protocol -
  • Cada agente pode assumir dois papéis
  • Gerente
  • Contratante
  • Dada uma tarefa, o agente (contratante) determina
    se esta pode ser quebrada em sub-tarefas
    concorrentes.
  • Ele usa o protocolo para anunciar as sub-tarefas
    para os outros agentes (Gerentes) e esperar por
    ofertas.
  • O contratante recebe as ofertas feitas, escolhe a
    melhor e anuncia o vencedor
  • O vencedor pode então, se quiser, ver se esta
    tarefa pode ser subdividida, e se tornar um
    Contratante.

37
Task Allocation Problem
1
2
3
4
5
Objetivo Levar o conjunto de blocos para o ponto
5 na mesma ordem. Regras - Só se pode mover um
bloco de cada vez - Cada bloco só pode se
mover para o posição imediatamente
ao lado
38
Task Allocation Problem
  • Cada agente pode assumir a tarefa de levar um
    número x de blocos, e, se não conseguir, ele pode
    subdividir esta tarefa e esperar ofertas.
  • Tomando um conjunto de n agentes e de 3
    problemas, temos

39
Task Allocation Problem
  • Como existem vários problemas paralelos
  • Cada agente precisa ver se pode ou não assumir
    uma tarefa
  • Decidir que tipo de tarefa ela vai poder assumir
    (número de blocos)
  • Decidir se deve ou não subdividir a tarefa que
    recebeu

40
Aplicações
  • PDA (Personal Digital Assistant)
  • Assistentes para análise de e-mails
  • Assistentes para organização de agenda de
    horários
  • Controle de tráfego aéreo
  • Comércio eletrônico
  • Jogos com Personagens
  • Histórias Interativas
  • Busca na Internet
  • Sistemas de Controle (tempo real)
  • Sistemas de Telefonia

41
Balanço geral
  • Vantagens
  • Robustez
  • Eficiência
  • Possibilidade de resolver problemas mais
    complexos
  • Desvantagens
  • Falta uma metodologia de desenvolvimento bem
    definida
  • Sobrecarga de comunicação
  • Maior complexidade do paradigma de
    desenvolvimento

42
Concluindo
  • O que significa dizer que um determinado problema
    pode ser melhor resolvido com uma abordagem
    multiagentes?

43
Quando usar...
  • Problema complexo
  • divide and conquer
  • ex. jogo dos 8 números, ordenação, etc.
  • Problema intrinsecamente distribuído
  • ex. jogos com personagens, administração de
    sistemas, controle de tráfego, etc.
  • Problemas exigindo rápido tempo de resposta
  • processamento paralelo
  • ex. busca na internet, grupo musical, etc.
  • Problema com domínios de conhecimento ou tarefas
  • um agente para cada tipo de conhecimento/tarefa
  • ex. usina nuclear

44
Depois de descobrir que deve usar, o que fazer?
  • Utilizando linguagens OO convencionais
    Bibliotecas adicionais
  • Para comunicação JATLite (KQML), FIPA
  • Para raciocínio
  • Motores de inferência lógica JEOPS, ABE, JESS,
    CLIPS
  • Motores de inferência bayesiana Hugin, MSBN
  • Redes neurais
  • Para mobilidade Aglets, Telescript, etc.
  • Utilizar ambientes de desenvolvimento
  • Agent Builder
  • Utilizar linguagens orientadas a agentes
  • Agents0, Jackal, etc.

45
FIM
Write a Comment
User Comments (0)
About PowerShow.com