miércoles, 14 de abril de 2010

Simulación basada en agentes





Entenderemos a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas),

Un modelo basado en agenes es una clase de modelo computacional para simular las acciones y las interaciones de agentes autonomos (tanto individual como colectivamente) para analizar el efecto que causan en el sistema.

Los modelos simulan la interaccion simultanea que hay entre multiples agentes en un intento de recrear y predecir la apariencia de fenomenos complejos.

Para hacerlo mas claro pensemos en una parvada, si nos ponemos a ver a un pajaro en especifico, veremos que sus acciones no son complejas, pero si observamos a todos a la ves, veremos fenomenos complejos.

La mayoria de los modelos basados en agentes estan compuestos de:
1) Gran cantidad de agentes especificados en varias escalas
2) Heuristicas de desición
3) Reglas de aprendizaje o procesos adaptativos
4) Una topología de interacción
5) Un objeto que no es un agente que sera nuestro ambiente para nuestros agentes.


Los modelos basados en agentes consisten en agentes que interactuan de manera de acuerdo a ciertas reglas de forma dinamica.

La simulación basada en agentes se realiza con la finalidad de analizar sistemas complejos con la finalidad de comprenderlos mejor, pues como nuestros agentes solo siguen unas reglas bien definidas es sencillo analizar su comportamiento, pero lo mas importantes es que apartir de estas reglas sencillas y la interacción entre los agentes podemos ver emerger algo, puede que sea un estado de equilibrio, o ciertos patrones de conducta, y esto es lo mas importante, pues pueden explicar porque surgen estos patrones (por ejemplo las guerras los desplomes de la bolsa de valores, los atacos de trafico tengan distribuciones de leyes de potencias).

Como veiamos clases pasadas en teoria del caos, hay sistemas tan complejos que no se pueden predecir con exactitud, por ejemplo en nuestro programa de las familias vimos que un pequeño cambio de unas casas llevaba ala ciudad a ser completamente diferente. Si quisieramos evitar cierto desarrollo solo necesitariamos analizar un poco la situación actual, y hacer un pequeño cambio para que no ocurrieran casos catastroficos.


Sobre la parte de mecanica estadistica pues dejo un link para que lo vean y no se fien tanto de lo que yo entendi : link

La física estadística también se basa en analizar un sistema a nivel microscopico, por ejemplo un globo con aire, el comportamiento de el globo es muy sencillo de comprender, pero analizar el sistema particula por particula se vuelve imposible debido a al cantidad de particulas que existen, la mecanica estadistica lo que hace es analizar los promedios. De esta forma calcular las propiedades termodinámicas de un gas a partir de nuestro conocimiento genérico de las moleculas que lo componen aplicando leyes mecánicas.



Postulado fundamenta de la mecánica estadística:
Dado un sistema aislado en equilibrio, el sistema tiene la misma probabilidad de estar en cualquiera de los microestados accesibles

Este postulado es necesario para poder afirmar que dado un sistema en equilibrio, el estado termodinámico (macroestado) que está asociado a un mayor número de microestados es el macroestado más probable del sistema. Este postulado puede ligarse a la función de información dada por:


I = \sum_i \rho_i \ln\rho_i = \langle \ln \rho  \rangle

Cuando todas las rho's son iguales, la función de información I alcanza un mínimo. Así en el macroestado más probable además es siempre uno para el que existe una mínima información sobre el microestado del sistema, de eso se desprende que en un sistema aislado en equilibrio la entropía sea máxima (la entropía puede considerarse como una medida de desorden, a mayor desorden mayor desinformación, y por tanto un menor valor de I).

Repast:

El modelo que analizamos es el de un automata celular en el que cada AC tiene 2 estados (0 ó 1), el cual es calculado deacuerdo al estado anterior de sus vecinos, la regla es, si la suma de los estados es par el estado es 0, si la suma es impar el estado es 1.


Las siguentes son unas capturas del programa sin ninguna modifiación:

Configuracion inicial del tablero



Las modificaciones que realice al codigo fue el cambiar la regla de cambio de estado, entre las que se probaron fue cambiar que el estado cambiaba a 1 si cualquiera de sus vecinos tenía estado 1.

Otro cambio fue el de que el cambio solo tomaba en cuenta al vecino de la izquierda y hacía su estado igual a este, para esta regla se obtuvo un cuadrado desplazandose a la derecha:


También se cambio la configuración inicial del tablero, aqui en lugar de poner todos los AC que se especifiican en la semilla se puso un espacio intermedio entre cada AC.

Las siguientes capturas son para la regla normal (par = 0, impar =1) pero con la configuración inicial modificada, y vemos que aunque la tendencía direccional es la misma (se tiende a crecer hacía fuera, luego hacer comunidades aisladas que se van acercando para luego desaparecer), la configuración es diferente,


No hay comentarios:

Publicar un comentario