Está en la página 1de 64

SBA Participativa y a Gran Escala

Grace Cabana Edwar Pasts Alejandro Tique

SBA Participativa
Las personas pueden actuar como agentes en modelos basados en agentes.

El Inicio De Todo
La simulacin participativa es usada para modelar aspectos no econmicos del comportamiento de agentes en biologa, ecologa, sociologa, psicologa, muchas otras reas.

Fortalezas Y Debilidades

Fcil. Claro. Limitado. Simple.

Una Herramienta Para La Enseanza


El modelado de agentes participativo puede ser una herramienta educacional poderosa, para entrenar a participantes y observadores sobre relaciones entre acciones locales y resultados a nivel de sistema, cuestiones especificas de negocios y el valor del modelando por agentes.

Descubrir

MSBA participativa puede ayudar a descubrir informacin de cmo la organizacin hace negocios al nivel ms detallado posible. Supuestos ocultos, procedimientos no declarados, y las reglas no escritas de la prctica pueden ser y a menudo son descubiertos a travs del modelado participativo.

Detalles
Prctica:Las sesiones prcticas se deben utilizar para ensear a los participantes tanto la mecnica de la simulacin y lo que cada individuo tiene que hacer. Durante: Una vez que las normas estn bien entendidas, entonces la simulacin s puede comenzar. Debe haber por lo menos una persona que est disponible para responder preguntas acerca de las normas.

Detalles
Conclusiones: Los resultados obtenidos son impulsados por el comportamiento de los participantes durante la simulacin. Esta etapa est destinada a revelar este comportamiento ya sea para entender las divergencias de las normas establecidas o para llevar ideas creativas al grupo ms grande. Soporte por computador: MSBA participativo se puede realizar con o sin soporte informtico.

Un Ejemplo De Mercado

Un Ejemplo De Mercado

Un Ejemplo De Mercado

Un Ejemplo De Mercado

SBA A Gran Escala


Se concentra en el desarrollo de modelos con unos 200 mil agentes o ms, dependiendo en la complejidad de los agentes y la informacin usada por estos. Ordenadores: Necesitan un mayor uso de recursos y habilidades, participando miles de agentes en intercambios sofisticados. Caractersticas: En general se usan entornos de simulacin por computadora con ciertas capacidades como un temporizador, mecanismos de comunicacin, interaccin de topologas flexibles, diversidad de opciones de arquitectura, almacenamiento y visualizacin de los agentes, apoyo del desarrollo a gran escala.

Estndares disponibles
Foundation for intelligent physical Agents (FIPA): Especificaciones de arquitectura. Agent UML - Object management group (OMG) Agent Platform Special Interest Group (AP SIG) Knowledge-able Agent-oriented System architecture (KAoS)

Programadores
Corazn del motor de simulacin en herramientas de gran escala. Permiten sincronizar las actividades de los agentes individuales en el tiempo. Determinan la hora actual, sea tiempo global o local para programar sus actividades y luego programar sus actividades relativas al tiempo actual.

Dos enfoques:
Time-Step Eventos discretos

Paso del tiempo


Continuo Se usa un contador de nmeros enteros Cada modelo tiene su propia unidad de tiempo, la unidad se fija generalmente para el periodo de la conducta ms rpida. En algn momento el orden de ejecucin de ciertas tareas de los agentes podra representar una ventaja o desventaja ante el resto, para solucionar esto se puede usar:
Rotacin: Asigna turnos a cada agente para liderar al resto. Aleatorizacin: Realiza un sorteo cada time-step para definir el orden de ejecucin de los eventos.

Ventajas y desventajas
Ventaja Simple para comenzar.
Desventajas Medicin del tiempo poco intuitivo. Falta de escalabilidad. Complica la integracin de varias simulaciones, pues requiere adaptar el modelo mas lento al tiempo del otro.

Simulacin de eventos discretos


