0% encontró este documento útil (0 votos)
12 vistas51 páginas

Semana 13 14

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas51 páginas

Semana 13 14

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Simulación Gestión Empresarial

Semanas 13 y 14
Departamento de Administración de Empresas
Facultad de Ciencias Económicas y Administrativas
Pontificia Universidad Javeriana
Simulación basada en agentes
• Perspectiva computacional que permite diseñar modelos
centrado en el comportamiento e interacciones del individuo
(en contraste con la dinámica de sistemas que enfatiza la
relación de variables).

• Permite la representación de sistemas complejos:


comportamiento individual + interacción (o
interdependencias) con el comportamiento de otros
individuos.
Agentes
• Agencia: Capacidad de un individuo para tomar acciones

• Los individuos toman decisiones afectados por / afectando las decisiones que
otros toman

• Comportamiento micro + interacción con otros  propiedades emergentes a


nivel macro

• Un modelo de simulación basado en agentes es un programa computacional que


representa individuos tomando decisiones (reglas de acción) de acuerdo a una
serie de aspectos internos o del entorno (variables de estado)
Interdependencias: Evacuación de Houston
(Huracán Rita, 2005)

Fuente: AFP / Getty Images


Características de los agentes
• Actúan de acuerdo a reglas (o heurísticas)

• Actúan en conformidad a variables de estado (p. ej., nivel de


satisfacción, escasez de recursos, creencias, etc.)

• Razonamiento inductivo / racionalidad limitada

• Aprendizaje: Capacidad de reconocer patrones y de reforzar,


actualizar o modificar sus creencias de acuerdo a nueva información
(Arthur 1994)
Simulación basada en agentes
Agentes

Interacciones
(enlaces)
Razonamiento deductivo
vs.
Razonamiento inductivo
Razonamiento deductivo
• En el comportamiento deductivo, un individuo tiene
creencias precisas sobre el comportamiento de otros
individuos

• Suponga la existencia de un juego donde los rivales


saben que los demás son “maximizadores” de
beneficios y donde el conjunto de estrategias es
conocido junto con sus pagos.
El juego de entrada al mercado (teoría de
juegos)
Firma 1

No entrar Entrar

Firma 2

0
2 Competir Coludir

-1 1
-1 1
El juego de entrada al mercado
• Dado que la firma 1 entra al mercado, la firma 2 siempre escogería
coludir, estrategia con la cual obtendría mayores pagos.

• Dado lo anterior, a la firma 1 le conviene entrar al mercado, ya que de


otra forma obtendría pagos de cero.

• Entonces el equilibrio seria (entrar, coludir).


Razonamiento inductivo
• En la realidad, los individuos no conocen con precisión las creencias /
preferencias de otros individuos ni los pagos asociados a cada
estrategia.

• Además, la complejidad de los problemas / situaciones obliga a los


individuos a adoptar heurísticas de acción.

• Sin embargo, el ser humano tiene la gran capacidad de reconocer


patrones y la capacidad de reforzar, actualizar o modificar sus
creencias de acuerdo a nueva información (Arthur 1994)
Razonamiento inductivo
Mercado 3
Mercado 2

Mercado 4

Mercado 5

Mercado 1

Espacio de 33 x 33 posiciones
m = 5 mercados
n = 50 firmas
Ishibushi et al. (2001) Horizonte de tiempo = T iteraciones (t = 1, 2,…, T)
Razonamiento inductivo
• Cada firma debe escoger un único mercado competir

• Si muchas firmas compiten en un mercado, la oferta aumenta y el precio


disminuye. Idealmente, una firma quiere establecerse en un mercado
atractivo que no sea atractivo para otras firmas.

• Cada firma puede tener una estrategia diferente de explorar mercados


(ejemplo: mínima distancia, aleatorio, aprendizaje por refuerzo, etc.)

• En cada ronda t de competencia (t = 1, 2,…, T), las firmas observan sus


