En los algoritmos anteriormente escritos, el ambiente eran series numéricas que uno como usuario puede cambiar y en el cual los algoritmos genéticos debían aparecer espontáneamente y mutar hasta que al evaluarlos se acercarán lo más posible a lo esperado según la serie numérica. La serie numérica jamás cambiaba, el ambiente nunca cambia es algo que queda fijo... ¿Cómo hacerlo variable?, es más, ¿Cómo dejar la puerta abierta para que los mismos organismos puedan modificar el ambiente? y eso sin olvidar que los ambientes presentan características cíclicas.
Un lenguaje para representar el ambiente y sus leyes
Igual que sucede con los algoritmos genéticos, que tienen un lenguaje de programación que es muy fácil de generar, evaluar y mutar, debe suceder con el ambiente, debe haber un lenguaje de programación que permita representarlo. Esa es la nueva tarea para realizarse. Este lenguaje debe tener las siguientes características:
1. Debe generar ambientes para evaluar N distintos organismos en el que se castigue a los menos aptos (destruyéndolos o impidiendo reproducirse) y premiar a los más aptos (reproduciéndolos).
2. Implementar en el ambiente la selección natural pero que esta característica pueda modificarse por organismos.
3. Implementar en el ambiente la capacidad cíclica pero que esta característica pueda modificarse por organismos.
4. Que existan leyes, pero que estas leyes pueden usarse por los organismos y dado el caso, en un momento ya muy avanzado, el organismo pueda cambiarlas.
5. Rápido de evaluar y fácil de cambiar.