# NetLogo

NetLogo é uma linguagem de programação e um ambiente de desenvolvimento integrado baseada em agentes.

## Sobre

O NetLogo foi desenhado, no espírito da linguagem Logo, para ser "piso baixo e sem teto". Ele ensina conceitos de programação usando agentes na forma de tartarugas, esparadrapos, "elos" e o observador. O programa foi desenhado com múltiplas audiências em mente, em particular: ensinar crianças na comunidade educativa e para especialistas sem um conhecimento de programação para modelar fenômenos relacionados.
Muitos artigos científicos foram publicados usando o NetLogo.
O ambiente NetLogo permite a exploração de emergências. Ele vem com uma vasta biblioteca de modelos, incluindo modelos em uma variedade de domínios, tais como economia, biologia, física, química, psicologia e dinâmica de sistemas. O programa permite a exploração ao modificar chaves, controles deslizantes, seletores, entradas e outros elementos de sua interface. Além da exploração, o NetLogo permite a autoria de novos modelos e a modificação de modelos existentes.
O programa está livremente disponível a partir de seu sítio web. Ele é utilizado em uma larga variedade de contextos educacionais, da escola elementar à graduação. Muitos professores fazem uso do NetLogo em seus currículos.
O NetLogo foi projetado e criado por Uri Wilensky, diretor do Centro para Aprendizagem Conetada e Modelagem baseada em Computadores da Universidade Northwestern Seu desenvolvedor líder é Seth Tisue.

## Livros

Vários livros sobre o NetLogo foram publicados, tais como:
* Steven F. Railsback; Volker Grimm (2011). Agent-Based and Individual-Based Modeling: A Practical Introduction. Cambridge: Princeton University Press. ISBN 978-0-691-13674-5
* Nigel Gilbert; Klaus G. Troitzch (2005). SIMULATION FOR THE SOCIAL SCIENTIST Second Edition. London: McGraw Hill. ISBN 978-0-335-21600-0
* Uri Wilensky; William Rand. An introduction to agent-based modeling: Modeling natural, social and engineered complex systems with NetLogo. Cambridge: MIT Press

## Cursos Online

Muitos cursos online massivos abertos estão atualmente sendo oferecidos que utilizam o NetLogo para exercícios ou demonstrações:
* Introdução à Complexidade (Melanie Mitchell, Santa Fe Institute) http://www.complexityexplorer.org
* Análise de Redes Sociais (Lada Adamic, University of Michigan) https://www.coursera.org/course/sna
* Modelo de Pensamento (Scott E. Page, University of Michigan) https://www.coursera.org/course/modelthinking

## Base técnica

O NetLogo é um software livre e de código aberto, sob uma licença GPL. Licenças comerciais também estão disponíveis. Ele é escrito em Scala e em Java e roda na máquina virtual do Java. Seu núcleo é um interpretador/compilador híbrido que parcialmente compila o código do usuário para o bytecode JVM.
Uma versão que roda em JavaScript, ao invés da JVM, está atualmente em desenvolvimento.

## Exemplos

Um modelo multiagente simples no NetLogo é o modelo de predação Lobo-Ovelha, que é mostrado na captura de tela acima. Ele modela o crescimento populacional de um sistema presa/predador através do tempo. Possui as seguintes características:
* Existem duas raças de tartarugas, chamadas ovelhas e lobos.
* As ovelhas e os lobos se movimentam aleatoriamente e possuem energia limitada.
* Os lobos e as ovelhas perdem energia ao se movimentarem. Se um lobo ou uma ovelha tiver energia zero, ele morre.
* A ovelha ganha energia ao comer grama.
* Os lobos ganham energia ao comer ovelhas.
* Tanto lobos quanto ovelhas podem se reproduzir, compartilhando energia com sua prole.

## HubNet

HubNet é uma tecnologia que utiliza o NetLogo para rodar simulações participativas na sala de aula. Em uma simulação participativa, um grupo inteiro de usuários toma parte em estabelecer o comportamento de um sistema. Usando um dispositivo individual, como um computador em rede ou uma calculadora gráfica, cada usuário atua como um agente separado e independente.
Um exemplo de atividade da Hubnet é a "Tragédia dos commons", que modela o problema econômico homônimo.