NETPLAY: um ambiente para simulação multiagente
Transcrição
NETPLAY: um ambiente para simulação multiagente
Apresentação NETPLAY: um ambiente para simulação multiagente Lívia Lopes Azevedo, Alexandre Andrade, Diego Velasco, Lucio Barbiero, Davidson Cury, Crediné Silva de Menezes Instituto de Ciências e Letras do Médio Araguaia (ICLMA) – UFMT Centro Tecnológico – Universidade Federal do Espírito Santo (UFES) [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 1 Prefácio A resolução de problemas requer a exploração de micro mundos para análise de possibilidades. Uma das vertentes desta exploração é através da construção de modelos de simulação multiagente. Propomos um ambiente para a descrição e exploração de micro mundos por leigos em programação de computadores. VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 2 Sumário •Simulação multiagente •Sistemas complexos •NetPlay - funcionalidades VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 3 Simulação Multiagente A área de sistemas multiagentes (SMA) estuda o comportamento de um grupo organizado de agentes autônomos que cooperam entre si para realizar atividades que estão além das suas capacidades individuais. Simulação multiagente é caracterizado pela existência de muitos agentes interagindo uns com os outros, com pouca ou nenhuma coordenação centralizada. VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 4 Sistemas complexos Complexidade é o termo empregado para o estudo de sistemas nos quais fenômenos e comportamentos surgem de interações de componentes simples. São exemplos de sistemas complexos: • uma colônia de formigas, • mercado financeiro, • bando de pássaros voando, • reações do sistema imunológico, • congestionamento de trânsito, • funcionamento do cérebro humano. Em todos esses sistemas não há controle centralizado e os modelos são determinados pelas interações locais entre os componentes descentralizados VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 5 Ambientes de simulação multiagente Existem vários ambientes especificamente projetados baseada em agentes • StarLogo, de programação para modelagem • Swarm, • Repast, • AgentSheets, • NetLogo, • SIMULA. VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 6 NetPlay – concepção O NetPlay é parte integrante do AProSiMA – um ambiente para resolução cooperativa de problemas baseado na Simulação Multiagente. Características do NetPlay: • liberação dos usuários das questões de baixo nível técnico operacional; • reuso dos objetos que compõem o modelo; • facilidade de programação; • visualização do comportamento e interações entre os agentes; • auxiliar na tomada de decisão; • estimular os usuários a criar seus próprios modelos de simulação. VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 7 NetPlay – concepção A idéia do NetPlay é tornar a programação mais próxima de todas as pessoas, destacando a interação humano computador (HCI). A proposta é uma ferramenta mais orientada ao domínio do problema do que a programação em si VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 8 Linguagem • A linguagem – segue o paradigma visual • O código – o usuário não trabalha com código em formato de texto, este é gerado automaticamente pelo NetPlay. É esta característica que possibilita aos usuários sem conhecimento em linguagem de programação construir seus próprios modelos de simulação multiagente. VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 9 Programação Programação – utiliza a metáfora do teatro – o modelador determina os agentes e suas funcionalidades. 1- seleciona agentes 2 – compõe agentes 3 – posiciona agentes no ambiente 4 – estabelece regras de comportamento VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 10 Exemplo A relação presa/predador no ecossistema formado por lobos, ovelhas e grama é um dos exemplos que podem ser modelado com simulação multiagente. Utilizando o NetPlay o usuário poderá definir assim: 1 – selecionando agentes: lobos, ovelhas e grama; Ambiente: a grama é a base do ambiente, palco das interações; 2 – composição dos agentes, isto é, modo como os agentes se apresentam no mundo movimento dos agentes: ovelhas e os lobos andam de modo aleatório, a grama vai se recompondo; Podemos também definir variáveis, por exemplo: a)quantidade de agentes; b)energia adquirida com a alimentação e gasta com a movimentação sobre o ambiente; c) redução de energia com a reprodução VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 11 Exemplo 3 – posiciona agentes Distribuir os agentes lobos, ovelhas e gramas sobre o ambiente, neste modelo a distribuição é aleatória; 4 – estabelecer regras de comportamento, isto é, regras de interação - modo como os agentes interagem com outros agentes e com o ambiente (relação entre seus pares e com famílias distintas) a) se lobo encontra ovelha, então lobo come ovelha e ganha energia; b) se ovelha posicionada sobre a grama, então ovelha come grama e ganha energia; c) se agente (lobo ou ovelha) movimenta sobre o ambiente, então perde energia; d) se agente (lobo ou ovelha) atinge patamar X de energia, então agente (lobo ou ovelha) reproduz e energia é dividida VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 12 Arquitetura NetPlay VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 13 Visualização Visualização – o modelo simulado é visualizado no ambiente NetLogo [http://ccl.northwestern.edu/netlogo/] Escolha do ambiente Netlogo: • É um ambiente de uso gratuito; • É executável em plataformas Windows/Linux/Mac; • É de fácil utilização; • Utiliza uma linguagem derivada do Logo; • Disponibiliza vários recursos em sua interface; VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 14 Funcionamento Após logado na ferramenta o usuário poderá: •Criar modelos; •Alterar modelos – criando novas versões de um existente; •Consultar os modelos existentes; •Excluir modelos – possível apenas para o criador do modelo VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 15 Inclusão de agente VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 16 Inclusão de variável VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 17 Inclusão de condições e ações VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 18 Inclusão monitor VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 19 Código gerado pelo NetPlay VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 20 Visualização no NetLogo VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 21 Controle de versões do modelo VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 22 Ferramenta de análise gráfica VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 23 Uso web O objetivo de implementar a ferramenta com características para web se dá, em primeiro lugar, pela facilidade de uso e acesso por meio de navegadores disponíveis nas máquinas dos usuários, dispensando a instalação de novos programas. Segundo, porque o mesmo será acoplado a um ambiente maior de resolução cooperativa de problemas, que possibilitará a interação entre diversos usuários geograficamente distribuídos. VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 24 Considerações A ferramenta NetPlay está sendo desenvolvido para fins didáticos, sendo um dos seus objetivos ser de fácil utilização, no intuito de possibilitar e estimular os aprendizes a criar seus próprios modelos de simulação, na perspectiva do uso da modelagem multiagente, da capacidade de reuso dos objetos projetados. Visando também diminuir o esforço da programação, NetPlay tornará possível aos aprendizes visualizar o comportamento resultante das interações definidas e fazer conjecturas em relação ao modelo e às tomadas de decisão. VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 25 Considerações A implementação do NetPlay foi realizada como projeto de conclusão de curso de graduação em Ciência da Computação da Universidade Federal do Espírito Santo pelos alunos: Alexandre Andrade, Diego Velasco e Lúcio Barbiero. O NetPlay é uma ferramenta componente do ambiente AProSiMA que esta sendo desenvolvido como tese de doutoramento de Lívia Lopes Azevedo sob a orientação do Prof. Dr. Crediné Silva de Menezes. VIII Ciclo de Palestras sobre Tecnologias na Educação: Saber criar, saber usar 26