# NetLogo

NetLogo es un lenguaje de programación y entorno de desarrollo integrado para la realización de modelos basados en agentes.

## Descripción

NetLogo fue diseñado por Uri Wilensky, con el espíritu del lenguaje de programación Logo, para tener «umbral bajo y sin techo». Enseña conceptos de programación usando agentes con la forma de turtles («tortugas»), patches («parcelas»), links («enlaces») y el observer («observador»). NetLogo fue diseñado teniendo en mente a numerosas audiencias, en particular enseñar a niños en la comunidad educativa y para que expertos de diferentes campos sin conocimientos previos de programación pudieran modelizar fenómenos relacionados con su campo. Se han publicado numerosos artículos científicos usando NetLogo.
El entorno de NetLogo permite la exploración de fenómenos emergentes, y viene con una extensa biblioteca de modelos que incluye modelos de diferentes campos, tales como economía, biología, física, química, psicología o dinámica de sistemas. NetLogo permite explorar los modelos modificando interruptores, deslizadores, cuadros de diálogo y otros elementos de interfaz. Además de la exploración de modelos existentes, NetLogo permite modificarlos y crear nuevos modelos.
NetLogo es de código abierto y está disponible gratuitamente en la página web de NetLogo. Está en uso en una gran variedad de contextos educativos, desde la enseñanza básica hasta la universidad. Muchos profesores usan NetLogo en sus planes de estudio. NetLogo fue diseñado e implementado por Uri Wilensky, director del Center for Connected Learning and Computer-Based Modeling (CCL) de la Universidad del Noroeste.

## Fundamentos técnicos

NetLogo es un software libre y de código abierto, publicado bajo una GNU General Public License (GPL). También están disponibles licencias comerciales. Está escrito en Scala y Java y se ejecuta en la máquina virtual de Java (JVM). En su núcleo hay un intérprete/compilador híbrido que compila parcialmente el código escrito por el usuario a un bytecode de la JVM.
NetLogo Web es una versión que se ejecuta en JavaScript en lugar de en la JVM, por lo que los modelos se pueden ejecutar en un navegador web. Sin embargo, no tiene toda la funcionalidad de la versión de escritorio, y la página web oficial afirma que la «versión de escritorio de NetLogo está recomendada para la mayoría de usos».

## Ejemplos

Un simple modelo multiagente en NetLogo es el modelo de depredación lobo-oveja, que se muestra en la captura de pantalla superior. Modeliza la evolución de la población de un sistema de depredador y presa y tiene las siguientes características:
* Hay dos razas de tortugas, llamadas sheep (ovejas) y wolves (lobos).
* Las ovejas y los lobos se mueven aleatoriamente y tienen una energía limitada.
* Las ovejas y los lobos pierden energía al moverse. Si un lobo o una oveja se queda sin energía, muere.
* Las ovejas ganan energía comiendo hierba.
* Los lobos ganan energía comiendo ovejas.
* Tanto los lobos como las ovejas se pueden reproducir, compartiendo su energía con su descendencia.

## HubNet

HubNet es una tecnología que usa NetLogo para ejecutar simulaciones participativas en el aula. En una simulación participativa, un grupo de usuarios participan en la representación del comportamiento de un sistema. Usando un dispositivo individual, como una computadora o una calculadora gráfica, cada usuario actúa como un agente separado e independiente. Un ejemplo de una actividad de HubNet es la Tragedy of the commons, que modeliza el problema económico conocido como la tragedia de los bienes comunales.