utilidades y de acuerdo a su estrategia deciden nuevamente en qué
mercado competir
Modelo de segregación espacial de Schelling
• Muestra como un sistema puede mostrar segregación
aun cuando los individuos no intenten explícitamente
segregarse.
• El modelo supone una ciudad en forma de cuadrícula,
donde en cada celda tiene la posibilidad de contener o
no un agente (es decir, pueden existir celdas vacías).
• Existen dos tipos (etnias) de agentes en el modelo.
Modelo de segregación espacial de Schelling
• Cada celda tiene un conjunto de vecinos (ocho) con
los cuales interactúa.

o o

x o o x

o x

o x o x x

o o
Modelo de segregación espacial de Schelling
• Cada agente quiere tener al menos una cantidad de agentes de su
mismo tipo in su vecindario. Supongamos que hay un valor de umbral T
común a todos los agentes, el cual denota la proporción (%) mínima de
agentes de su tipo necesaria para estar satisfecho.
• Si un agente descubre que hay una proporción menor a T de agentes de
su tipo, se encontrará insatisfecho.
• Sin un agente está insatisfecho, salta hacia otro punto de la ciudad en
busca de un mejor vecindario.
Ejemplo (T = 0.6)
El agente de color rojo o o
observa que en su vecindario x o o x
sólo el 50% son de su tipo , mientras o x
que el valor mínimo para sentirse o x o x x
satisfecho es T = 60%. o o

El agente se declara insatisfecho y decide o o


buscar otra posición en la red x o o x
o x
o x o x x
o o

El agente se reubica y redefine su nuevo o o


vecindario. x x o o x
o x
o x o x
o o
Dinámica del modelo de Schelling
• En el tiempo t, se determinan aquellos agentes insatisfechos.
• Cada agente insatisfecho se mueve (de forma aleatoria) a una nueva
posición desocupada.
• Se recalculan los índices de insatisfacción por agente. Se cierra el
proceso en el tiempo t.
• El tiempo se incrementa a t+1 y se repite el proceso nuevamente.
Problemas de agregación: Paradoja de
Simpson

Dos posibles tratamientos (A y B) contra los cálculos de riñón

[Link]
Problemas de agregación: Paradoja de
Simpson
• El tratamiento A es más sofisticado que el B.

• El tratamiento A es más efectivo cuando hay cálculos pequeños (93%


contra 73%); sin embargo, en agregado (sumando tratamientos de
cálculos grandes y pequeños), el B es más efectivo (83% contra 78%).

• La paradoja se resuelve considerando el efecto de tamaño: Los


médicos tienden a usar el tratamiento A solo en los casos más
severos. Cuando el tratamiento menos sofisticado (B) es aplicado a
más casos menores, pareciera que es más efectivo.

[Link]
Introducción a Netlogo
Instalación de Netlogo

[Link]
Introducción a Netlogo
- Turtles (tortugas).
- Patches (celdas).
- Links (relaciones entre tortugas).

• Netlogo también tiene un Observer (observador), el cual tiene la


propiedad de crear y destruir agentes, de dotar o modificar
propiedades a los agentes, etc.

• El comando clear-all borra todo.


Turtles / Links
Creación de agentes (turtles) desde el
“Observador”
• Comando para crear 100 tortugas en la misma posición
create-turtles 100
• El mismo comando, pero abreviado
crt 100
• Crea 100 tortugas en posiciones aleatorias
create-turtles 100 [set xcor random-xcor set ycor random-ycor]
• El mismo comando, pero abreviado
crt 100 [setxy random-xcor random-ycor]
Primitivas básicas de las tortugas
• forward o fd: avanzar
• back o bk: retroceder
• left o lt: giro a la izquierda, sin cambiar de coordenadas
• right o rt: giro a la derecha, sin cambiar de coordenadas
• repeat: repetir un conjunto de instrucciones
• pen-up o pu: subir el lápiz (los agentes no dejan trazos al moverse)
• pen-down o pd: bajar el lápiz (los agentes dejan trazos al moverse)
• clear-all o ca: borrar todo.
Propiedades de las tortugas
• who: identificador (no se puede modificar)
• color: color
• heading: orientación
• xcor: coordenada x
• ycor: coordenada y
• shape: forma
• label: etiqueta
• label-color: color de la etiqueta
• breed: raza
• hidden?: ¿visible o no visible?
• size: tamaño
• pen-size: tamaño del trazo al desplazarse (cuando pen-mode = down)
• pen-mode: ¿dejar trazo al desplazarse o no?
Patches
Propiedades de las celdas
• pxcor: coordenada x de la celda
• pycor: coordenada y de la celda
• pcolor: color de la celda
• plabel: etiqueta de la celda
• plabel-color: color de la etiqueta
Creando agentes
• clear-all ;; (equivalente: ca)
crt 1 ;; creamos 1 tortuga
ask turtles [pd fd 5 rt 90 fd 5 rt 90 fd 5 rt 90 fd 5 pu]

