¿Cómo se tradujeron las características de las criaturas virtuales adaptativas de Karl Sims en unos y ceros para el algoritmo genético?

La criatura tiene tanto una morfología como una estructura de control que se desarrollan juntas.

La morfología está representada por un gráfico. Tiene un nodo raíz, que se conecta a otros nodos. Cada nodo representa un segmento del cuerpo y define cosas como su tamaño y otras características físicas. Las conexiones entre ellos definen cosas como dónde se conectan, límites en el movimiento articular, tipo de articulaciones. También permite conectarse al mismo componente varias veces, como crear múltiples patas. Y es tan compatible con la vinculación para crear ciclos, que pueden crear estructuras fractales. Almacena un límite de cuántas veces representará en un ciclo.

Cada parte del cuerpo también tiene sensores, que proporcionan entradas como la posición de la articulación, si están en contacto y si son fuentes de luz puntiagudas. Parece que también hay sensores que reciben información sobre el mundo. Cada parte del cuerpo también tiene un efector, básicamente un músculo que puede aplicar pares en sus articulaciones.

El control de comportamiento es más que una red neuronal típica, y más cerca de un modelo de archivo de datos tiene nodos neuronales, pero cada nodo puede representar uno si una variedad de funciones, como funciones matemáticas, generar varias señales de onda, condicionales, etc.

Cada nodo tiene una cantidad de entradas en función de su función, y cada paso de tiempo calcula el valor de cada nodo en función del valor anterior de sus nodos de conexión. Algunas de las entradas a estos nodos provienen de los sensores, y algunas de las salidas están conectadas a los efectores.

También escala la resistencia de cada junta en función de su sección transversal.

La mayoría de los nodos neuronales están realmente asociados con una parte específica de la criatura, por lo que se duplican junto con ella si se toman múltiples. También permiten la conexión entre los nodos padre e hijo. Esto da como resultado una estructura de gráfico dirigida anidada para el sistema de control final … además, tiene nodos neuronales sin asistencia, ya sea cualquier parte que exista solo una vez, para servir como control maestro y coordinador, y puede conectarse arbitrariamente a la jerarquía específica de la parte .

Todo esto se utiliza para generar un fenotipo y ponerlo en una simulación física. Algunas criaturas se consideran inválidas desde el principio, como las que tienen partes de interpretación.

La mutación de la criatura se basa en la idea de que tanto su morfología como su estructura de control son un gráfico dirigido.

Pueden mutar parámetros dentro de los nodos, agregar nuevos nodos al gráfico, mutar parámetros de conexiones o conectarlos a nuevos nodos. En el gráfico morfológico pueden agregar o eliminar conexiones. Luego, la basura recolecta nodos no conectados por problemas de rendimiento (aunque dejarlos volver a conectar el sonido podría ser una ventaja).

También permite la reproducción sexual alineando los nodos de los gráficos y permitiendo que intercambien conexiones entre ellos o permitiendo conexiones en el otro gráfico para unirlos.

https://www.google.com/url?sa=t&…

El código genético lineal se asigna a una estructura intermedia en forma de un gráfico dirigido. No hay detalles sobre cómo se logra exactamente esto, pero no es demasiado difícil encontrar una solución.

El gráfico dirigido incluye límites recursivos para cada una de las flechas entre nodos. Luego, el cuerpo se genera al pasar recursivamente a través del gráfico desde la raíz, creando bloques secundarios y conectándolos al padre con desplazamientos definidos por aún más parámetros tomados del genoma.

Cada nodo en el gráfico dirigido también contiene una subgrafía de nodos lógicos. Estos no son análogos a las neuronas biológicas, son operaciones matemáticas como la suma y el módulo. Estos se duplican para cada bloque de cuerpo en el cuerpo final, pero la parte difícil es conectarlos a otros nodos lógicos en segmentos de cuerpo conectados y los conectores de entrada de motores virtuales en las uniones entre ellos.

He implementado algo como esto un par de veces y no es una tarea trivial. Nunca logré una solución satisfactoria que fuera tan evolutiva como el trabajo original, que sigue siendo uno de los mejores trabajos en todo el campo de la Vida Artificial.