O documento discute sistemas multiagentes, modelagem baseada em agentes e a plataforma NetLogo. Explica conceitos-chave como agentes, comportamento, estados e interações. Também descreve como o algoritmo Boids simula o comportamento de bandos através de regras simples.
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.
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