View
8
Download
0
Category
Preview:
Citation preview
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
Simulaciones en Economía[Tercera parte]
Modelización Basada en Agentes(Agent-Based Modelling)
Xavier VilàDept. d'Economia i d'Història Econòmica
UAB
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
C o n t e n i d o
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
6.- Otros usos, otros recursos7.- El problema de la adecuación: Algoritmos Genéticos y Juegos Evolutivos
4-Febrero-2010 Simulaciones 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...
4-Febrero-2010 Simulaciones 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
4-Febrero-2010 Simulaciones 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 modelos simplificadores de la realidad (matemáticos) para analizarlos de forma útil y obtener resultados
No consiste ni en la observación ni en la descripción
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
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)
1 . - E l A n á l i s i s E c o n ó m i c o
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 . - E l A n á l i s i s E c o n ó m i c o
El resultadono es cierto en la realidad
Al menos una delas hipótesis no es correcta
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 . - E l A n á l i s i s E c o n ó m i c o
El resultadono es cierto en la realidad
Al menos una delas hipótesis no es correcta
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 . - E l A n á l i s i s E c o n ó m i c o
El resultadono es cierto en la realidad
Al menos una delas hipótesis no es correcta
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 . - E l A n á l i s i s E c o n ó m i c o
... o la economía no se comportalógicamente ...
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 . - E l A n á l i s i s E c o n ó m i c o
4-Febrero-2010 Simulaciones 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“Ecuaciones”
Ley 1 Ecuación 1
Ley 2 Ecuación 2
... Ley n Ecuación n
Resultado(Equilibrio)
(Resolución formal)
(Sobre las variables)
(Sobre la economía)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 . - E l A n á l i s i s E c o n ó m i c o
El resultadono es cierto en la realidad
- Al menos una de las “leyes” no es correcta
- Faltan “leyes”
- Alguna “ley” ha Cambiado (!!)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 . - E l A n á l i s i s E c o n ó m i c o
Limitaciones:
● Hipòtesis simplificadoras → “Tratabilidad”● Omisión de factores relevantes● Cambios estructurales● Recursividad
4-Febrero-2010 Simulaciones 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”
4-Febrero-2010 Simulaciones 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”
4-Febrero-2010 Simulaciones 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
4-Febrero-2010 Simulaciones 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 sistema 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 simulaciones, las pautas regulares que aparecen (emergen)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
C o m p u t a c i ó n
u(x,y)=xy
y=f(x)
qd(p)=qo(p)(x*,p*)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
S i m u l a c 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*)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
S i m u l a c i o n e s
La primera (?) simulación se realizó en ...
4-Febrero-2010 Simulaciones 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 )
4-Febrero-2010 Simulaciones 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 )
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
4 T o o l k i t s v s P r o g r a m a c 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, ...)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
S w a r m
Swarm is a platform for agent-based 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
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
A n y L o g i c
AnyLogic is the first and only dynamic simulation tool that brings together System Dynamics, Process-centric (AKA Discrete Event), and Agent Based approaches within one modeling language and one model development environment
XJ-Technologies, St.Petersburg, Russia
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
A n y L o g i c
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
A s c a p e
Ascape is an innovative tool for developing and exploring general-purpose agent-based models
A high-level framework supports complex model design, while end-user tools make it possible for non-programmers 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)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
A s c a p e
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
R e p a s t
Repast Simphony is a free and open source agent-based 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)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
R e p a s t
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
N e t L o g o
NetLogo is a cross-platform multi-agent programmable modeling environment, descendant of StarLogo
Developed
Uri Wilensky (and Team) at the Center for Connected Learning (Northwestern Univeristy)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
N e t L o g o
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
E C 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 user-provided 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
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
M a s o n
MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose 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 Cioffi-Revilla, Sean Paus, Keith Sullivan, Daniel Kuebrich, Joey Harrison, and Ankur Desai.
4-Febrero-2010 Simulaciones 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
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
5 N e t L o g o
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
5 N e t L o g o
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
5 N e t L o g o
Interficie gráfica
Lenguaje de programación
4-Febrero-2010 Simulaciones 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)
4-Febrero-2010 Simulaciones 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)
4-Febrero-2010 Simulaciones 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)
4-Febrero-2010 Simulaciones 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”
4-Febrero-2010 Simulaciones 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(right-click)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
5 N e t L o g o
Agents
Procedures
Variables
“Lenguage de programación”
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
5 N e t L o g o
Hay 3 tipos de agents en NetLogo:
Patches
Turtles
Observer
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
P a t c h e s
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
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
5 N e t L o g o
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
T u r t l e s
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)
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
T u r t l e s
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
O b s e r v e r
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
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
O b s e r v e r
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
P r o c e d u r e s
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
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
V a r i a b l e s
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
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
5 . 1 E j e m p l o : S e g r e g a t i o n
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
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
5.2 Ejemplo: Hotelling Spatial Competition Game
Suppose that there are two competing shops selling the same indistinguishable product at the same price, and that they must be located along the length of a street running north and south. Each shop owner wants to locate his shop such that he maximizes his own market share by drawing the largest number of customers. Customers are spread equally along the street. Suppose, finally, that each customer will always choose the nearest shop
1 2
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
What will be the location of the shops ?
1 2
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
First Guess . . .
1 2
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
But, what would you do if you were Shop 1
1 2
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
But, what would you do if you were Shop 1
1 2
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
You get more costumers than before !
1 2
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
What will be the “best reply” by Shop 2 ?
1 2
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
What will be the “best reply” by Shop 2 ?
12
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
12
You get more costumers than before !
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 2
If this dynamics continues, the unique stable point is
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
1 2
The two shops locate at the middle of the street !
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
This is an example of “spatial clustering” of business
There are real examples of this Car Dealers Oriental rug stores Computer (electronics) districts Michigan Avenue
But this also may apply to other characteristics of businesses:
Quality Sweetness
Even to politics !
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
This model can also explain the common complaint that, for instance, the presidential candidates of the two American political parties are "practically the same". Once each candidate is confirmed during primaries, they are usually established within their own partisan camps. The remaining undecided electorate resides in the middle of the political spectrum, and there is a tendency for the candidates to "rush for the middle" in order to appeal to this crucial bloc. Like the paradigmatic example, the assumption is that people will choose the least distant option, (in this case, the distance is ideological) and that the most votes can be had by being directly in the center.
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
Primaries
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
Nominees
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
Final campaign
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
What would happen if . . .
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
What would happen if . . .
This is know as the Median Voter Theory, very popular inmodern Political Science
4-Febrero-2010 Simulaciones en (micro)Economía - UAB
6 O t r o s u s o s , o t r o s r e c u r s o s
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 (Blake LeBaron, Santa Fe Institute - Paul E. Johnson, University of Kansas)
y ...
“Business Games”, Logistics Simulators,
Recommended