Diogo Vinícius Winck
                diogo.winck@gmail.com




gtalk: diogo.winck@gmail.com
skype: diogo.winck
site: www.winck.biz
Agenda
• Sistemas Multi Agentes
• ABMS – Agente Based Models and Simulation
• Netlogo
o comportamento dos
agente pode ser:
                      Reativo
                      • Responde a
                        mudanças do
                        ambiente




       Pró-ativo
       • Foco no
         objetivo
Agentes caracterizam-se por
• Estado
• Comportamento
• Relacionamento com outros agentes
Estado
Propriedades/atributos

• Crenças: sobre si, sobre o ambiente e sobre os outros
• Objetivos: estados futuros desejados
Comportamento
Métodos / tarefas / operações  ações  modificam o estado
Planos: conjunto ordenado de ações que visam os objetivos.

Um agente pode aprender com o seu ambiente e mudar seus
comportamentos em resposta a suas experiências.

Dois níveis de regras
• Regras de nível básico oferecerem
  respostas ao ambiente,
• “Regras para alterar as regras"
  fornecem adaptação.
Relacionamento
Envio e resposta de mensagens
• Respostas não são
  obrigatórias

Um sistema pode apresentar
comportamentos complexos
como resultado da ação
conjunta de agentes realizando
comportamentos simples.
Tipologia
Nwana propôs a seguinte tipologia em 1996:
Sistema Multi Agentes
Dividir para conquistar:
• Responsabilidade
• Conhecimento


Possibilita:
• Heterogeneidade:
  agentes especialistas
  para cada tarefa
• Concorrência e distribuição
• Colaboração, cooperação, negociação e/ou competição
  entre os agentes
Ambiente
Onde o ambiente está situado.

• Acessível vs. Inacessível
• Determinístico vs.
  Não Determinístico
• Estático vs. Dinâmico
• Episódico vs. Não episódico
• Discreto vs. Contínuo
Organização
• Agregação das relações entre agentes
   • Papéis e seus relacionamentos


• Agentes do nível N são
 agrupados em
 organizações,
 que no nível
 N+1 são
 vistos como
 indivíduos.
Desenvolvendo SMA
Frameworks conceituais – definem e contextualizam conceitos:
• KAoS, TAO, ...

Linguagem para Modelagem:
• UML estendida: AUML, AORML, MAS-ML, ...

Metodologias para desenvolvimento:
• Tropos, Prometheus, MaSE, ...

Framework/plataformas: infraestrutura para desenvolvimento
• ASF, Jade, Netlogo, ...
Agent Platform FIPA
JADE
Java Agent Development Framework
• Framework para o desenvolvimento de SMA compatível
  com o modelo FIPA
• Composto por
ABMS
     Agente Based Models and Simulation
• É uma abordagem para modelar sistemas e sistemas de
 sistemas como agentes iterativos autônomos.

• ABMS procura modela comportamentos
 reais e plausíveis de indivíduos, ao invés
 de normativo, tal como pesquisas
 operacional.

• Existem vários acrônimos diferentes:
   • Agent-based modelling (ABM)
   • Agent-based simulation (ABS)
   • Individual based modelling (IBM),
Regras simples resultam em
           organização
• Relacionada com CAS (Complex Adaptative Systems).
   • Preocupa-se com comportamentos complexos emergem na
     natureza a partir de agentes autônomos Simples.


• Exemplo: The Boids simulation
   • “Bird-like object” - flocking behaviour.
   • Craig Reynolds in 1986
   • Separação + alinhamento + coesão
The Boids simulation
 Separação:
 • Orientar para evitar congestionamento
   flockmates locais

 Alinhamento:
 • orientar ângulo média do flockmates locais


 Coesão:
 • orientar a se mover para a posição média de
   flockmates locais
Netlogo
É um ambiente de desenvolvimento multi-agente para
modelagem de sistemas.
  • Utiliza linguagem logo
  • Criada em 1999
  • Escrita em Scala e Java
  • Projeto Open Source sob licença GPLv2
    e código disponível no GitHub
Indivíduos no NetLog
• Turtle: agente que se movem no ambiente.


