MODELOS BASADOS EN EL INDIVIDUO Y LA PLATAFORMA NETLOGO

 

Este artículo presenta una descripción de los componentes de los modelos basados en el individuo, y como dirigirlos a la creación de simulaciones en el software NetLogo, los modelos basados en el individuo (IBM), se encargan de diseñar un modelo de individuos y otro modelo de medio ambiente, con el fin de que el ordenador genere relaciones de los individuos entre sí y su medio.

Los protocolos ODD surgen como solución a las descripciones de IMBs las cuales no contaban con lenguaje competo, accesible y entendible, puesto que las áreas del conocimiento iban desde matemática, botánica, ingeniería, química, física hasta ecología y veterinaria.

NetLogo ofrece un ejemplo de IBM llamado “Cooperation”, en el que los individuos se encuentran en un medio con los recursos naturales necesarios para su subsistencia, pero al crecer la población deben competir por los mismos, y los individuos que mejor se desempeñen serán los que se seguirán reproduciendo y tendrán por tanto un éxito evolutivo. En cuanto al protocolo ODD de éste modelo, se plantea que su propósito es estudiar la supervivencia y comportamiento de una especie en un medio. Las variables y escalas a utilizar se basan en dos entidades: individuos o animales y la hierba, o el medio en el que sobreviven, las variables serán: estado energético, localización y estrategia o comportamiento; se plantearon reglas de comportamiento como movimiento aleatorio, ingesta de hierba para obtener energía, si nivel de reproducción según su alimento y muerte.

Para el diseño se hace clara la estocasticidad puesto que no se ha puesto alguna función que preconciba el comportamiento de la población, todo surge a partir de las interacciones entre las variables y su entorno.

Los detalles establecen la cantidad de energía, hierba y composición de la población, así como las condiciones de partida y los valores de los parámetros para su inicialización.

Este artículo en particular fue de gran ayuda para comprender nuestro modelo, puesto que realiza una descripción detallada de cómo realizar un modelo usando el software NetLogo y brinda ejemplos de códigos con una breve explicación de su lógica, y una explicación detallada del modelo “Cooperation” y su protocolo ODD.

MODELADO DE SISTEMAS COMPLEJOS MEDIANTE SIMULACIÓN BASADA EN AGENTES Y MEDIANTE DINÁMICA DE SISTEMAS

MODELADO DE SISTEMAS COMPLEJOS MEDIANTE SIMULACIÓN BASADA EN AGENTES Y MEDIANTE DINÁMICA DE SISTEMAS

En esta última época se ha hecho uso de las técnicas de simulación basada en agentes y la dinámica de sistemas, para modelar sistemas complejos, tienen en común que construyen modelos que incluyen la importancia descriptiva de los modelos verbales con la formalidad de los modelos matemáticos más abstractos.

Según Hesse (1963) y Hughes (1997), los modelos científicos se crean para desarrollar procesos de inferencia de aspectos de sistemas reales observados inicialmente, con el fin de mejorar el entendimiento que se tiene de los sistemas reales observados. Para hacer menos complejos los modelos se parte de la abstracción del fenómeno real, mediante la toma de datos omitiendo aspectos que no sean fundamentales para el propósito del modelo, luego se plantearan procesos de inferencia deductivos, que son las condiciones lógicas que surgen de las premisas que definen el modelo, que permitirán obtener resultados sobre el modelo, que se analizaran y aplicaran al sistema real. Se advierte que las conclusiones que se obtengan con un modelo no serán las mismas que se obtengan en el sistema real, pero aportaran conocimientos significativos que no se habrían obtenido de otro modo.

Los dominios de las ciencias sociales son los que se encargan de hacer el modelo menos formal, dejando de lado la lógica impuesta en los modelos matemáticos que perfeccionan técnicas de inferencia y análisis de resultados; las ciencias sociales omiten la lógica y coherencia en cierto punto con tal de lograr flexibilidad y realismo.

Un sistema complejo se caracteriza por tener estructuras jerárquicas, comportamientos basados en la organización de sus componentes y componentes básicos que generen respuestas.

