Modelos basados en Agentes FI-UNER
Modelos Globales
Modelos Locales
Historia
Máquina de Turing: Cuánto
tiempo? - Cuántos recursos? (60’ Hartmanis y Stearns)
Análisis de Algoritmos o Algorítmica: determina la cantidad de recursos requeridos por un algoritmo en particular para resolver un problema
Teoría de la Complejidad Computacional: analiza todos los posibles algoritmos que pudieran ser usados para resolver el mismo problema
Sistemas Complejos
Los 70’ Simon, H. 1973. The Organization of Complex Systems. In Hierarchy Theory Smith, J.M. 1974. The theory of games and the evolution of animal conflicts. May, R.M. 1976. Simple Mathematical Models with Very Complicated Dynamics. Holland, J.H., and J.S. Reitman. 1977. Cognitive Systems Based on Adaptive Algorithms.
Holland: Algoritmos Genéticos Rechenberg y Schwefel: Estrategias Evolutivas Fogel: Programación Evolutiva
Programación Evolutiva
… “una población de máquinas de estados finitos es evolucionada mediante trasformaciones unitarias.” (L. Fogel, 1962, 1966; D. Fogel, 1992)
Otros antecedentes 1985: primera conferencia internacional (ICGA) 1990: primera conferencia en Europa (PPSN) 1993: primera revista científica en CE (MIT Press) 1997: se lanza EvoNet (European EC Research Network)
Computación Emergente
Técnicas computacionales no convencionales para la resolución de problemas que debido a la complejidad que presentan no pueden ser abordados utilizando métodos tradicionales autómatas celulares redes neuronales algorítmos genét. vida artificial caos sistemas multiag. Computación Simbólica
Computación Emergente
Fenómeno emergente
Fenómeno que surge (o emerge) de las interacciones locales de sus elementos
Aún sin correr el experimento se podrían teorizar los resultados
Computación Generativa Joshua Epstein “la computación generativa permite, en algunos casos, a partir de un fenómeno solamente deducir el comportamiento de los elementos que lo generaron pero no conseguiríamos ir en el sentido inverso.” Deducción
Fenómeno
X Inducción
Comportamiento Individual
Motivación: del CA al ABM Necesidad de traslación de cada individuo Necesidad de poder variar la cantidad de células Necesidad de trabajar con menos formalismos Poder adaptar las reglas y las estructuras
***
Modelo de Boids
Qué es un Agente?
algo identificable,
Protouna individualidad discreta agente poseen un conjunto de características y normas que rigen su comportamiento. entes autónomos: deben tener capacidad de toma de decisiones.
Discreto tiene un límite algo es parte de el o no (características compartidas)
Qué es un Agente? (Joshua Epstein)
“Es un sistema informático, situado en algún ambiente, que es capaz de actuar de forma autónoma y flexible con el fin de cumplir los objetivos para los que fue diseñado” Flexible:
“Responsivo”: capaz de percibir su entorno y responder de manera oportuna a los cambios que ocurren en él; pro-activo: no debe limitarse a actuar en función de su entorno, debe ser capaz de mostrar un comportamiento oportunista, dirigido al objetivo; social: debe ser capaz de interactuar con semejantes y con el medio.
Qué es un agente?Definición actual Cualquier tipo de componente independiente (software, modelos, personas, robots, etc) Su comportamiento puede variar: •
desde primitivas reglas de decisiones reactivas • hasta la compleja inteligencia artificial adaptable (Bonabeau 2001)
Qué es un Agente? Definición actual
La etiqueta de “Agente” está reservada para los componentes que pueden en cierto sentido, aprender de su entorno y cambiar su comportamiento en respuesta
Normas de base Reglas de alto nivel:
"reglas para
cambiar las reglas"
Modelización Basada en Agentes (ABM)
No son Sistemas
de Partículas "Mobile agents“ o “Daemons” pequeñas cadenas de software que corre en servidores proxy (no pueden comportarse de forma autónoma) object-oriented systems, distributed systems, and expert systems
Regulación central
humoral directa X
Otras notaciones: IBM y ABS
Modelización basada en Agentes • Agent models are a half-way house between the pure mathematical models as they are predominantly used in theoretical physics, and the world of laboratory experimentation. • Agent models are formal systems, and thus rigorous, with all the assumptions and conditions going into the models being perfectly controllable. Experimentation with real systems often does not provide this luxury. • On the other hand, in a strict sense, agent models can only give outcomes for a particular set of parameters, and make no statement about the parameter space as a whole. In this sense, they are inferior to mathematical models that can provide very general insights into the behavior of the system across the full parameter space. In practice, the lack of generality is often a problem, and it makes computer models a second-best choice—for when a mathematical analysis would be intractable. Modificado de Introduction to Modeling for Biosciences. (Barnes – Chu, 2010)
Autómatas y Agentes
Autómatas: AEF=f(x,y,E,UE,βE) Red:
fija en espacio: R=g(T,C) Formalismos matemáticos
Agentes: Coincide
en muchos de sus aspectos con la definición de objetos en los lenguajes de programación orientados a objetos o basadas en objetos: clases, métodos, atributos, eventos, parámetros…
Características 1.
2. 3. 4.
Heterogeneidad Autonomía Poseen un ámbito explícito Existe racionalidad limitada: Limitada
información Limitada capac. de cálculo 5.
Interactúan localmente
Su dinámica depende de su estado interior La sumación del comportamiento individual genera un comportamiento global complejo
Características actuales
Es autónomo y autodirigido, en tanto que puede funcionar independientemente en su ambiente y en sus tratos con otros agentes (al menos sobre un rango limitado de situaciones que son de interés)
Es flexible, dado que posee la capacidad de aprender y adaptar sus comportamientos basándose en la experiencia (recursos y memoria)
Cuándo utilizar agentes
Si la aleatoriedad juega un papel importante Cuando es importante que los individuos tengan un componente espacial en sus comportamientos e interacciones: el
espacio es crucial las posiciones de los agentes no son fijas
Si las interacciones entre los individuos son complejas, no lineales, discontinuas o discretas Cdo. la población es heterogénea, es decir cuando cada individuo es (potencialm) diferente Cuando los indiv. pueden variar en número
Cuándo utilizar agentes características avanzadas
Cuando se necesite que los individuos Cambien sus comportamientos: Se adapten Aprendan
Se
involucren en comportamientos dinámicos estratégicos Tengan relaciones dinámicas con otros agentes y las relaciones entre agentes se forman y se disuelven Formen autorganizaciones (flocking, crowding, fogging)
Principales aplicaciones
Interacciones sociales • •
Murmuyochismedifusiónpropaganda… Posteo en FaceBookAmistadesNotificacionesViralización
Empresas y Organizaciones • Cadenas de suministro • Mercados de Consumo • Operaciones de Fabricación • Seguros
Principales aplicaciones Infraestructura • Mercados de energía eléctrica • Transporte en vehículos • Redes de subterráneos Informática
•
Juegos • ………
Principales aplicaciones
Economía • Mercados financieros • Redes de Comercios
Multitudes • Movimiento de Peatones • Modelado de Evacuación
Principales aplicaciones
Sociedad y Cultura • Antiguas civilizaciones • Desobediencia civil • Determinantes sociales de terrorismo • Organización de redes
Militar • Mando y control
Principales aplicaciones
Biología • Comportamiento animal grupal • Comportamiento celular • Sub-procesos celulares • Dinámica poblacional • Redes ecológicas • Dinámica de una epidemia Estocasticidad
Pasos para generar un ABM 1. 2.
3.
4.
5.
6. 7.
identificar los agentes y su entorno proponer una teoría del comportamiento de los distintos tipos de agente, obtener los datos necesarios relacionados con el agente, identificar las relaciones agente/agente y agente/entorno proponer y validar los modelos de comportamiento de los agentes, además del modelo en su conjunto correr/depurar analizar la salida: vincular las conductas microescala de los agentes a los comportamientos macroscópicos del sistema
Microespecificación
Macroestructura
Macroestructura
Pasos para generar el Agente
En un lenguajes de programac. orientados a objetos
Identificar las variables endógenas Definir el entorno (variables exógenas?) Definir los métodos del Agente (cómo son actualizados los atributos)
Definir interacciones (entre quienes y cómo)
Agente-Agente Entorno-Agente
Definir los objetos (clases/subclases) El entorno otro objeto?
En lenguajes de programac. orientados a Agentes:
Contexto Proyección Agente: propiedades y comportamientos
Validación del ABM
Microespecificación •
Agentes • Entorno
Simulación/depuración: •
Lenguaje de programación • Manejo de cómputo paralelo
Macroestructura •
Comportamiento conocido • Comportamiento esperado
Validación del ABM Macroestructura Distancia (Fitness)
Fenotipo
Fenotipo
Genotipo Codificación
Microespecificac.
Genotipo
Ejemplo 1: Cadena de suministro
Diagrama de Clases UML (unified modelling lenguaje)
Ejemplo 2: Dinámica celular en el sistema inmune humano
Tips de implementación 1.
2.
3.
4.
Inicializar matriz de autómatas/agentes Se deben recorrer de a uno todos los autómatas/agentes Se debe preguntar para cada autómata/agente en qué estado está conjunto de umbrales y dinámicas En función de la matriz actual se genera una matriz futura (la del próximo instante):
5.
6.
Para autómatas sólo la matriz de células Para agentes se debe calcular la matriz de agentes y la matriz de posiciones y otros atributos para el instante siguiente
Recorridos todos los autómatas/agentes se iguala la matriz actual a la matriz futura Volver a 2.
Bibliografía
“Modeling Biological Systems”, J.W. Haefner, Springer, NY, 2005 “Tutorial on agent-based modeling and simulation part 2: how to model with agents”, Charles M. Macal, Michael J. North. IEEE 2006 “Combining experiments with multi-cell agent-based modeling to study biological tissue patterning”, Bryan C. Thorne, Alexander M. Bailey, Shayn M. Peirce, Oxford University Press, 2007. "Foundations of Mathematical Biology", Rosen, Vol I, II. "Computer Modelling of Complex Biological Systems", S. Sitharama Iyengar, CRC Press. “Agent-based modeling: Methods and techniques for simulating human systems”. Eric Bonabeau. PNAS 14/05/2002, vol. 99, supl. 3. pp. 7280–7287.