• Patch: um pedaço quadrado do ambiente, onde turtles
 movem-se e interagem.

• Observador: contempla (point of view) o mundo forado
 por turtles e patches
The boids algorithm
to flock ;; turtle procedure
  find-flockmates
  if any? flockmates
    [ find-nearest-neighbor
      ifelse distance nearest-neighbor < minimum-separation
        [ separate ]
        [ align
          cohere ] ]
end
simulação
Alguns comandos do NETLOG
• crt - abreviação para create-turtles
   • Crt 10 – cria 10 turtles


• ask turtles [ comandos ] - executa comandos sobre turtles


• ask patches [ comandos ] - executa comandos sobre patches
   • ask patches [set pcolor blue]


• ask turtles [fd 10] - cada tartaruga avança 10 passos
Mais comandos...
• ask turtles [ hatch n [ comandos ] ]. Cada turtle gera n
 novas turtles idênticas à progenitora e na mesma
 posição desta (xcor,ycor) e cada cria executa os
 comandos.

• ask patches [ sprout n [ comandos ] ]. De cada patch
 "brotam" n turtles localizadas nas coordenadas (inteiras)
 do patch (pxcor,pyxor) e cada turtle executa os
 comandos.
Simulação 3D
Duvidas
Referências Bibliográficas
•   As imagens foram pesquisadas junto a banco de imagens da Microsoft.
•   http://www.asdl.gatech.edu/INIT:AGENT.html
•   http://www.red3d.com/cwr/boids/
•   NetLogo itself: Wilensky, U. 1999.
    NetLogo.http://ccl.northwestern.edu/netlogo/. Center for Connected Learning
    and Computer-Based Modeling, Northwestern University. Evanston, IL.
•   HubNet: Wilensky, U. & Stroup, W., 1999.
    HubNet.http://ccl.northwestern.edu/netlogo/hubnet.html. Center for
    Connected Learning and Computer-Based Modeling, Northwestern University.
    Evanston, IL.
•   http://www.ic.uff.br/~viviane.silva/2012.1/isma
•   Multiagent Systems, A Modern Approach to Distributed Modern Approach to
    Artificial Intelligence - MIT, Weiss, 1999
•   Software Agents: An Overview. Hyacinth S. Nwana. 1996

