Net Logo

Análisis y simulación de agentes en NetLogo Rengifo Chernez Maida Leonela Ingeniería Eléctrica CUARTO SEMESTRE Título

Views 114 Downloads 0 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Análisis y simulación de agentes en NetLogo

Rengifo Chernez Maida Leonela Ingeniería Eléctrica CUARTO SEMESTRE

Título profesional de la carrera: Ingeniero Eléctrico

Docente: Ing. Washintong Xavier García Quilachamín M.Sc.

Estudiante: Rengifo Chernez Maida Leonela

Correo electrónico: [email protected]

Semestre: Cuarto Semestre

Asignatura: Programación III – 4 horas a la semana

Periodo electivo: 2017

MANTA, 1 DE JULIO DE 2017

Contenido Análisis y simulación de agentes en NetLogo 1.

Introducción a NetLogo .......................................................................................... 1 1.1.

Conceptos Básicos ............................................................................................. 1

1.1.1.

Agentes ....................................................................................................... 2

1.1.2.

Variables ..................................................................................................... 3

2.

Análisis y simulación de agentes en NetLogo ....................................................... 3

3.

MAS y M&S: Construyendo Laboratorios artificiales ........................................ 5

4.

La Micro simulación: precursor de modelado basado en el individuo .............. 6

5.

Modelado Basado en Agentes (ABM) .................................................................... 7

6. Conclusión .................................................................................................................. 9 7. Bibliografía .............................................................................................................. 10

Análisis y simulación de agentes en NetLogo 1. Introducción a NetLogo Netlogo es un lenguaje de programación que sigue la filosofía del modelado basado en agentes y es un entorno programable de modelado para simular fenómenos naturales y sociales. Es especialmente adecuado para modelar sistemas complejos que se desarrollan en el tiempo. Los modeladores pueden dar instrucciones a cientos o miles de "agentes" independientes todos operando en paralelo. Esto hace que sea posible explorar la relación entre el nivel micro del comportamiento de los individuos y los patrones a nivel macro que emergen de la interacción de muchos individuos (Baker, 2015). Además de ser un lenguaje de programación simple y adaptado a la modelación/simulación de fenómenos en los que aparecen muchos individuos interactuando (como, por ejemplo, en los fenómenos habituales que se dan en la naturaleza, las sociedades o muchas áreas de la matemática) (Forver, 2016). También es una "herramienta de autoría", que permite a los estudiantes, a los profesores y a los desarrolladores de planes de estudio, crear sus propios modelos de una menera muy sencilla fácil de aprender e incluso crear simulaciones propias. Y, es lo suficientemente avanzado como para servir como una poderosa herramienta para los investigadores en muchos campos. (Medina, 2016)

1.1. Conceptos Básicos A pesar de que el lenguaje NetLogo es bastante fácil de aprender. Tiene como orientación principal la de modelar sistemas compuestos por individuos que interaccionan entre sí y con el medio, basándose en el paradigma de modelización por agentes: 

Un agente es un individuo sintético, autónomo y dotado de reglas o características que gobiernan su comportamiento y su capacidad de tomar decisiones.



Los agentes interaccionan entre sí y con el medio ambiente obedeciendo un conjunto de reglas.



Los agentes son flexibles y tienen capacidad de aprender y adaptar su comportamiento basándose en la experiencia. Esta capacidad requiere alguna forma de memoria. Los agentes incluso pueden tener reglas para modificar sus reglas de comportamiento. (Freder, 2014)

1

1.1.1. Agentes NetLogo viene equipado con cuatro tipos de agentes: 

Agentes móviles (tortugas): son los agentes que se mueven por el mundo. El mundo es (en principio) 2D y está dividido en una malla de patches.



Agentes inmóviles (patches): Cada una de las divisiones cuadradas del terreno" que determinan las características físicas del entorno.



Agentes conectores (links): agentes que conectan entre sí los agentes móviles (a modo de aristas de un grafo).



Agente observador: no tiene localización, y puede interactuar con todos los elementos del mundo. De alguna forma, representa al superagente que puede controlar todas las demás partes del puzle. Podemos controlar un modelo de NetLogo por medio de botones e interruptores.