Permite que ocurran eventos en cualquier momento especifico en un nmero real. Eventos discretos se refieren a eventos que se ejecutan por cada comportamiento. Se dicen discretos porque se ejecuta un nico evento en un momento dado. Se genera una rueda de tiempo donde se organizan los eventos el que se ejecuta actualmente puede programar eventos en cualquier momento futuro.

Tiempo global y local


Global tiene un planificador universal que gestiona el flujo global del tiempo Los locales son uno o varios programadores usados para varias cosas como modularidad (representar el flujo de tiempo dentro de los agentes), simplifica conexiones micro y macro, minimizar problemas con eventos dependientes

Mecanismos de comunicacin
Los agentes necesitan comunicarse, comnmente toman forma de un sistema de colas de mensajes. Permite enviar mensajes de forma asncrona y recibir informacin ordenada. Existen herramientas avanzadas grid Globus, arquitectura de alto nivel (HLA).

Topologas
Es la forma y posibles tipos de conexin permanentes o transitorias. Se pueden programar externamente o formarse por los propios agentes. Deben apoyar una alta gama de conexin entre las que estn sopas, rejillas, polgonos irregulares, redes, ambientes activos hasta mapas reales.

Tipos De Topologas
1. Sopas Conexin ms sencilla Se mezclan agentes sobre una base aleatoria; dos o ms agentes necesitan interactuar, se escoger un numero apropiado al azar de la poblacin disponible y conectados en ese momento. Se configuran fcilmente pero no se pueden representar barrios duraderos por la naturaleza transitoria. tiles para representar situaciones que se mezclan al azar o con patrones desconocidos o complicados.

Sopa

Tipos De Topologas
2. Redes Conexiones punto a punto entre agentes Generalizan las sopas al permitir recordar a los agentes a los que estn conectados tiles para representar conexiones no espaciales, como empresas y relaciones sociales. Ejemplo: Cadena de suministro en la que cada enlace entre los agentes indica una relacin de cliente. Cuando hay complejidad es bueno usar grficos como ayuda

Red

Tipos De Topologas
3. Rejilla Topologa ms simple en componentes espaciales, mundos rectangulares, con 4 vecinos conocidos como barrios von Neumann. Si llegan a tener ocho barrios se dice que tienen barrios moore y las ms complejas hasta 12 barrios. Dependiendo del tipo tienen un modelado mas especifico; pueden tener fronteras en los bordes y permiten que el agente viaje de un borde y aparezca en otro, es decir, aparecen en el borde opuesto. Asteroids, mundos infinitos repetidos.

Rejilla Rectangular

Rejilla Hexagonal

Tipos De Topologas
4. Polgonos irregulares Tienen forma arbitraria de regiones delimitadas por bucles cerrados convexos Son un paso hacia mapas generados por los sistemas de informacin geogrfica, pero carecen de alto nivel de contorno y contenido en detalles aunque son ms fciles de manejar que los mapas. Intermedio entre mundos sencillos de redes y mundos complejos de mapas.

Polgonos Irregulares

Tipos De Topologas
5. Sistemas de informacin geogrfica (SIG) Herramientas para trabajar con datos especiales o mapas. Existen herramientas de cdigo abierto y comerciales. El objetivo es que los agentes interacten con los mapas realistas. Hay dos tipos principales de representaciones:
Representaciones de Lagrange Representaciones de Euler

Tipos De Topologas
Representaciones de Lagrange: Asocian funciones especificas o componentes discretos con los agentes, componentes que se pueden mover de forma individual a travs del tiempo. Representaciones de Euler: Asocian agentes con las regiones de los valores mas altos o mas bajos en las redes numricas en comparacin con los lugares circundantes, se representan los agentes usando un tipo de olas. Las ondas pueden cambiar de regin a regin, rejilla a rejilla. Ejemplo: Crecimiento de la vegetacin, observa la altura de la hierba en cada punto en una cuadricula densa.

SIG

Tipos De Topologas
6. Entornos Activos Mundos lo bastante sofisticados para ser considerados agentes en su propio derecho. Se construyen a menudo mediante la combinacin de una o mas combinaciones de topologas con reglas de comportamiento especficas.