Posterior a la abstracción se debe plantear el diseño y codificación, que consiste en idear algoritmos que representen los datos tomados en la abstracción, modelarlos de tal forma que sean coherentes, tengan un lenguaje entendible para el modelador y se ajusten a las necesidades; tras idear el modelo formal, se realiza la inferencia que consiste en aplicar procesos deductivos que den como resultado reglas y condiciones lógicas; luego de esto se realizará el análisis del modelo formal creado, se utilizan contrastes de hipótesis y técnicas estadísticas que mejoran el entendimiento del modelo; para la interpretación se parte de los resultados obtenidos con el modelo ya analizados para compararlos con el sistema real; finalmente se llega a la aplicación, que como su nombre lo indica, extrae todos los conocimientos relevantes del modelo formal en su sentido práctico más estricto, para aplicarlos al sistema real.

La dinámica de sistemas es una de las técnicas usadas para el modelado de sistemas complejos, sistemas en ingeniería, economía y negocios, planificación y gestión de proyectos, gestión medioambiental, sanidad pública, historia, entre otros. Este se fundamenta en las variables observables y el concepto de retroalimentación en el que éstas describen atributos de los componentes básicos del sistema, y las relaciones existentes entre ellas.

CASOS DE REFUGIADOS, MODELOS BASADOS EN AGENTES.

CASOS DE REFUGIADOS, MODELOS BASADOS EN AGENTES.

(AGENT-BASED MODELING AND STRATEGIC GROUP FORMATION: A REFUGEE CASE STUDY)

Las migraciones de refugiados incluyen viajes a largas distancias con poca coordinación avanzada y redes sociales dañadas. El modelo presentado en este artículo se basa en dos premisas fundamentales: la coordinación estratégica en ruta y de larga distancia. Los refugiados modelados toman decisiones basadas en funciones de utilidad individuales informadas por dos factores, la velocidad del grupo y el tamaño del grupo. Dado que los grupos acomodan a los miembros más lentos, pueden reformarse a medida que los refugiados eligen sus mejores estrategias disponibles para alcanzar la seguridad.

En modelo trabaja en función de los sitios que consideran seguros (basado en sus propias decisiones) En el modelo, los agentes que representan a los refugiados se mueven de un origen izquierdo a un destino derecho que representa el vuelo hacia la seguridad. También hace un aporte a través del establecimiento de normas básicas y comunes para el funcionamiento lógico del modelo. Los agentes pueden realizar dos acciones básicas: moverse y unirse / dejar un grupo. Por ejemplo, un agente puede obtener beneficios relacionados con la seguridad de estar en un grupo grande, pero ese grupo tomará mucho tiempo para llegar al destino ya que acomoda la velocidad de su miembro más lento. La fragmentación de un subgrupo puede permitir que algunos agentes se muevan más rápido mientras se mantienen algunos de los beneficios de la pertenencia a un grupo.

ANÁLISIS: MODELO BASADO EN AGENTES PARA RESISTENCIA SOCIAL.

MODELO BASADO EN AGENTES PARA RESISTENCIA SOCIAL.(ACTIVE SHOOTER: AN AGENT-BASED MODEL OF UNARMED RESISTANCE)

En este artículo se plantea un modelo basado en agentes para exploró el potencial para limitar las bajas si una pequeña proporción de víctimas potenciales enjambre un pistolero, como ocurrió en un tren de Ámsterdam a París en 2015. Su autor Tomas W. Briggs teniendo en cuenta un estudio noto como a través de evidencias de anteriores tiroteos masivos sugiere que las víctimas pueden ser limitadas si el tirador encuentra resistencia desarmada antes de la llegada de agentes de la ley. La necesidad de este radica al poder simular la mecánica de enfrentarse a un tirador activo, el conocimiento explícito de que uno está en una simulación probablemente amortigua las respuestas neurofisiológicas y esperanzadamente impiden que los participantes improvisen una respuesta letal contra el individuo actuando como el Tirador masivo Examinar los tiroteos históricos de masas es una valiosa técnica de investigación, pero se conocen limitaciones.

En la simulación una multitud de agentes se distribuye en un paisaje abierto sin cobertura ni ocultación posible. Un tirador situado aleatoriamente comienza a disparar sobre los objetivos más cercanos. Una vez que el tiroteo comienza, la mayoría de los agentes huyen del tirador a su velocidad de carrera. Al llegar al perímetro exterior de la simulación, los agentes que huyen se consideran seguros y ya no pueden ser atacados. Una pequeña proporción de agentes, si están lo suficientemente cerca, tratan de atacar y someter al tirador. La simulación termina si el tirador es sometido, cuando el tirador alcanza cada objetivo posible, y / o todos los objetivos han escapado. El aporte de la esta simulación al caso radica en el establecimiento de normas básicas como que no se le puede disparar a la misma persona dos veces.

