SlideShare a Scribd company logo
1 of 35
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

More Related Content

Similar to Seminario sma,abms e netlogo

Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edtedbrunoaalves
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Camilla Gomes
 
Simple singleton pattern
Simple singleton patternSimple singleton pattern
Simple singleton patternDennis Calazans
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfAndreCosta502039
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1Carlos Melo
 
342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdfGabrielMarchesan
 
Navegacao de Robótica Autônoma em Ambientes Dinâmicos
Navegacao de Robótica Autônoma em Ambientes DinâmicosNavegacao de Robótica Autônoma em Ambientes Dinâmicos
Navegacao de Robótica Autônoma em Ambientes DinâmicosLCoN Mackenzie
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
Rene Seguranca Ai Agents
Rene Seguranca Ai AgentsRene Seguranca Ai Agents
Rene Seguranca Ai AgentsMarco Manso
 
Design Patterns on Rails
Design Patterns on RailsDesign Patterns on Rails
Design Patterns on Railstchandy
 
Mediator Padrão de Projeto
Mediator Padrão de ProjetoMediator Padrão de Projeto
Mediator Padrão de ProjetoFlávio França
 
Aula4AgentesIntelig.ppt
Aula4AgentesIntelig.pptAula4AgentesIntelig.ppt
Aula4AgentesIntelig.pptIsaac Medeiros
 
Introdução ao Domain-Driven Design
Introdução ao Domain-Driven DesignIntrodução ao Domain-Driven Design
Introdução ao Domain-Driven DesignAndré Borgonovo
 
DevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus PartyDevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus PartyFernando Ike
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a ooPAULO Moreira
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetosSliedesharessbarbosa
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 

Similar to Seminario sma,abms e netlogo (20)

Palestra ror edted
Palestra ror edtedPalestra ror edted
Palestra ror edted
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9
 
Simple singleton pattern
Simple singleton patternSimple singleton pattern
Simple singleton pattern
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
 
Linguagem de programação introdução v1
Linguagem de programação   introdução v1Linguagem de programação   introdução v1
Linguagem de programação introdução v1
 
342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf
 
MaDKit
MaDKitMaDKit
MaDKit
 
Navegacao de Robótica Autônoma em Ambientes Dinâmicos
Navegacao de Robótica Autônoma em Ambientes DinâmicosNavegacao de Robótica Autônoma em Ambientes Dinâmicos
Navegacao de Robótica Autônoma em Ambientes Dinâmicos
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
Rene Seguranca Ai Agents
Rene Seguranca Ai AgentsRene Seguranca Ai Agents
Rene Seguranca Ai Agents
 
Design Patterns on Rails
Design Patterns on RailsDesign Patterns on Rails
Design Patterns on Rails
 
Mediator Padrão de Projeto
Mediator Padrão de ProjetoMediator Padrão de Projeto
Mediator Padrão de Projeto
 
Aula4AgentesIntelig.ppt
Aula4AgentesIntelig.pptAula4AgentesIntelig.ppt
Aula4AgentesIntelig.ppt
 
Introdução ao Domain-Driven Design
Introdução ao Domain-Driven DesignIntrodução ao Domain-Driven Design
Introdução ao Domain-Driven Design
 
DevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus PartyDevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus Party
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a oo
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetos
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 

Seminario sma,abms e netlogo

  • 1.
  • 2. Diogo Vinícius Winck diogo.winck@gmail.com gtalk: diogo.winck@gmail.com skype: diogo.winck site: www.winck.biz
  • 3. Agenda • Sistemas Multi Agentes • ABMS – Agente Based Models and Simulation • Netlogo
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. o comportamento dos agente pode 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: sobre si, 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 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.
  • 17. Tipologia Nwana propôs a seguinte tipologia em 1996:
  • 18. 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
  • 19. 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
  • 20. 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.
  • 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, ...
  • 23. JADE Java Agent Development Framework • 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 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
  • 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 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
  • 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 to flock ;; turtle procedure find-flockmates if any? flockmates [ find-nearest-neighbor ifelse distance nearest-neighbor < minimum-separation [ separate ] [ align cohere ] ] end
  • 31. 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
  • 32. 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.
  • 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