Además, el sistema ofrece la posibilidad de controlar los modelos por medio del centro de comandos. Desde el que se pueden ejecutar comandos sobre un modelo y modificar sus parámetros.

Figura 1: “Agentes en NetLogo”. Fuente: (Manual de NetLogo, 2016)

2

1.1.2. Variables Algunas variables que vienen predefinidas en NetLogo, por ejemplo pcolor en el caso de patches y xcor, ycor, heading y color en el caso de las tortugas. Podemos crear nuestras propias variables, que pueden ser globales, cuando representan una propiedad global del sistema (por ejemplo, el número de generaciones que se van formando), variables que pertenecen a los patches y que son usadas para representar atributos de memoria de cada tesela de terreno (por ejemplo, la altitud de esa tesela, o la cantidad de comida que hay en ese trozo de suelo), o variables que pertenecen a tortugas y que representan igualmente atributos de memoria para cada una de las tortugas (por ejemplo, el sexo o la posición que ocupaba antes). (Vinces, 2015)

2. Análisis y simulación de agentes en NetLogo Pretendemos analizar aquí la intersección entre dos campos de investigación: (1) Los Sistemas Multi-Agente (MAS) que en sí es el análisis de varios agentes y (2) la simulación por ordenador (M&S). (Marquez, 2016) Por un lado, los MAS se refieren a un dominio de investigación en informática que se ocupa de sistemas que están compuestos a nivel micro por entidades (agentes) que tienen un comportamiento autónomo y proactivo e interactúan con el medio ambiente, resultando en su funcionamiento en un comportamiento del sistema global que se observa a nivel macro. Actualmente se utilizan en numerosos dominios de aplicación e investigación, y pueden ser una forma muy interesante y conveniente para la comprensión, modelado, diseño e implementación de diferentes tipos de sistemas distribuidos. Por ejemplo, pueden ser utilizados como un paradigma de programación para desarrollar sistemas de software distribuidos que se ejecutan en contextos en los que un control global es difícil o imposible de lograr. Y también representan una alternativa muy interesante de modelado, en comparación con el modelado basado en ecuaciones, para la representación y simulación de sistemas del mundo real o virtual que pueden ser descompuestos en unidades menores que interactúan.

3

Figura 2: “Simulación por ordenador”. Fuente: (Wordpress, 2007)

Por otro lado, la simulación por ordenador es una forma de diseñar, probar y estudiar tanto teorías como sistemas reales para diversos fines. Por ejemplo, de acuerdo a Shannon, la simulación se define como: "El proceso de diseñar un modelo de un sistema real junto con la realización de experimentos con este modelo con el fin de mejorar la comprensión del comportamiento del sistema y/o de la evaluación de diferentes estrategias para el funcionamiento del sistema". Por lo tanto, las oportunidades de utilizar ambos, MAS y simulación, son numerosas, precisamente porque se pueden aplicar conjuntamente en una amplia gama de dominios de aplicación, y para fines muy diferentes. De hecho, el número de trabajos de investigación y aplicaciones de software que pertenecen a la intersección entre el MAS y de simulación es enorme. Esta intersección la analizaremos según dos perspectivas principales: 

Modelado y Simulación (M&S) para el MAS: se refiere a los proyectos en los que la simulación por ordenador se utiliza como un medio para el diseño, la experimentación, el estudio y/o la ejecución de arquitectura de MAS, sean cuales sean los objetivos.



MAS para M&S: se relaciona con experimentos de simulación que utilizan MAS como paradigma de modelado para construir laboratorios artificiales. Hoy en día, el uso de laboratorios artificiales representa una forma de poner a prueba teorías y modelos para muchos campos de aplicación.

4

3. MAS y M&S: Construyendo Laboratorios artificiales El interés de la utilización de MAS en el ámbito de aplicación de M&S aparece principalmente cuando se trata de la simulación de sistemas complejos (es decir, sistemas que están compuestos de muchas entidades que interactúan). La modelización de sistemas complejos ha sido siempre una motivación para los investigadores científicos. Un ejemplo histórico es el modelo determinista continuo que fue propuesto por Volterra para representar la dinámica de poblaciones de dos especies animales (presas y depredadores).