Opciones Arquitectnicas
Estilos de arquitectura fuertemente acoplados, dbilmente acoplados y arquitecturas distribuidas. La capacidad de seleccionar la arquitectura y cambiarla con el tiempo es caracterstica critica de los entornos del modelado de agentes.

Almacenar Y Mostrar Estados De Los Agentes


Los mecanismos para mostrar los estados de los agentes permiten que los usuarios inspeccionen y modifiquen propiedades del agente. Guardar el estado para que las propiedades del agente se examinen fuera de la simulacin y se puedan reutilizar, para alternativas de simulacin o ensayos desde un punto de partida. Al guardar se permite la partida caliente. Se usa con el fin de cargar los valores y propiedades del agente desde un punto y no tener que correr la simulacin desde 0 para volver a obtener esos valores estables, se puede tomar como una especie de what if .

Almacenar Y Mostrar Estados De Los Agentes


Se investigan los posibles resultados que comparten en el mismo estado inicial (puede ser el momento actual, un estado futuro o basado en el pasado) Si se considera el estado actual, las posibilidades de desintegracin son generalmente cursos de accin alternativos. Si se considera un estado futuro, entonces las ramas suelen representar las opciones posibles a corto o largo plazo. Si se est considerando el pasado, entonces las ramas comnmente representan alternativas que estaban disponibles, pero no tomadas. En cada uno de estos casos, el objetivo es investigar las posibles consecuencias de las decisiones alterativas

Almacenar Y Mostrar Estados De Los Agentes


Entre las fuentes de almacenamiento estn:
Paquetes SIG, XML, HDF, netCDF Programas de procesamiento de texto Hojas de calculo Presentaciones, etc. Permite realizar informes detallados y tiles de lo que se est modelando

Almacenar Y Mostrar Estados De Los Agentes


XML (Extensible Markup Language) Formato de almacenamiento flexible Permite a los datos un intercambio fcil entre programas. Envuelve cada elemento en un documento con una etiqueta que describe el contenido del elemento. Convierte fcilmente entre formatos que tengan un lenguaje de transformacin Extensible Stylesheet Language Transformation (XSLT), se encuentra disponible en muchos programas. En la simulacin a gran escala permite ahorrar bastante tiempo.

Almacenar Y Mostrar Estados De Los Agentes


Bases de datos para empresas: La obtencin de simulaciones con las bases de datos puede ser muy til a los usuarios. Permite aplicar herramientas de minera de datos, preparar insumos del modelo y analizar los resultados. Los modelos usan los datos que van llegando inmediatamente. Simplifica compartir los resultados con el resto de la organizacin. El modelo debe estar bien desarrollado y probado antes de integrarse a la base de datos, requiere una mayor elaboracin del modelo.

Almacenar Y Mostrar Estados De Los Agentes


HDF Formato de datos jerrquica, se centra en la movilidad entre los sistemas informticos, de entrada y salida para una ejecucin distribuida de alto rendimiento. Buena opcin para almacenar datos de simulaciones a gran escala. Cdigo libre y abierto.

Almacenar Y Mostrar Estados De Los Agentes


netCDF Formulario de datos comn en la red Formato de archivo porttil para almacenar conjunto de datos grandes La lectura y escritura de archivos suele ser ms fcil que el acceso a archivos HDF, pero HDF tiene ms flexibilidad y puede codificar de forma nativa mucho ms complejas estructuras de datos que netCDF.

Soporte De Visualizacin
Muestran algunos entresijos del modelado con imgenes de dominio especfico, edicin de maquetas o prototipos que puede ser til.

Apoyo Al Desarrollo A Gran Escala


Tipos de entornos que ayudan, entornos como Java en eclipse o Microsoft C# de visual estudio. Incluyen apoyo en POO, depurador integrado, herramientas de refactorizacin, soporte de control de versiones, soporte de programacin alfabetizada.

Apoyo Al Desarrollo A Gran Escala


