Ahora veremos la implementation en netlogo del algoritmo genetico de Robie el robot
Esta interface es un poco complicada
asi que procederemos paso a paso
en realidad, esta interfaz tiene dos partes
la parte del algoritmo genetico
y esta parte simula a Robie en su ambiente
Corramos el algoritmo genetico
Establezcamos un tamaño de la poblacion aqui
este sera de sesenta
una desventaja de esta implementacion en netlogo
es que es algo lenta
asi que no puedo correrla con una poblacion
del mismo tamaño que en la version en C
aceleremos esto, para hacerlo tan rapido como sea posible
aceleremoslo al maximo
Ok, el tamaño de la poblacion es sesenta
la razon de mutacion
recuerden, despues de que los padres se cruzan
para crear a la descendencia, la cual tiene mutaciones
esta es la probabilidad de mutaciones
en cada valor de la cadena
es un valor de .05 de probabilidad de que cada valor mute
esto quiere decir que en promedio seran como 12 mutaciones por cadena
es algo alta, pero dejemoslo asi por ahora
experimentaremos con esto mas tarde
Ok, ahora, presiono "setup"
toma un tiempo,
porque es lento
lo que van a ver es, cada individuo es representado aqui
tengo sesenta individuos en la poblacion
esta es la primera generacion, cuando todo es aleatorio
cada uno representa una estrategia aleatoria
el eje vertical representa el estado de salud
asi que pueden ver que todos estos tienen poca salud
este aqui es el que tiene mejor salud en la poblacion
el eje horizontal representa que tan similares son los otros individuos al mejor individuo
en terminos de la cadena que representa la estrategia
que tan similares son las cadenas
Ok, asi que podemos correr esto por siempre, o podemos correrlo por cierto numero de generaciones.
Hare el numero de generaciones igual a cincuenta
asi que corramoslo
aqui nos dice el mas saludable de cada generacion
tambien tenemos una representacion de la representacion misma
en terminos de las acciones en la estrategia
no es muy util en este momento
porque no podemos interpretar que tan buena es la estrategia mirando la cadena
ahora podemos solo mirar como cambia la poblacion a lo largo del tiempo
y podemos ver una grafica de la salud del mejor individuo en cada generacion aqui
como pueden ver es bastante lento
Ok, llego a la generacion cincuenta,
y fue desde -74 como el de mejor salud, hasta 7.5 como el de mejor salud
lo que podemos hacer ahora es mirar lo que el mejor individuo hace
en un ambiente dado
preparo el ambiente
ahora la pantalla cambia a un individuo
es el mejor individuo
aqui esta lo que va a hacer en esta configuracion particular de envases
para cada envase. Cada uno de estos puntos naranjas es un envase
puedo dar un paso de la mejor estrategia
aqui, lo que dice es que en cada paso,
este individuo, solo va a permanecer quieto
Ok, asi que tiene cero salud
Intentemos un ambiente diferente
esta es una configuracion diferente de envases
aun esta quieto
esta es una configuracion diferente de latas
bien, hay algunas configuraciones de envases en las que este individuo
hace algo, porque tiene una salud mayor que el promedio de cero
pero no la hemos encontrado aun
Oh! levanto una lata!
tiene una lata a un costado. Levanto una lata
Ok, ya tiene una puntuacion de 10 en esta ronda
Ok, ahora cambiemos la pantalla, de regreso a la del algoritmo genetico
y tratemos por otras cincuenta generaciones empezando con la poblacion que tenemos ahora
Huy!, accidentalmente oprimi "setup"
asi que destrui la poblacion, tenemos esta ahora
intentemos nuevamente, con "n" generaciones
asi que esta es una corrida diferente
empieza con una poblacion inicial diferente de cadenas aleatorias
asi que veremos una progresion diferente.
Ahora, permitanme adelantar en el video hasta la generacion cincuenta
Ok. Aqui esta la generacion cincuenta
Esta esta un poco mejor (que la generacion anterior)
el de mejor salud tiene 18.5
veamos al mejor individuo
aqui lo vemos
atravezando y haciendo algunos movimientos
pero no recoge ningun envase
intentemos en otro ambiente
Oh! esta recogiendo algunos envases!
esta regresando y volviendo a ir otra vez
esta atorado
como sea, esto es solo para mostrarles este modelo
pueden descargarlo de la pagina de materiales del curso
que es llamada "robbyga.nlogo"
y pueden jugar con el y utilizarlo para hacer algunos ejercicios de la tarea en esta unidad