Figura 3: “Relación Matemáctica”. Fuente: (Google Image, 2015)

En consecuencia, los problemas que persisten con estos enfoques ecuacionales (ya sean deterministas o estocásticos) teniendo en cuenta la modelización de sistemas complejos que involucran a entidades individuales son: 

Sólo es posible una perspectiva global



Los parámetros de la ecuación apenas tienen en cuenta la complejidad de las interacciones a nivel micro



El modelado de las acciones individuales no es posible



La integración de los aspectos cualitativos es difícil Las plataformas MAS, basándose en el modelado y la simulación de las entidades

autónomas proactivas, aparecieron prácticamente en el mismo momento en que el paradigma de agentes se definió, a principios de los años ochenta; sin embargo, la noción misma de agente, como unidad fundamental de modelado, se puede encontrar en modelos y experimentos que tuvieron lugar mucho antes, por lo menos desde los años cincuenta.

5

4. La Micro simulación: precursor de modelado basado en el individuo

Figura 4: “Micro simulación”. Fuente: (Wikimedia, 2016)

En el ámbito de las ciencias sociales, la noción de agente siempre ha sido esencial. Una de las primeras aproximaciones que se han propuesto como alternativa a los modelos matemáticos proviene de las ciencias sociales y se llama microsimulación. Orcutt señaló en un atículo que los modelos macroeconómicos que se habían propuesto hasta el momento no podían proporcionar información relevante acerca de la influencia de las políticas gubernamentales sobre la evolución de las entidades de nivel micro (hogares y empresas). El objetivo de Orcutt era hacer hincapié en la necesidad de integrar las entidades de nivel micro en el desarrollo de modelos de simulación, haciendo sus resultados más relevantes y útiles para el estudio de la dinámica de los sistemas sociales. Para ello, el principio básico de microsimulación es integrar concretamente el nivel micro por medio de reglas, ya sean deterministas o estocásticas, que se aplican en los atributos de las unidades individuales, lo que lleva a la modelización de los cambios en su estado y comportamiento.

6

5. Modelado Basado en Agentes (ABM) Teniendo en cuenta la integración de nivel micro dentro de la modelización, el enfoque ABM va un poco más allá que el de la microsimulación. El ABM sugiere que el modelo no sólo integra a las personas y sus comportamientos, sino que también se centra en el modelado de las acciones e interacciones que tienen lugar entre las entidades a través del medio ambiente.

Figura 5: “System MultiAgent”. Fuente: (Wikimedia, 2016)

Con respecto a los Modelos Basados en Ecuaciones, usar el paradigma basado en agentes para modelar un sistema ofrece una perspectiva completamente diferente que representa una alternativa atractiva con respecto a los problemas planteados anteriormente: contrariamente al basado en ecuaciones, en el que la dinámica global del sistema se define a priori utilizando las relaciones matemáticas entre las propiedades del sistema global (por ejemplo, el número total de presas), la aproximación ABM se basa en el modelado explícito de las entidades de nivel micro y la dinámica (por ejemplo, las características individuales y comportamientos, acciones e interacciones entre los organismos y el medio ambiente, etc.). De esta forma, el comportamiento global del sistema se obtiene como resultado de estas dinámicas a nivel micro. En términos más generales, las dos diferencias principales entre el modelado ecuacional y el ABM se basan en (1) la forma en que modelan las relaciones entre las entidades del modelo y (2) el nivel en el que centran su atención.

7