Seminario sma,abms e netlogo

  • 2.
    Diogo Vinícius Winck diogo.winck@gmail.com gtalk: diogo.winck@gmail.com skype: diogo.winck site: www.winck.biz
  • 3.
    Agenda • Sistemas MultiAgentes • ABMS – Agente Based Models and Simulation • Netlogo
  • 12.
    o comportamento dos agentepode ser: Reativo • Responde a mudanças do ambiente Pró-ativo • Foco no objetivo
  • 13.
    Agentes caracterizam-se por •Estado • Comportamento • Relacionamento com outros agentes
  • 14.
    Estado Propriedades/atributos • Crenças: sobresi, sobre o ambiente e sobre os outros • Objetivos: estados futuros desejados
  • 15.
    Comportamento Métodos / tarefas/ operações  ações  modificam o estado Planos: conjunto ordenado de ações que visam os objetivos. Um agente pode aprender com o seu ambiente e mudar seus comportamentos em resposta a suas experiências. Dois níveis de regras • Regras de nível básico oferecerem respostas ao ambiente, • “Regras para alterar as regras" fornecem adaptação.
  • 16.
    Relacionamento Envio e respostade mensagens • Respostas não são obrigatórias Um sistema pode apresentar comportamentos complexos como resultado da ação conjunta de agentes realizando comportamentos simples.
  • 17.
    Tipologia Nwana propôs aseguinte tipologia em 1996:
  • 18.
    Sistema Multi Agentes Dividirpara conquistar: • Responsabilidade • Conhecimento Possibilita: • Heterogeneidade: agentes especialistas para cada tarefa • Concorrência e distribuição • Colaboração, cooperação, negociação e/ou competição entre os agentes
  • 19.
    Ambiente Onde o ambienteestá situado. • Acessível vs. Inacessível • Determinístico vs. Não Determinístico • Estático vs. Dinâmico • Episódico vs. Não episódico • Discreto vs. Contínuo
  • 20.
    Organização • Agregação dasrelações entre agentes • Papéis e seus relacionamentos • Agentes do nível N são agrupados em organizações, que no nível N+1 são vistos como indivíduos.
  • 21.
    Desenvolvendo SMA Frameworks conceituais– definem e contextualizam conceitos: • KAoS, TAO, ... Linguagem para Modelagem: • UML estendida: AUML, AORML, MAS-ML, ... Metodologias para desenvolvimento: • Tropos, Prometheus, MaSE, ... Framework/plataformas: infraestrutura para desenvolvimento • ASF, Jade, Netlogo, ...
  • 22.
  • 23.
    JADE Java Agent DevelopmentFramework • Framework para o desenvolvimento de SMA compatível com o modelo FIPA • Composto por
  • 24.
    ABMS Agente Based Models and Simulation • É uma abordagem para modelar sistemas e sistemas de sistemas como agentes iterativos autônomos. • ABMS procura modela comportamentos reais e plausíveis de indivíduos, ao invés de normativo, tal como pesquisas operacional. • Existem vários acrônimos diferentes: • Agent-based modelling (ABM) • Agent-based simulation (ABS) • Individual based modelling (IBM),
  • 25.
    Regras simples resultamem organização • Relacionada com CAS (Complex Adaptative Systems). • Preocupa-se com comportamentos complexos emergem na natureza a partir de agentes autônomos Simples. • Exemplo: The Boids simulation • “Bird-like object” - flocking behaviour. • Craig Reynolds in 1986 • Separação + alinhamento + coesão
  • 26.
    The Boids simulation Separação: • Orientar para evitar congestionamento flockmates locais Alinhamento: • orientar ângulo média do flockmates locais Coesão: • orientar a se mover para a posição média de flockmates locais
  • 27.
    Netlogo É um ambientede desenvolvimento multi-agente para modelagem de sistemas. • Utiliza linguagem logo • Criada em 1999 • Escrita em Scala e Java • Projeto Open Source sob licença GPLv2 e código disponível no GitHub
  • 28.
    Indivíduos no NetLog •Turtle: agente que se movem no ambiente. • Patch: um pedaço quadrado do ambiente, onde turtles movem-se e interagem. • Observador: contempla (point of view) o mundo forado por turtles e patches
  • 29.
    The boids algorithm toflock ;; turtle procedure find-flockmates if any? flockmates [ find-nearest-neighbor ifelse distance nearest-neighbor < minimum-separation [ separate ] [ align cohere ] ] end
  • 30.
  • 31.
    Alguns comandos doNETLOG • crt - abreviação para create-turtles • Crt 10 – cria 10 turtles • ask turtles [ comandos ] - executa comandos sobre turtles • ask patches [ comandos ] - executa comandos sobre patches • ask patches [set pcolor blue] • ask turtles [fd 10] - cada tartaruga avança 10 passos
  • 32.
    Mais comandos... • askturtles [ hatch n [ comandos ] ]. Cada turtle gera n novas turtles idênticas à progenitora e na mesma posição desta (xcor,ycor) e cada cria executa os comandos. • ask patches [ sprout n [ comandos ] ]. De cada patch "brotam" n turtles localizadas nas coordenadas (inteiras) do patch (pxcor,pyxor) e cada turtle executa os comandos.
  • 33.
  • 34.
  • 35.
    Referências Bibliográficas • As imagens foram pesquisadas junto a banco de imagens da Microsoft. • http://www.asdl.gatech.edu/INIT:AGENT.html • http://www.red3d.com/cwr/boids/ • NetLogo itself: Wilensky, U. 1999. NetLogo.http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL. • HubNet: Wilensky, U. & Stroup, W., 1999. HubNet.http://ccl.northwestern.edu/netlogo/hubnet.html. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL. • http://www.ic.uff.br/~viviane.silva/2012.1/isma • Multiagent Systems, A Modern Approach to Distributed Modern Approach to Artificial Intelligence - MIT, Weiss, 1999 • Software Agents: An Overview. Hyacinth S. Nwana. 1996