ANÁLISIS: CAMBIO DE NORMAS SOCIALES, MODELO BASADO EN AGENTES.

CAMBIO DE NORMAS SOCIALES, MODELO BASADO EN AGENTES.

(NormSim: An Agent-Based Model of Norm Change.)

Una norma es cualquier regularidad conductual reforzada a través de expectativas sociales compartidas (esto incluye la sanción). Las normas son críticas para la complejidad social porque regulan y coordinan las interacciones sociales para interdependencia. Mark D. Rouleau autor del presente artículo habla de como las normas son temporal y abierto al cambio con el tiempo. Sin embargo, la metastabilidad es en gran parte bajo teoría por las dos principales escuelas de pensamiento sobre las normas: teoría de la elección racional y constructivismo social. Esto se debe a que el racionalismo prioriza el rigor analítico comprensión adecuada de la metastabilidad mientras que el constructivismo hace lo contrario. Pero la base del artículo plantea como este establecimiento de normas puede lograr ambos objetivos a la vez.  Por eso el presente artículo presenta un modelo basado en agentes denominado NormSim que a través de teoría computacional establece un cambio de normas es una sociedad creada artificialmente.  A lo largo del estudio del artículo el autor plantea como la teoría constructivista, caracterizada por ser dinámica presenta un mejor entendimiento que la perspectiva que da el marco racionalista. El problema con el modelo racionalista radica en que a pesar de tener una base bastante sólida en su aspecto social ya que habla mecánicamente de establecer normas para regular la sociedad, sugiere problemas en el aspecto individualista. El racionalismo sea una teoría relativamente estática que es analíticamente útil para explorar emergen en un contexto social fijo, pero no pueden explicar cómo el contexto social mismo cambia. Es así como este modelo teniendo en cuenta los establecimientos de normas para sociedades que son dinámicas se observa como el proceso que se tiene en este modelo es: se selecciona aleatoriamente a un agente para jugar el juego de recolección de números (Asegurando que los agentes jueguen sólo una vez por turno). Tras la activación, el agente «observa» los comportamientos de los otros agentes en su social y luego usa esta retroalimentación social para actualizar las reglas conocidas. Acá nuevamente se hablan de reglas de decisión reactivas ya que dependiendo de cómo se altera el medio, el agente tendrá la potestad de cambiar o no la decisión a seguir, es decir, su decisión se basa en los momentos anteriores.Esta forma de refuerzo social se denomina Aprender- media. Los agentes NormSim también pueden usar un modo de aprendizaje por modo en el que la norma socialmente aceptable es la regla más activa frecuentemente observada de los otros agentes en su barrio social en lugar de la media. Los agentes NormSim son también adaptativos no sólo reactivos. En otras palabras, los agentes descartan reglas que no cumplen puntuaciones por debajo de un umbral mínimo) y «descubrir» nuevas reglas que son potencialmente más socialmente aceptables. Esto será fundamental para nuestro caso en cuestión.

ANÁLISIS: MODELO BASADO EN AGENTES A PARTIR DEL ANALISIS DE LA REGLA DE DECISION EN EL AGENTE DE EPSTEING.

MODELO BASADO EN AGENTES A PARTIR DEL ANALISIS DE LA REGLA DE DECISION EN EL AGENTE DE EPSTEING.
(Analysis of the Decision Rule in Epstein Agent-Based Model of Civil Violence)