El modelado ecuacional modela relaciones entre los observables del sistema (es decir, las características medibles de interés), mientras que el ABM representa individuos que evolucionan mediante la interacción con el resto de individuos y con el medio ambiente. El interés del modelado basado en agentes se basa en cuatro conceptos principales:  La actividad autónoma del agente, es decir, su capacidad para llevar a cabo una acción por inciativa propia (pro-actividad) mediante el control de su comportamiento con el fin de aumentar su satisfacción y con la decisión de ayudar o impedir que otros cumplan sus objetivos. Como puede observarse, la definición anterior del agente insiste en la autonomía de decisión, que resulta de la independencia con la que un agente trata de satisfacer sus objetivos (en el sentido amplio del término) mediante el uso de sus competencias y sus propios recursos o pidiendo ayuda a los demás.  La sociabilidad de los agentes, es decir, su capacidad de actuar con otros agentes desde un punto de vista social. Un agente en un MAS no es un ente aislado, sino un elemento de una sociedad. Ésta, la sociedad, emerge de las interacciones que tienen lugar entre los agentes y, recíprocamente, la organización de la sociedad limita el comportamiento de los agentes, al atribuirle los roles que restringen sus posibilidades de acción.  La interacción es lo que conecta los dos conceptos anteriores. Este entrelazado de las acciones, donde cada acción se decide en la mente de un agente, produce patrones organizados de actividades (formas sociales emergentes) que, a cambio, fuerza y restringe la conducta de los agentes. Por lo tanto, es a través de estas interacciones como surgen las formas de interacción: cooperación, conflicto, competencia... que, a su vez, producen patrones de organización más o menos estables que estructuran la acción individual de cada agente.  La contextualización de los agentes, es decir, el hecho de que los agentes están en un entorno que define las condiciones en las que éstos existen, actúan e interactúan. El medio ambiente es el pegamento que conecta los agentes entre si, permitiendo la interacción entre ellos de manera que sean capaces de alcanzar sus objetivos.

8

6. Conclusión La simulación basada en agentes es una nueva herramienta de investigación con un futuro muy prometedor en las ciencias sociales. En primer lugar, permite desarrollar, formalizar y evaluar teorías sociológicas, arrojando luz sobre la elección entre teorías rivales que intentan explicar un mismo fenó- meno social o integrando dichas teorías en un marco común. Puede tratar las características típicas de muchos fenómenos sociales (complejidad, emergencia, no-linealidad, heterogeneidad

y consecuencias no

intencionadas) de manera más sencilla que con las herramientas de las matemáticas tradicionales. Y, por último, permite evaluar políticas sociales y sus efectos antes de que sean implantadas. Sin embargo, la simulación basada en agentes no es la panacea de la investigación social. Tiene algunos problemas importantes derivados de la verificación y validación de sus modelos. A veces es difícil saber si los resultados de la simulación se deben a causas reales o a defectos en la programación.

9

7. Bibliografía Baker, E. (5 de Abril de 2015). NetLogo. Obtenido de Introduccion a NetLogo: http://online.sfsu.edu/jjohnson/NetlogoTranslation/ Forver, A. (14 de Diciembre de 2016). NetLogo. Obtenido de Conceptos Básicos: http://www.cs.us.es/~fsancho/NLC/?p=conceptos-basicos#¿Qué es NetLogo? Freder, A. (15 de Mayo de 2014). NetLogo. Obtenido de Conceptos Básicos: https://es.slideshare.net/arinspunk/tutorial-logos Google Image. (14 de Octubre de 2015). Simulacion en NetLogo. Obtenido de Imgenes: https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/LotkaVolterra_en .svg/1024px-LotkaVolterra_en.svg.png Manual de NetLogo. (16 de Abril de 2016). Manual de aprendizaje en NetLogo. Obtenido de Concetos Basicos: https://sites.google.com/site/manualnetlogo/introduccionescenario-simulacion Marquez, E. (20 de Diciembre de 2016). Models community. Obtenido de NetLogo: http://ccl.northwestern.edu/netlogo/models/community/Taller%20conceptos%20 basicos Medina, J. I.-V. (26 de Febrero de 2016). Manual de NetLogo. Obtenido de Introduccion: https://sites.google.com/site/manualnetlogo/ Vinces, R. (21 de Junio de 2015). NetLogo. Obtenido de Conceptos Basicos de diseño: http://nomienredes.com/blog/5-conceptos-basicos-para-disenar-un-granlogotipo/ Wikimedia.

(15

de

Julio

de

2016).

Cars.

Obtenido

de

Circulacion:

https://upload.wikimedia.org/wikipedia/commons/e/ec/UK_Roundabout_8_Cars .gif Wordpress. (16 de Agosto de 2007). NetbLogo. Obtenido de Conceptos Básicos: https://netblogo.wordpress.com/2007/08/16/netlogo-conceptos-basicos/

10