« Sistemas Multiagente … « || Inicio || » Ejercicios de Lógica … »

Ejercicios NetLogo I

Última modificación: 10 de Septiembre de 2016, y ha tenido 1878 vistas

Etiquetas utilizadas: || ||

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • BarraPunto
  • Del.icio.us
  • Digg
  • email
  • Facebook
  • Google
  • LinkedIn
  • PDF
  • Reddit
  • Slashdot
  • Twitter

1.- Propagación de fuego por un tereno: En este modelo haremos uso únicamente de los patches. La idea es analizar cómo influye la densidad de madera seca en el terreno para la propagación de un fuego que comienza en un foco puntual.

  • Preparar el terreno asignando aleatoriamente patches con madera seca siguiendo una determinada probabilidad (que será dada por medio de un slider).
  • Situar un fuego en el patch central (0,0).
  • Crear un procedimiento de propagación de un paso: un patch con fuego se propaga a cualquiera de sus vecinos que tenga madera seca.
  • Añadir un botón forever que ejecute el procedimiento anterior.

Posibles extensiones:

  • Añadir fuerza y direccionalidad del viento (justificar la interpretación dada)
  • Añadir diferencias en el terreno (proporción de seco, tiempo de quemado y de propagación,...)
  • Añadir plots q muestren los resultados.

2.- Propagación de mensajes entre individuos: En este modelo haremos uso únicamente de las tortugas. La idea es analizar cómo de rápido se difunde un mensaje entre una población móvil. Para simplificar, comenzaremos asignando un movimiento aleatorio a los agentes.

  • Preparar los agentes con alguna caracteristica que permita saber si tiene el mensaje o no (aquellos que no lo tenga no lo difundirán).
  • En cada paso, los agentes que tengan el mensaje se lo comunicarán a aquellos que estén en su mismo patch.
  • Proporcionar un slider para determinar el número de agentes en el mundo.

Posibles extensiones:

  • Probar con distintos modelos de movimiento (lineal, restringido a ciertas áreas,...)
  • Representar de alguna forma el número de veces que los agentes reciben el mensaje (color del agente, por ejemplo)
  • Proporcionar una fuerza de impacto inicial al mensaje, de forma que cuantas más veces lo oiga el agente, más decaiga, y superado un umbral, ya no lo transmita más.

3.- Juego de la vida (Conway): El juego de la vida es en realidad un juego de cero jugadores, lo que quiere decir que su evolución está determinada por el estado inicial y no necesita ninguna interacción posterior.
El "tablero de juego" es una malla formada por cuadrados ("células") que se extiende por el infinito en todas las direcciones. Se condeiran las 8 células vecinas de cada célula. Las células tienen dos estados: están "vivas" o "muertas" (o "encendidas" y "apagadas"). El estado de la malla evoluciona a lo largo de unidades de tiempo discretas (se podría decir que por turnos). El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente. Todas las células se actualizan simultáneamente.
Las transiciones dependen del número de células vecinas vivas:

  • Una célula muerta con exactamente 3 células vecinas vivas "nace" (al turno siguiente estará viva).
  • Una célula viva con 2 ó 3 células vecinas vivas sigue viva, en otro caso muere o permanece muerta (por "soledad" o "superpoblación").

4.- Para el modelo NetLogo/Social Science/Segregation model, se proponen las siguientes extensiones:

  • Añade un slider %-rojo, para especificar el % de población que debe ser roja (el resto será verde). Hay dos posibles usos para esta variable:
    • Crear exctamente una proporción %-rojo de rojos.
    • Crear cada agente con una proporción %-rojo de ser rojo, por lo que la media de rojos será esa, pero en cada ejecución puede haber pequeñas fluctuaciones.
  • Añadir un slider ProbMovimientoAleatorio. Modificar el comportamiento de los agentes para que con esa probabilidad se muevan, independientemente de que sean felices donde están o no. Si hay distintas opciones para esta extensión, seleccionar una de ellas y justificar porqué se ha seleccionado.
  • Añadir un slider para controlar la distancia a la que puede moverse un agente.
  • Añadir alguna variale local que controle cómo se mueven los agentes:
    • Moverse solo a las celdas aceptables
    • Moverse a la celda libre más cercana
    • Moverse a la celda aceptable más cercana
    • Moverse a la celda libre más lejana
    • Moverse a la celda aceptale más lejana
  • Añadir alguna medida de segregación inventada por ti y represéntala en un plot.

5.- Juego del más fuerte: Tenemos una familia de agentes con una variable que indica su fuerza. Aleatoriamente, los agentes se mueven por el mundo, y si se encuentran dos de ellos, se enfrentan de forma probabilística, es decir, cada cual "genera un número proporcional a su fuerza" y el que pierda muere. Gana el último que quede.
Posbles extensiones:

  • El que gane cada batalla pierde los puntos que sacase su contrincante.
  • Los jugadores se recuperan poco a poco mientras no se enfrentan a otros.
  • Introducir características de lucha (fuerza, habilidad, ...) y definir un juego adecuado con ese escenario.

« Sistemas Multiagente … « || Inicio || » Ejercicios de Lógica … »