seminario sma,abms e netlogo

35
Plataformas SMA, ABMS e NetLogo Diogo Vinícius Winck, Msc

Upload: diogo-winck

Post on 05-Jun-2015

298 views

Category:

Technology


6 download

DESCRIPTION

Agentes de Software - PUC/PR

TRANSCRIPT

Page 1: Seminario   sma,abms e netlogo

Plataformas SMA, ABMS e NetLogoDiogo Vinícius Winck, Msc

Page 3: Seminario   sma,abms e netlogo

Agenda

• Sistemas Multi Agentes• ABMS – Agente Based Models and Simulation• Netlogo

Page 4: Seminario   sma,abms e netlogo

um sistema computacional flexível, situado em um

ambiente e capaz de desempenhar ações

autônomas para alcançar seus objetivos.

Agente é ...

Page 5: Seminario   sma,abms e netlogo

um sistema computacional flexível, situado em um

ambiente e capaz de desempenhar ações

autônomas para alcançar seus objetivos.

Agente é ...

Capaz de atuar em

um ambiente

Page 6: Seminario   sma,abms e netlogo

um sistema computacional flexível, situado em um

ambiente e capaz de desempenhar ações

autônomas para alcançar seus objetivos.

Agente é ...

Conhece

parcialmente o

ambiente

Capaz de atuar em

um ambiente

Page 7: Seminario   sma,abms e netlogo

um sistema computacional flexível, situado em um

ambiente e capaz de desempenhar ações

autônomas para alcançar seus objetivos.

Agente é ...

Capaz de atuar em

um ambiente

Conhece

parcialmente o

ambiente

Percebe mudanças

Page 8: Seminario   sma,abms e netlogo

um sistema computacional flexível, situado em um

ambiente e capaz de desempenhar ações

autônomas para alcançar seus objetivos.

Agente é ...

Capaz de atuar em

um ambiente

Conhece

parcialmente o

ambiente

Percebe mudançasPode Aprender

Page 9: Seminario   sma,abms e netlogo

um sistema computacional flexível, situado em um

ambiente e capaz de desempenhar ações

autônomas para alcançar seus objetivos.

Agente é ...

Capaz de atuar em

um ambiente

Conhece

parcialmente o

ambiente

Percebe mudanças

Pode comunicar-se

com outros agentes

Pode Aprender

Page 10: Seminario   sma,abms e netlogo

um sistema computacional flexível, situado em um

ambiente e capaz de desempenhar ações

autônomas para alcançar seus objetivos.

Agente é ...

Capaz de atuar em

um ambiente

Conhece

parcialmente o

ambiente

Percebe mudanças

Adapta-se

Pode comunicar-se

com outros agentes

Pode Aprender

Page 11: Seminario   sma,abms e netlogo

um sistema computacional flexível, situado em um

ambiente e capaz de desempenhar ações

autônomas para alcançar seus objetivos.

Agente é ...

Capaz de atuar em

um ambiente

Conhece

parcialmente o

ambiente

Percebe mudanças

Adapta-se

Pode comunicar-se

com outros agentes

Pode Aprender

Atua se conveniente

para seu objetivo

Page 12: Seminario   sma,abms e netlogo

Reativo• Responde a

mudanças do ambiente

Pró-ativo• Foco no

objetivo

Necessário

balancear

o comportamento dos agente pode ser:

Page 13: Seminario   sma,abms e netlogo

Agentes caracterizam-se por

• Estado• Comportamento• Relacionamento com outros agentes

Page 14: Seminario   sma,abms e netlogo

Estado

Propriedades/atributos

• Crenças: sobre si, sobre o ambiente e sobre os outros• Objetivos: estados futuros desejados

Page 15: Seminario   sma,abms e netlogo

Comportamento

Métodos / tarefas / operações ações modificam o estadoPlanos: 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.

Page 16: Seminario   sma,abms e netlogo

Relacionamento

Envio e resposta de mensagens• Respostas não são

obrigatórias

Um sistema pode apresentarcomportamentos complexoscomo resultado da ação conjunta de agentes realizandocomportamentos simples.

Page 17: Seminario   sma,abms e netlogo

TipologiaNwana propôs a seguinte tipologia em 1996:

Page 18: Seminario   sma,abms e netlogo

Sistema Multi AgentesDividir 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 organizações

papéis objetos

Agente

Page 19: Seminario   sma,abms e netlogo

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

Page 20: Seminario   sma,abms e netlogo

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

N+1

Page 21: Seminario   sma,abms e netlogo

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

Page 22: Seminario   sma,abms e netlogo

Agent Platform FIPA

Page 23: Seminario   sma,abms e netlogo

JADE Java Agent Development Framework• Framework para o desenvolvimento de SMA compatível

com o modelo FIPA• Composto por

Contêiner Biblioteca

Ferramentas

Page 24: Seminario   sma,abms e netlogo

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

Page 25: Seminario   sma,abms e netlogo

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

Page 26: Seminario   sma,abms e netlogo

The Boids simulationSeparaçã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

Page 27: Seminario   sma,abms e netlogo

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

Page 28: Seminario   sma,abms e netlogo

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

Page 29: Seminario   sma,abms e netlogo

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

Page 30: Seminario   sma,abms e netlogo

simulação

Page 31: Seminario   sma,abms e netlogo

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

Page 32: Seminario   sma,abms e netlogo

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.

Page 33: Seminario   sma,abms e netlogo

Simulação 3D

Page 34: Seminario   sma,abms e netlogo

Duvidas

Page 35: Seminario   sma,abms e netlogo

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