• clear-all ;; (equivalente: ca)


crt 10 ;; creamos 10 tortugas
ask turtles [pd repeat 4 [fd 5 rt 90] pu]
Propiedades de los agentes
Ejercicio: qué hace el siguiente código
to comenzar
ca
ask patches [set pcolor blue]
crt 2
ask turtle 0 [set xcor 5 set ycor 10 set color
orange set heading 0]
ask turtle 1 [setxy random-xcor random-ycor
set color green set heading 90]
ask turtles [pd repeat 4 [fd 5 rt 90] pu]
end
Respuesta
to comenzar
ca ;; clear-all
ask patches [set pcolor blue] ;; mundo azul
crt 2 ;; creamos una tortuga
ask turtle 0 [set xcor 5 set ycor 10 set color orange
set heading 0] ;; color naranja, orientación “arriba”
ask turtle 1 [setxy random-xcor random-ycor set
color green set heading 90] ;; color verde, orientación
“derecha”
ask turtles [pd repeat 4 [fd 5 rt 90] pu] ;;
dibujamos el cuadrado
end
Discriminación por propiedades:
ask “agentes” with [“propiedad”] [“acciones”]
to comenzar
ca ;; clear-all
crt 10
ask turtles [setxy random-xcor random-ycor]
ask turtles with [xcor > 5] [set size 5]
;; ask “agentes” with [“propiedad”] [“acciones”]
end
Sentencias if / ifelse
if {condición}
[
{acción}
]

ifelse condición
[
{acción si condición se cumple}
]
[
{acción si condición no se cumple}
]
Sentencias if / ifelse (Ejemplo)
if xcor > 0
[
set color blue
]

ifelse pxcor > 0


[
set pcolor blue
]
[
set pcolor red
]
Bucles (while / repeat / for)
while [condición]
[
;; comandos
]

repeat n ;;n es el número de repeticiones


[
;;comandos
]
Modelo de difusión
Algoritmo de inicialización (setup)
• (Crear propiedad en las “tortugas” que indique si es un
individuo adoptante o no adoptante)
• Hacer que todas las celdas tomen el color blanco
• En cada celda, crear una tortuga
• Escoger un individuo aleatoriamente y convertirlo en el
primer adoptante (“semilla”); cambiar su color a rojo
• Fijar el tiempo de inicio (t = 0).
Algoritmo de ejecución (go)
• Paso inicial: Preguntar a las “tortugas” si todas han
adoptado. En caso afirmativo, detener la simulación; si no,
continuar.
• Si la simulación continúa, preguntarle a cada tortuga lo
siguiente:
• Preguntarle a cada uno de sus vecinos si es adoptante
• Si el vecino es adoptante, hacer que la tortuga que preguntó
primero (“myself”) se convierta también en adoptante (con una
probabilidad prob-contagion y cambie su color a rojo
• Avanzar el tiempo t  t + 1 y repetir el algoritmo (volver al paso
inicial).
Explorar el modelo

•¿Qué pasaría si la probabilidad de


contagio cambia?
•¿Qué pasaría si no todas las celdas están
ocupadas (distanciamiento social)?

También podría gustarte