Joshua M. Epstein es conocido por su aporte relacionado con modelos basados en agentes a la temática de la violencia civil contra una autoridad central. Explora el papel de los modelos basados ​​en agentes en las ciencias generativas. El modelo creado por Epstein describe muchas características de la violencia a gran escala procesos en las sociedades, y ha sido adaptado y ampliado otros autores para estudiar fenómenos de conflicto
como protesta, delito urbano, y los efectos de la legitimidad retroalimentación y  sobre la dinámica de la violencia. Así, mientras los modelos estadísticos pueden considerarse como modelos centrados en variables cuyo fin principal es la predicción; los modelos basados en agentes  pueden caracterizarse como modelos orientados a procesos cuya fecundidad mayor radica en explicar los mecanismos generadores de un proceso social (Gilbert, 1996). Por esta razón, Epstein sostiene que “la contribución central es
facilitar la explicación generativa” (Epstein, 2006b: 1587). En este trabajo presentamos un análisis de la teoría fundamentos y mecanismos subyacentes del umbral en el modelo de violencia civil de Epstein, durante dos diferentes formas de la función de
probabilidad de detención. Primero en la forma general de esta regla se analizó en términos de principios de etología. Luego, se estudió la forma de la función de probabilidad de detención, considerando los desarrollos en otras áreas de investigación como depredadores-presas sistemas en dinámica de poblaciones y búsqueda aleatoria
en teoría de la detección. En este trabajo se discute lo importante de distinguir el concepto de agente tal como es empleado en las ciencias sociales de aquel utilizado en las ciencias computacionales. En estas últimas, la idea de agente constituye una construcción artificial, es decir, una pieza de software programada para representar cierta clase de objetos. Por ejemplo, si se pretendiese desarrollar un sistema político artificial, podrían modelarse distintos comportamientos y preferencias de los votantes tomando en cuenta sus identidades políticas, posicionamiento ideológico y características socioeconómicas; asimismo, sería factible modelar diversidad de estrategias electorales de partidos y líderes políticos. En segundo lugar, los agentes de
un modelo basado en agentes son autónomos, es decir que no hay un control central, jerárquico o descendente sobre la conducta de los agentes individuales. Es decir, el autor (Carlos Lemos) concluyó que son autónomos porque tienen control sobre su propia conducta, lo que equivale a afirmar que pueden “operar sin que otros tengan control directo de sus acciones y su estado interno.

ANÁLISIS: MODELO BASADO EN AGENTES «COMPORTAMIENTO COOPERATIVO Y COMPETITIVO EN PRESENCIA DE CONFLICTO»

COMPORTAMIENTO COOPERATIVO Y COMPETITIVO EN PRESENCIA DE CONFLICTO.
(Agent-Based Modeling of Competitive and Cooperative Behavior Under Conflict)
La evolución de la cooperación y de las normas son respuestas sistémicas que podrían surgir de las interacciones de los individuos que siguen aparentemente, en las cuales estas son sencillas y centradas individualmente. En este artículo la Autora Michele Bristow plantea que el estudio de sistemas complejos como los humanos (denominados: sistemas adaptativos complejos) está altamente justificado porque una comprensión
de ellos puede ser utilizada para el diseño de políticas y programas que buscan gobernar
efectivamente las acciones de los individuos de manera que las respuestas sistémicas deseadas se logran para satisfacer el sistema general de los objetivos de los sistemas.
Es por esto que en el mencionado artículo se muestra una metodología desarrollada para
resolver sistemas de problemas que implican muchos agentes que trabajan entre sí para lograr sus objetivos individualmente. A través del modelo se pretendía dar una forma de modelar las interacciones entre los agentes participes de un conflicto y como se generan ciertas reglas y estrategias pueden afectar o no el resultado del conflicto. De este modo se garantizará el estudio de cómo y por qué se alcanzan algunos resultados, el patrón que se sigue para la toma de decisiones en masa.
El caso mencionado en el artículo plantea los objetivos de los sistemas por un lado y los
objetivos de los individuos. El ejemplo mencionado es un grupo de individuos enfrentado a un recurso común. Para observar la forma de interacción de los individuos se debe plantear primero la definición de estos elementos:
1) Agentes junto con sus atributos como objetos de clases para distinguir diferentes tipos de agentes; 2) el medio ambiente que los agentes habitan y con los que interactúan los agentes; 3) métodos que los agentes usan para actualizar sus atributos en respuesta a interacciones con el medio ambiente u otros agentes; Y 4) agente interacciones que son métodos que controlan cuándo, cómo y que interactúan durante la simulación. Para la toma de decisiones ante situaciones que se presentan en el entorno la regla de decisión se da así: Como ejemplo, una regla de decisión podría ser: si el porcentaje de vecinos que seleccionaron la estrategia; en el paso anterior es superior al 50%, a continuación,
seleccione la estrategia;. La decisión se basa sólo en el conocimiento de un evento pasado. A esto se le llama regla de decisión reactiva que será lo aplicado para nuestro caso. Es así como este artículo proporciona una formulación general para modelos basados en agentes para implementar la decisión de los agentes reglas que anticipan los
estados futuros de su mundo basado en el conocimiento de sus propias opciones y de las de otros agentes y preferencias. Como resultado, las reglas de decisión de los agentes tienen consideraciones. Al igual que un jugador de ajedrez mira unos pasos por delante para anticipar cómo se movería su oponente, los agentes también estar equipados con procesos de toma de decisiones estratégicas. Los agentes deben ser capaces de considerar cómo las acciones de otros agentes, que pueden estar en conflicto con sus propias acciones, pueden afectar su clasificación individual.

