[Tercera parte] Modelización Basada en...

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)

min­pxcor < pxcor < max­pxcormin­pycor < pycor < max­pycor

 

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,turtles­with...

procedures: instrucciones que crea el usuario a partir de las primitives

Ex: to setupclear­allcreate­turtles 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,