31Enero2008Simulaciones en (micro)Economía UAB
Simulaciones en Economía[Primera parte]
Modelización Basada en Agentes(AgentBased Modelling)
Xavier VilàDept. d'Economia i d'Història Econòmica
UAB
31Enero2008Simulaciones en (micro)Economía UAB
Conten ido
1. El Análisis Económico. 2. La economía como Sistema Complejo3 Modelos Computacionales Basados en Agentes4. Toolkits vs. programación5. Netlogo y ejemplos
5.1. El modelo de Segregación de Schelling5.2. El modelo de Hotelling
7. El problema de la adecuación: Algoritmos Genéticos y Juegos Evolutivos8. Otros usos, otros recursos
31Enero2008Simulaciones en (micro)Economía UAB
1 . - E l A n á l i s i s E c o n ó m i c o
Interrelación
P.I.B Paro Inflación Tipo de Interés Consumo etc...
31Enero2008Simulaciones en (micro)Economía UAB
1 . - E l A n á l i s i s E c o n ó m i c o
● Macroeconomía:
Estudia el comportamiento y la relación entre les variables agregadas
● Microeconomía: Estudia el comportamiento de los agentes económicos y el funcionamiento de los mercados y otras instituciones
31Enero2008Simulaciones en (micro)Economía UAB
1 . - E l A n á l i s i s E c o n ó m i c o
El “método” del Análisis Económico
Se basa en la construcción de modelossimplificadores de la realidad (matemáticos) para analizarlos de forma útil y obtener resultados
No se consiste ni en la observación ni en la descripción
31Enero2008Simulaciones en (micro)Economía UAB
E j e m p l o : E l D i l e m a d e l P r i s i o n e r o ( 1 )
Ante la realización de un crimen sobre el cual la policía no tiene pistas, dos sospechosos son detenidos y encerrados en celdas separadas. Para poder ir al Juzgado con algún argumento, la policía explica por separado la situación a cada uno de los detenidos en los siguentes términos:
31Enero2008Simulaciones en (micro)Economía UAB
E j e m p l o : E l D i l e m a d e l P r i s i o n e r o ( 2 )
● Lo que vamos a proponerte ahora se lo propondremos también al otro detenido, pero no podréis hablar entre vosotros.
● Sabemos que el autor ha sido uno de vosotros, pero no tenemos ninguna prueba. Tu testimonio puede ser nuestra única prueba.
● Si firmas una declaración acusando al otro, la podremos utilizar ante el juez para inculparlo y a ti te dejaremos en libertad inmediatamente. Pero si el otro detenido firma una declaración similar, entonces el juez tendrá pruebas que os acusan a los dos y recibiréis una condena de 1 año cada uno.
● Si no accedes a firmar esta declaración te arriesgas a que el otro si lo haga y entonces toda la condena recaerá sobre ti: 5 años de prisión.
● Si ambos os negáis a firmar, entonces no habrá manera de que el juez os pueda condenar. Eso si, por no haber colaborado con nosotros os mantendremos en “prisión preventiva” 2 semanas, hasta el día del juicio.
31Enero2008Simulaciones en (micro)Economía UAB
E j e m p l o : E l D i l e m a d e l P r i s i o n e r o ( 3 )
Las “reglas del juego” están claras, las ha explicado la policía
Los “jugadores” somos el otro detenido y yo.
Mis “opciones” están claras, Acusar o Callar
Dependiendo de lo que haga el otro y de lo que haga yo acabaré libre, 2 semanas en la carcel, 1 año en la carcel o 5 años en la carcel.
Elementos que interesan
31Enero2008Simulaciones en (micro)Economía UAB
E j e m p l o : E l D i l e m a d e l P r i s i o n e r o ( 4 )
Acusar
Callar
Acusar Callar
Prisionero 1
Prisionero 2
1 , 1 0 , 5
5 , 0 2 s. , 2 s.
31Enero2008Simulaciones en (micro)Economía UAB
2 L a E c o n o m í a c o m o S i s t e m a C o m p l e j o
El “método” del Análisis Económico“Teorema”
Hipótesis 1 Hipótesis 2 ... Hipótesis n
Resultado
(Demostraciónlógica formal)
(Sobre los agentesy las instituciones)
(Sobre la economía)
31Enero2008Simulaciones en (micro)Economía UAB
2 L a E c o n o m í a c o m o S i s t e m a C o m p l e j o
El “método” del Análisis EconómicoEjemplo: Dilema del Prisionero
● Los agentes son racionales● Los agentes sabem que los otros son racionales● Los agentes tienen toda la información● Los agentes solo consideran su propio interés
Los dos acusarán
31Enero2008Simulaciones en (micro)Economía UAB
2 L a E c o n o m í a c o m o S i s t e m a C o m p l e j o
El resultadono es cierto en la realidad
Al menos una delas hipótesis no es correcta
31Enero2008Simulaciones en (micro)Economía UAB
2 L a E c o n o m í a c o m o S i s t e m a C o m p l e j o
... o la economía no se comportalógicamente ...
31Enero2008Simulaciones en (micro)Economía UAB
2 L a E c o n o m í a c o m o S i s t e m a C o m p l e j o
Gran número de componentes elementales
Pautas de comportamiento auto-organizadas, sin diseño
Amplificación de pequeñas fluctuaciones
Fases de transición – Equilibrio
Comportamiento difícil de predecir o explicar analíticamente
Emergencia de pautas complejas a nivel “macro” a partir de comportamientos simples a nivel “micro”
31Enero2008Simulaciones en (micro)Economía UAB
2 L a E c o n o m í a c o m o S i s t e m a C o m p l e j o
Cuando ponemos harina, huevos y azucar mezclados en un horno obtenemos algo más que una masa recalentada
Cuando se mezclan compradores, vendedores y mercancías en un mercado obtenemos algo más que un grupo de agentes cargando mercancías de un lado al otro
“Propiedades Emergentes”
31Enero2008Simulaciones en (micro)Economía UAB
3 M o d e l o s C o m p u t a c i o n a l e s B a s a d o s e n A g e n t e s
Computación versus Simulación
Computación: Buscar las soluciones a un problema utilizando técnicas computacionales y/o algoritmos para el cálculo de estas soluciones
– Caja negra– Importa el resultado final– El interés está en la eficiencia, convergencia, que la solución sea correcta
Simulación: Estudia el comportamiento de un sitema utilizando técnicas computacionales que simulan el comportamiento de sus componentes
– Caja de cristal– Todo el proceso es importante– El interés está en la complejidad del sistema, lo adecuado de les simulacions, las pautas regulares que aparecen (emergen)
31Enero2008Simulaciones en (micro)Economía UAB
Computac ión
u(x,y)=xy
y=f(x)
qd(p)=qo(p)(x*,p*)
31Enero2008Simulaciones en (micro)Economía UAB
S imu lac ión[ M o d e l o s B a s a d o s e n A g e n t e s ]
(x*,p*)
31Enero2008Simulaciones en (micro)Economía UAB
S i m u l a c i o n s d e I r v i n g F i s c h e r ( 1 8 9 3 )
31Enero2008Simulaciones en (micro)Economía UAB
S i m u l a c i o n s d e I r v i n g F i s h e r ( 1 9 2 5 )
31Enero2008Simulaciones en (micro)Economía UAB
4 Too lk i t s v s P rogramac ión
● Swarm – General-Purpose Simulation System (Objective C - Java, Open)
● AnyLogic - Multi-Paradigm Simulation Software (Java - Eclipse, Proprietary)
● Ascape - Agent Landscape (Java, Free Open Source)
● Repast - Recursive Porous Agent Simulation Toolkit (Java,Python,C#; Open)
● NetLogo - General purpose complexity modeling and simulation
environment (Java - Multi-Platform, Freeware)
● ECJ - Evolutionary Computation Library (Java, Open Source)
● MASON - Multi-Agent Simulator On Networks (Java - ECJ, Open Source)
●
● (Más generales: AgentBuilder, AgentSheets, ...)
31Enero2008Simulaciones en (micro)Economía UAB
Swarm
Swarm is a platform for agentbased models (ABMs) that includes:
● A conceptual framework for designing, describing, and conducting experiments on ABMs; ● Software implementing that framework and providing many handy tools; and ● A community of users and developers that share ideas, software, and experience.
Swarm Development Group
31Enero2008Simulaciones en (micro)Economía UAB
AnyLog ic
AnyLogic is the first and only dynamic simulation tool that brings together System Dynamics, Processcentric (AKA Discrete Event), and Agent Based approaches within one modeling language and one model development environment
XJTechnologies, St.Petersburg, Russia
31Enero2008Simulaciones en (micro)Economía UAB
AnyLog ic
31Enero2008Simulaciones en (micro)Economía UAB
Ascape
Ascape is an innovative tool for developing and exploring generalpurpose agentbased models
A highlevel framework supports complex model design, while enduser tools make it possible for nonprogrammers to explore many aspects of model dynamics. Ascape is written entirely in Java
Design and Development: Miles Parker (Metascape, LLC)
Development: Mario Inchiosa, Josh Miller (NuTech Solutions, Inc.)
Initiators: Joshua Epstein and Robert Axtell (The Brookings Institution)
31Enero2008Simulaciones en (micro)Economía UAB
Ascape
31Enero2008Simulaciones en (micro)Economía UAB
Repas t
Repast Simphony is a free and open source agentbased modeling toolkit that offers users a rich variety of features
DevelopersMark Altaweel, Dariusz Blachowicz, Nick Collier. Tom Howe. Bob Najlis, Michael North, Jonathan Ozik, Miles Parker, Eric Tatara, Jerry R. Vos
Repast Organization for Architecture and Development (ROAD)
InitiatorsSallach, Collier, Howe, North (University of Chicago) > (Argonne National Laboratory)
31Enero2008Simulaciones en (micro)Economía UAB
Repas t
31Enero2008Simulaciones en (micro)Economía UAB
NetLogo
NetLogo is a crossplatform multiagent programmable modeling environment, descendant of StarLogo
Developed
Uri Wilensky (and Team) at the Center for Connected Learning (Northwestern Univeristy)
31Enero2008Simulaciones en (micro)Economía UAB
NetLogo
31Enero2008Simulaciones en (micro)Economía UAB
EC J
ECJ is a research EC system written in Java. It was designed to be highly flexible, with nearly all classes (and all of their settings) dynamically determined at runtime by a userprovided parameter file
ECJ is developed at George Mason University's ECLab Evolutionary Computation Laboratory.
By Sean Luke, Liviu Panait, Gabriel Balan, Sean Paus, Zbigniew Skolicki, Elena Popovici, Joseph Harrison, Jeff Bassett, Robert Hubley, and Alexander Chircop
31Enero2008Simulaciones en (micro)Economía UAB
Mason
MASON is a fast discreteevent multiagent simulation library core in Java, designed to be the foundation for large custompurpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.
MASON is a joint effort between George Mason University's ECLab Evolutionary Computation Laboratory and the GMU Center for Social Complexity, and was designed by Sean Luke, Gabriel Catalin Balan, and Liviu Panait, with help from Claudio CioffiRevilla, Sean Paus, Keith Sullivan, Daniel Kuebrich, Joey Harrison, and Ankur Desai.
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
NetLogo es un entorno de programación para modelizar y simular fenómenos naturales y sociales
Diseñado para simular sistemas complejos que evolucionan en el tiempo con miles de agentes actuando de forma concurrente
Fácil de aprender y de utilizar Biblioteca considerable de modelos escritos que pueden ser
utilizados y modificados Lenguaje de programación natural (scripting) Interficie de usuario simple y potente
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
Interficie gráfica
Lenguaje de programación
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
La Interficie gráfica contiene tres tipos de objetos:
● Controles (controls) (Azul)
● Paràmetros (settings) (Verde)
● Informadores (views) (Beige)
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
CONTROLES (Azul)
Controlan la ejecución del programa
Botones (Buttons)
Centro de comandos (Command Center)
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
Parámetres (Settings) (VERDE)
Permiten modificar los parámetres delmodel
● Barras (Sliders)
● Interruptores (Switches)
● Menús (Choosers)
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
Informadors (BEIGE)
Dan información sobre el funcionamiento y los resultados del modelo
Monitores
Gráficos (Plots)
Texto
El “mundo”
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
El mundo: La ventana principal de NetLogo.
Tamaño
Velocidad
turtle/patch inspector(rightclick)
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
● Agents
● Procedures
● Variables
“Lenguage de programación”
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
Hay 3 tipos de agents en NetLogo:
Patches Turtles
Observer
31Enero2008Simulaciones en (micro)Economía UAB
Patches
No se mueven, pero son tan activos como los otros agentes
Forman una cuadrícula en 2D conectada por los extremos (torus)
Tienen coordenadas enteras (pxcor, pycor)
minpxcor < pxcor < maxpxcorminpycor < pycor < maxpycor
31Enero2008Simulaciones en (micro)Economía UAB
5 N e t L o g o
31Enero2008Simulaciones en (micro)Economía UAB
Tur t les
Se mueven sobre los patches, no necesariamente en su centro
Tienen coordenades decimales (xcor,ycor)y orientación (heading) para moverse
Pueden tener diferentes formas (shape) y colores (color)
31Enero2008Simulaciones en (micro)Economía UAB
Tur t les
31Enero2008Simulaciones en (micro)Economía UAB
Observer
Puede crear nuevos agentes y controles
Puede pasar órdenes a los patches y turtles
Puede modificar los parámetros y los valores de las variables
Puede dar información sobre el estado de la simulación
Es el intérprete entre el investigador y los agentes
31Enero2008Simulaciones en (micro)Economía UAB
Observer
31Enero2008Simulaciones en (micro)Economía UAB
Procedures
Para dar instrucciones a los agentes (a través del observador) disponemos de,
primitives: instrucciones que forman parte de NetLogo
Ex: forward,clear,if,turtleswith...
procedures: instrucciones que crea el usuario a partir de las primitives
Ex: to setupclearallcreateturtles 10
end
31Enero2008Simulaciones en (micro)Economía UAB
Var iab les
Las variables sirven para guardar valores numéricos o alfabéticos. Hay de 3 tipos
Variables globales
Variables propias de turtles y propias patches
Variables locales
31Enero2008Simulaciones en (micro)Economía UAB
E jemp lo : Segregat ion
En un mundo cuadriculado hay dos tipos de agentes: rojos y verdes
Cada agente está dispuesto a convivir con vecinos del otro tipo, pero quiere que un cierto porcentaje sea de su mismo tipo
Si un agente, en su ubicación, no tiene suficientes vecinos similares, buscará otra ubicación que esté libre ...
... y así sucesivamente hasta que todos esten satisfechos.
Ex: Si se quiere un 30% de similares ...
No Satisfecho Satisfecho
31Enero2008Simulaciones en (micro)Economía UAB
8 Ot ros usos , o t ros recursos
Simulaciones y herramientas “reales”
● JASA: Java Auction Simulator API (Steve Phelps, U of Liverpool)● jES: Java Enterprise Simulator (Pietro Terna, University of Torino)● TNG: A C++ Framework for Studying the Formation and Evolution of Trade Networks (Leigh Testfasion, Iowa State University)● AMES Market Package: Agent-Based Modeling of Electricity Systems (Iowa State University)● Santa Fe Artificial Stock Market (Santa Fe Institute - Paul E. Johnson, University of Kansas)
y ...
● “Business Games”, Logistics Simulators,
Top Related