Filtros para reducir el ruido speckle en imagenes de radar

Las imágenes de radar contienen un ruido llamado speckle el cual se produce por las fluctuaciones aleatorias entre las señales emitidas en una superficie y se caracteriza por ser multiplicativo, lo que impide realizar un correcto análisis de las imágenes. Las técnicas estadísticas permiten realizar procedimientos para obtener solución a estos problemas por medio de modelos.
Por esto se plantea reducir este ruido haciendo uso de filtros los cuales suponen que los
datos se comportan como un modelo estadístico que afirman dejar detalles de la imagen
para su correcto análisis. Se puede definir al pixel como una función, y al tener una imagen con ruido considerar tal función con una constante del ruido multiplicativo, conocida como secuencia del ruido aleatorio. La intensidad o magnitud del píxel será la reflectividad de la superficie por la secuencia del ruido aleatorio, el cual sigue una distribución normal.
Los filtros más conocidos son Lee (preserva características de alta frecuencia), Kuan (más preciso), Frost, Block Average (Promedio de Bloque), Gamma, Lee Mejorado, Laplaciano(resalta bordes), Desviación Estándar, los cuales ayudan a disminuir el ruido contenido en este tipo de imágenes. Para así diferenciar relieves hay que resaltar que la funcionalidad cambia según el filtro usado algunos tienden a degradar los bordes de las
imágenes, lo que es un gran problema debido a la cantidad de información que se pierde lo que hace más difícil su análisis e interpretación.
Para aplicar estos filtros a la imagen se hizo un modelo donde la entrada era la imagen recortada y se generan todos los filtros con los paràmetros por default y en power, además se especifica que el sistema de referencia que se usa es el de la imagen recortada
y se exportan como TIFF.

f1.JPG

​ 2. Enhanced Lee
El filtro Lee mejorado divide una imagen en áreas de tres clases. La primera clase se
corresponde con las áreas homogéneas en el que las motas pueden ser eliminados
simplemente mediante la aplicación de un filtro de paso bajo (o equivalentemente, de
promedio, de procesamiento multi-look). La segunda clase corresponde a las zonas
heterogéneas en las que las motas son a reducirse mientras que preserva la textura. La
tercera categoría comprende las áreas que contienen objetivos puntuales aisladas, en el
que el filtro debe preservar el valor observado.

f3.JPG

f2.JPG

Estudiando Keras!

El código que se va a estudiar , se creó para realizar una clasificación basada en una red neuronal de tipo perceptrón multicapa.
Para el desarrollo del código se hizo uso de la máquina Inteligencia Artificial
ideada por el profesor que imparte la asignatura, además del software VirtualBox.
1. Para crear el código que permita cumplir el objetivo mencionado
anteriormente, primero se deben insertar las librerías, herramientas que
se encargan de ofrecer una interfaz definida para una funcionalidad
específica, la cual nos ayudara a facilitar la implementación del código,
las librerías que utilizaremos serán: keras(librería conocida por ser de
ayuda para poder generar y diseñar modelos de redes neuronales
propios), corrplot(paquete grafico de una matriz de correlación e
intervalo de confianza) y ngram(paquete secuencia de n palabras, en
orden de un cuerpo de texto).

K1

2. Luego de esto se instalaran los prerrequisitos que nos servirán de apoyo
a lo largo del código, las funciones a utilizar se llaman: TensorFlow y
ngram, de nuevo debido a que necesitamos los paquetes que esta
función posee.