Programacin Orientada a Objetos Resulta muy til pues los objetos son una forma natural de implementar agentes. En parte los agentes se pueden considerar objetos autodirigidos. POO utiliza objetos para representar entidades discretas, se crean a partir de clases que definen los comportamientos y propiedades de los objetos, estos contienen parmetros para cada una de las propiedades de las clases. (Encapsulacin, Herencia, polimorfismo)

Apoyo Al Desarrollo A Gran Escala


Desarrollo visual: Uso de tcnicas como diagramas como UML (lenguaje unificado de modelado) Depuradores integrados: Ejecucin de programas y recorrer el cdigo lnea por lnea, ayuda a comprobar errores y ubicarlos Herramientas de refactorizacin: Permiten al cdigo fuente organizarse con el mnimo esfuerzo humano. Ejemplo: Cambiar el nombre de la clase y que se propague automticamente.

Apoyo Al Desarrollo A Gran Escala


Control de versiones: Realizan el seguimiento de los cambios en el cdigo a travs del tiempo, suelen registrar cada cambio, hora, desarrollador y motivo del cambio. Siguen la historia del software y permiten recuperar cualquier versin anterior del cdigo. Programacin ilustrada: En vez de imaginar que nuestra tarea principal es indicar a un ordenador que hacer, vamos a concentrarnos mas en explicar a los seres humanos lo que queremos que el ordenador haga. Lograr un programa comprensible usando mtodos formales e informales, suele permitir comentarios incrustados que se puede convertir en una documentacin independiente. Soporte de la comunidad: Ayuda de una comunidad para el desarrollo de las herramientas.

Kits De Herramientas Actuales


Repast Cdigo libre y abierto Tiene como objetivo apoyar el desarrollo de modelos extremadamente flexibles de agentes con un nfasis en las interacciones sociales, pero no se limita solo a eso. Es mantenida por la organizacin Repast de arquitectura y diseo (ROAD). Existen 4 miembros en el portafolio de Repast
Repast Python Scripting (Repast Py) Repast for Java (Repast J) Repast for the Microsoft.NET framework (Repast.NET) Repast Simphony (Repast S) Tienen las mismas caractersticas bsicas pero ofrece un ambiente diferente.

Kits De Herramientas Actuales


Repast Py permite crear modelos usando una interfaz grafica y escribir comportamientos de agente que usan python scripting. J es un entorno de modelado de Java puro, para modelos a gran escala con caractersticas como planificador de eventos discretos, entorno de visualizacin, integracin con SIG. Repast.Net es un entorno puro de C# trae todas las caractersticas de J para el marco Microsoft. S est diseado para incluir funciones avanzadas en el almacenamiento de agente, visualizacin y activacin de la conducta. http://repast.sourceforge.net/

Repast S

Kits De Herramientas Actuales


Swarm Biblioteca libre de cdigo abierto Busca crear una plataforma de simulacin compartida para ABMS. Los usuarios construyen simulaciones incorporando componentes de la biblioteca swarm en sus propios programas. Inspirado en el campo de la vida artificial. Tiene dos componentes fundamentales, el componente central el cdigo de simulacin ejecuta el cdigo de simulacin escrito en Objective-C, Tlc/Tk y Java. Este componente se encarga de la mayor parte de detalles detrs de escena. Los componentes del contenedor externo ejecutan el cdigo de simulacin especificado por el usuario sea en java u objective-C. Estos componentes manejan la mayor parte del trabajo en el centro del escenario.

Kits De Herramientas Actuales


Swarm Como Repast, usa visualizaciones y ediciones para editar las propiedades de los agentes. Solo admite planificador de paso de tiempo, pero a gran resolucin. Es compatible con una gran variedad de mecanismos de comunicacin y puede modelar las principales interacciones topolgicas. Tiene un buen conjunto de herramientas para almacenar y mostrar los estados de agente.

www.swarm.org

Kits De Herramientas Actuales


