Por @Alvy — 20 de septiembre de 2017

Esta pequeña demostración permite ver cómo un algoritmo evolutivo en una red neuronal artificial permite a unos sencillos coches «aprender» a circular en un circuito de carreras.

La evolución se produce a lo largo de varias generaciones, pero no son necesarias muchas en este ejemplo (15, como puede verse en el vídeo). En cada generación arrancan 20 coches que tienen cinco «sensores» frontales para medir la distancia a los obstáculos. Además de eso tienen un valor numérico que indica el giro de volante y la aceleración del motor.

Si algún coche toca los bordes del circuito, ¡crash! Eliminado.

Para la siguiente generación se hibridan los dos mejores resultados (los que hayan obtenido una mayor distancia recorrida) y con eso se generan 20 nuevos coches. Y al tostadero de nuevo. Generación a generación los más aptos para no chocharse y circular más rápido dentro de los límites del circuito van progresando y «engendrando nuevos cochechitos» para el futuro. Muy darwiniano todo.

La simulación está programada en Unity y se puede descargar aquí para estudiar el código: Applying_EANNs.

Relacionado:

Compartir en Flipboard Publicar / Tuitear Publicar