K2

3. Para definir el tipo de variable de cada una de las clases existentes se
debe hacer uso de la función “SetClass” en la que se determinará los
datos que hacen parte de una matriz o estarán como factores.

K3

4. Se cargan los datos del siguiente link
http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data ,
mediante la función read.csv, el cual permite incluir datos mediante un
link con la palabra url.

K4.JPG

5. Luego se le pide que devuelva los datos que se encontraban en la
primera parte de la base de datos “iris”. Y que revise la estructura del
mismo, y sus dimensiones. Se añaden los nombres de las variables de
la base de datos, mediante la función “names (iris)”, los datos que se
añaden mediante columnas son:
– Longitud Sépalo.
– Ancho Sépalo.
– Longitud Pétalo
– Ancho Pétalo
– Especies
Allí mismo se le indica que se grafique con un color especifico cada
variable, rojo, verde o azul.

K5

6. Se le pide que devuelva lo asignado anteriormente con nombre “iris”.
Luego de esto se hace uso de la función correlación, la cual se realizará
entre la longitud del pétalo y su ancho. Se le pide que la realice con el
método de circulo.

K6

7. Luego de esto se le indica determinar el tamaño de la muestra, la
muestra se dividirá en dos, para realizar el entrenamiento y para realizar
pruebas sobre lo obtenido anteriormente

K8

8. Para proceder a realizar la creación del perceptron multicapa, se hara
uso de la función “keras_model_sequential”, en donde se añadirán las
capas con la función de activación “relu” que serán las capas con
entrada lineal, y con la función de activación “softmax”, que serán las
capas no lineales.

K9.JPG

9. Se le pide al programa que realice un resumen del modelo, con la
configuración de las capas y del modelo, además de la lista de capas del
modelo y de los tensores de entrada y salida, como se indica

K10

10.Para compilar el modelo se utiliza la función “compile” en la que se
ingresa “loss, optimizer y metrics”, que representan la pérdida que se
determinará con categoría de entropia cruzada, un optimizador Adam, y
medida de precisión.

K11

11.Mediante la función ajustar_modelo, y “fit”, se le indica que realice un
entrenamiento con 200 épocas, un tamaño de 5 y validación de 0,2;
mediante la función perdida_modelo se le indica que grafique lo
anteriormente mencionado con las épocas de X, y la pérdida de Y, color
azul y tipo L; mediante la función exactitud_modelo, se le indica que
realice una grafica de la exactitud del modelo, en donde la X, será la
época, y la Y, la exactitud, de color azul y tipo L, además de una gráfica
de la exactitud de la validación de datos.

K12

12. Mediante la función “predictor”, se le indica que realice una prueba de
predicción con los datos de muestra, en total 128

K13

13. Finalmente mediante la función evaluar_modelo, se evalúa el modelo,
haciendo uso de los datos de la muestra realizada en el paso número 7,
esta evaluación permite medir la veracidad del modelo, cuando el
modelo sea ideal para realizar una clasificación se guardara con la
función guardar_modelo.

K14

Entrenamiento por retropropagación

Se definirá el concepto de neurona artificial, el cual dará paso para la explicación del método de entrenamiento por retropropagación.
Una neurona artificial se compone de elementos de entrada y de salida, los cuales se procesan en una unidad central , también de elementos de procesamiento que le permitirán aprender y generalizar conceptos. Para que la neurona de cómo resultado unas salidas determinadas, luego de ingresar datos de entrada, es necesario entrenarla, tal que el valor esperado y el obtenido sea lo más óptimo posible.
El modelo de perceptrón cuenta con una capa de neuronas que tienen pesos y umbral
ajustables , se le llama red neuronal debido a las conexiones entre sus elementos.

imag1

Así, el algoritmo de entrenamiento del Perceptrón ideado por Rosenblatt consiste en identificar el ajuste que se le debe dar a cada peso dentro de la neurona para así obtener un error de cero en la salida.

El Modelo de perceptrón multicapa (MLP) consiste en la generación de una nueva red que cuenta con varias capas de neuronas artificiales, esto aplicando una función de activación, función diferenciable y no lineal, que antes era una función no diferenciable, activación logística. Esto permite a las redes neuronales aprender variaciones no lineales de diferentes tipos de ambientes.

imag2