Herramientas propietarias Comnmente usadas para modelamiento de agentes. Tienen la ventaja de ser diseados para usos especficos. Pueden ser modificadas sin la preocupacin de perder la sincronizacin con la versin pblica. Sin embargo, el desarrollo y mantenimiento de tal herramienta puede requerir importantes recursos y el compromiso organizacional a largo plazo. Carecen del apoyo de la comunidad o comercial que a menudo se encuentra con kits de herramientas a disposicin del pblico (ayuda online, ayuda en persona, code sharing, conferencias, y reuniones de usuarios) Falta de disponibilidad de desarrolladores con experiencia en el kit de herramientas.

Ciclo de vida
El desarrollo de una simulacin basada en agentes es solo una parte del programa ms general y el proceso de desarrollo del modelo. Hay unas etapas altamente entrelazadas.
1. El desarrollo del concepto y la etapa de articulacin se definen los objetivos del proyecto 2. La etapa de definicin de los requisitos hace los objetivos especficos 3. La etapa de diseo define la estructura y funcin del modelo 4. La etapa de implementacin construye el modelo usando el diseo 5. La etapa de puesta en marcha, pone el modelo en uso

En la prctica, los proyectos exitosos suelen iterar sobre los puntos 3 y 4 varias veces con modelos cada vez ms detallados

Disear modelos de gran escala para el uso


Se estudian varias cuestiones, tiempo de simulacin, capacidad de ejecucin del sistema, direccin horizonte del modelo y posibilidad de ejecucin en paralelo. Tiempo de simulacin:
Componente esencial que determina los usos potenciales de un modelo. Cantidad de tiempo de Reloj necesario para completar un ciclo de simulacin determinista o un conjunto completo de carreras de simulacin estocstica. El tiempo puede variar, ser ms lento o ms rpido que el reloj real. Los modelos que se ejecutan lo suficientemente rpido se pueden utilizar en un modo de conversacin. Sorprendentemente, incluso los modelos que son ms lentos que en tiempo real pueden tener un valor comercial sustancial.

Disear Modelos De Gran Escala Para El Uso


Tiempos de ejecucin del modelo:
Sub-real-time: Se ejecutan ms rpido que el tiempo real, pueden usarse para obtener una perspectiva de acontecimientos futuros. Son candidatos naturales para aplicaciones tcticas y operacionales Supra-real-time: son ms lentos que el tiempo real, suelen ser utilizados para analizar los sucesos histricos y prepararse para posibles situaciones futuras; la comprensin de lo que sucedi en ediciones anteriores, porque las cosas sucedieron en los eventos anteriores, y como los resultados podran cambiarse, se relaciona con el enfoque prueba y error.

Disear Modelos De Gran Escala Para El Uso


Modelo conversacional:
Diseados parar correr lo suficiente rpido y claro para ser ejecutado en directo durante las reuniones con los tomadores de decisin. La idea es que puedan preguntar que pasara si se modifica, se ejecuta y se presentan los resultados. Tienen que ser lo suficientemente simples para ejecutarse en reuniones pero no tanto para que no sean entendibles por los tomadores de decisiones.

Capacidad de Ejecucin:
Reflejan los requisitos de tiempo de ejecucin. Algunos modelos requieren pocos recursos para que correr mientras que otros necesitan bastantes. Los recursos clave para estos modelos son la memoria y el ordenador, la velocidad de procesamiento informtico y almacenamiento del disco. En los ordenadores actuales existe memoria fsica y virtual, que se van intercambiando moviendo los datos, para una simulacin mediana y grande es bueno una gran memoria fsica.

Disear modelos de gran escala para el uso


Optimizacin del rendimiento:
Equilibrio entre extensibilidad y desempeo. Los modelos que se extienden suelen tener cdigo claro y usan poca memoria cache. Los modelos rpidos tienden a tener muchos casos especiales para reducir el procesamiento innecesario y un buen uso de almacenamiento en cach para reducir el acceso a datos redundantes. CAR Hoare la optimizacin prematura es la raz de todos los males en la programacin. Reglas de Jackson
1. No lo hagas 2. No lo hagas todava. Utilizar software de rendimiento de perfiles para determinar las causas reales de los problemas

Disear modelos de gran escala para el uso


