Vida Artificial

Investigación

Artículos

Autor

Otros

Población: Matrices para simular comportamientos evolutivos

Uno de los temas en Simulación es el método Monte Carlo y uno de los ejemplos clásicos es el problema del viajero: un problema de enunciado simple pero de solución difícil porque requiere hacer muchas pruebas.... como es la vida y la evolución.

El problema del viajero

Dado un número N de ciudades en la cual todas deben ser recorridas, ¿cuál es el camino con el menor costo dada la tabla que se ve a continuación?:

image


Este problema tiene N! (factorial de N) posibles soluciones (un número muy grande) que aumenta enormemente por cada ciudad adicionada. La solución utilizando Método Monte Carlo es:

1. Se genera una ruta inicial y se evalúa

image

Ruta: (1-2) + (2-8) + (8-3) + (3-7) + (7-6) + (6-10) + (10-5) + (5-4) + (4-9) =
Costo: 3 + 4 + 3 + 4 + 9 + 8 + 5 + 3 + 3 = 42


2. Se hace un cambio aleatorio a esa ruta y se vuelve a ensayar, si es mejor entonces esa nueva ruta se selecciona, si no entonces se deja la ruta anterior. En el ejemplo se intercambia las ciudades 3 y 4 y esta es la nueva ruta.

image

3. Determinar si es suficientemente buena la selección en caso contrario vuelva al paso 2.

Este método de hallar la mejor ruta es muy parecido a la filosofía de los algoritmos genéticos, donde hay pequeñas variaciones (mutaciones) hasta encontrar un mejor candidato (mejor organismo adaptado o camino con menor costo).

El problema del viajero, el cual usa matrices bidimensionales me ha dado una idea de como implementar las siguientes simulaciones en el que participa el concepto de MacroOrganismo y Poblaciones. Lo presentó a continuación.

Matrices bidimensionales para relacionar a los protagonistas de procesos evolutivos

El uso de matrices permite relacionar, tratar con costos sobre esas relaciones y la búsqueda de soluciones con menor costo. Luego "Relación + Costos + optimización = Simbiosis en permanente evolución = MacroOrganismo". Estas son las matrices planteadas.

1. Matriz de Recursos - Organismo

Refleja la necesidad de una cantidad mínima del recurso Ri por un organismo simple Oi. Debe ser mayor o igual a cero.

Organismo/Recurso R1 R2 R3 R4
O1 4 (cantidad mínima para sobrevivir) 1 9 3
O2 3 2 1 2
O3 7 5 6 7
O4 2 0 8 5

2. Matriz de Organismo - Consumo de Recursos

Refleja la duración que tiene una unidad del recurso Ri en el organismo Oi. La duración se expresa en ciclos y debe ser mayor o igual a cero.

Organismo/Recurso R1 R2 R3 R4
O1 48 (consumo una unidad del recurso R1 cada 48 ciclos) 16 12 65
O2 79 21 17 45
O3 27 23 56 31
O4 12 0 12 21

3. Matriz de Organismo - Costo conseguir el recurso

Refleja el costo que tiene para el organismo Oi conseguir una unidad del recurso Ri. Este costo debe ser mayor o igual a cero.

Organismo/Recurso R1 R2 R3 R4
O1 6 (Cuesta 6 conseguir una unidad de R1 por mis propios medios) 3 6 7
O2 3 1 3 5
O3 5 2 4 3
O4 8 0 9 2

4. Matriz de Organismo - Velocidad conseguir recurso

Refleja en cuanto tiempo (expresado por ciclos) le toma al organismo Oi conseguir una unidad del recurso Ri. Debe ser mayor o igual a cero.

Organismo/Recurso R1 R2 R3 R4
O1 2 (En 2 ciclos de reloj consigo una unidad de R1 por mis propios medios) 6 7 6
O2 1 2 4 3
O3 3 4 5 5
O4 5 0 8 1

5. Matriz de comunicación entre organismos (costos)

Refleja cuanto cuesta a un Organismo Oi enviar una unidad de recurso Ri a otro organismo Oj

Recurso R1

Organismo/Recurso O1 O2 O3 O4
O1 0 4 5 5
O2 3 0 2 3
O3 2 2 0 2
O4 6 3 6 0

Recurso R2

Organismo/Recurso O1 O2 O3 O4
O1 0 3 7 8
O2 2 0 3 2
O3 5 4 0 6
O4 2 1 5 0

6. Matriz de comunicación entre organismos (velocidad)

Refleja cuanto tiempo (expresado un ciclos de reloj) le toma a un Organismo Oi enviar una unidad de recurso Ri a otro organismo Oj

Recurso R1

Organismo/Recurso O1 O2 O3 O4
O1 0 2 4 6
O2 2 0 1 2
O3 6 1 0 1
O4 7 5 3 0

Recurso R2

Organismo/Recurso O1 O2 O3 O4
O1 0 6 2 6
O2 3 0 1 1
O3 2 2 0 2
O4 1 5 7 0

Estas matrices ofrecen caminos sobre la simbiosis: un organismo tarda mucho tiempo o le cuesta mucho conseguir un recurso Ri (o ambas cosas) por si mismo, en cambio, puede negociar con otro organismo para que le entregue ese recurso Ri a menor costo o mas rápido (o ambas cosas), por supuesto, a cambio de algo.

Estoy investigando que nuevas matrices son necesarias para hacer lo mas realista posible el proceso de la vida, simbiosis y evolución.

1