modelos basados en agentes - modelización -...
TRANSCRIPT
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 convencio-
nales 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
Emergente
Computación
Simbólica
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.”
Fenómeno Deducción
Inducción
Comportamiento
Individual X
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,
una individualidad discreta
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)
Proto-
agente
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.
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
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
Otras notaciones: IBM y ABS
directa X
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. Heterogeneidad
2. Autonomía
3. Poseen un ámbito explícito
4. 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. identificar los agentes y su entorno
2. proponer una teoría del comportamiento de los
distintos tipos de agente,
3. obtener los datos necesarios relacionados con
el agente,
4. identificar las relaciones agente/agente y
agente/entorno
5. proponer y validar los modelos de
comportamiento de los agentes,
además del modelo en su conjunto
6. correr/depurar
7. analizar la salida: vincular las conductas
microescala de los agentes a los
comportamientos macroscópicos del sistema
Micro-
especificación
Macro-
estructura
Macro-
estructura
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
Fenotipo
Genotipo
Microespecificac. Genotipo
Fenotipo
Distancia (Fitness)
Codificación
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. Inicializar matriz de autómatas/agentes
2. Se deben recorrer de a uno todos los
autómatas/agentes
3. Se debe preguntar para cada autómata/agente en qué
estado está conjunto de umbrales y dinámicas
4. En función de la matriz actual se genera una matriz
futura (la del próximo instante):
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
5. Recorridos todos los autómatas/agentes se iguala la
matriz actual a la matriz futura
6. 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.