Horizonte de orientacin:
Los modelos se usan para responder problemas del da a da, normalmente cuestiones de corto plazo. Horizonte de ejecucin longitud total de tiempo simulado en un modelo. Horizonte de orientacin es un subconjunto del de ejecucin que se usa para ayudar en la toma de decisiones Entre mejor definidos estn los comportamientos de un agente, ms amplio podr ser el horizonte de orientacin. Dependiendo del modelo se debe asignar un horizonte de corto o largo plazo.

Simulacin de agentes distribuida (DAS)


Basada en computadores multiprocesadores y la disponibilidad de recursos como clusters. Cada agente puede tener su propio procesador, dedicado exclusivamente a ejecutar las reglas de comportamiento para tal agente.

Ejecucin en Paralelo
Existen dos modelos Grano grueso: Hace barridos paramtricos que trabajan con modelos secuenciales ordinarios. El barrido ejecuta una instancia de un modelo en cada computadora o procesador disponible. Grano fino: Estas implementaciones aprovechan los mltiples procesadores para ejecutar ms de un comportamiento de agente en un tiempo dado.

Estndares Simulacin Paralela


Aggregate-Level Simulation Protocol (ALSP) Distributed Interactive Simulation (DIS) High Level Architecture (HLA)

Referencias Bibliogrficas
Michael J. North and Charles M. Macal. How to Do Participatory ABMS. Managing Business Complexity: Discovering Strategic Solutions with Agentbased Modeling and Simulation. New York: Oxford University Press, 2007, p. 183194. Michael J. North and Charles M. Macal. How to Do Large-Scale ABMS. Managing Business Complexity: Discovering Strategic Solutions with Agent-based Modeling and Simulation. New York: Oxford University Press, 2007, p. 195-220. Hurlbut, D., K. Rogas, and S. Oven (2004). Protecting the Market from Hockey Stick Pricing: How the Public Utility Commission of Texas is Dealing with Price Gouging. The Electricity Journal (Apr.) 2633. Smith, V. (1962). An Experimental Study of Market Behavior. Journal of Political Economy 70: 111137. Smith, V. (1982). Microeconomic Systems as an Experimental Science. American Economic Review 72: 923955. Smith, V. (1994). Economics in the Laboratory. Journal of Economic Perspectives 8(1): 113131. Wilensky, U. (1999). NetLogo. Evanston, Ill.: Center for Connected Learning and Computer-Based Modeling, Northwestern University. Wilensky, U. and W. Stroup (1999). HubNet. Evanston, Ill.: Center for Connected Learning and Computer-Based Modeling, Northwestern University.

Referencias Bibliogrficas
Alexander, C. (1979). The Timeless Way of Building. Oxford: Oxford University Press. Bradshaw, J. (1997). An Introduction to Software Agents. In J. Bradshaw, Software Agents. Menlo Park, Cal.: AAAI Press, p. 480. Brown, D. G., R. Riolo, D. T. Robinson, M. J. North, and W. Rand (2005). Spatial Process and Data Models: Toward Integration of Agent-Based Models and GIS. Journal of Geographical Systems 7: 2527. North, M. J. and C. M. Macal (2002). The Beer Dock: Three and a Half Implementations of the Beer Distribution Game. Presentation at SwarmFest 2002, University of Notre Dame, South Bend, Ind. North, M., P. Thimmapuram, R. Cirillo, C. Macal, G. Conzelmann, V. Koritarov, and T. Veselka (2003). EMCAS: An Agent-Based Tool for Modeling Electricity Markets. Proceeding of Agent 2003: Challenges in Social Simulation. Chicago: University of Chicago, Argonne National Laboratory. North, M. J., N. J. Collier, and R. J. Vos. (2006) Experiences Creating Three Implementations of the Repast Agent Modeling Toolkit. ACM Transactions on Modeling and Computer Simulation 16(1): 125. Wilson, A. L. and R. M. Weatherly (1994). The Aggregate Level Simulation Protocol: An Evolving System. Winter Simulation Conference. Orlando, Fla.: Association for Computing Machinery.