En esta clase vamos a ver cómo la
probabilidad algorítmica puede echar luz
en algunos aspectos de la evolución biológica
y cómo los resultados numéricos del caso natural
se pueden traducir a métodos de optimización
para evolución artificial
con técnicas como algoritmos genéticos y evolutivos.
En el centro de la teoría de evolución biológica moderna
está la idea de que la evolución es gradual
y se explica por cambios genéticos pequeños
en poblaciones grandes a lo largo del tiempo.
Se cree que la variación genética sucede al azar, por mutación,
con pequeños cambios que han ocasionado cambios
evolutivos a gran escala a lo largo del tiempo
cuando esos cambios otorgan alguna ventaja evolutiva.
Es común que en la búsqueda de posibles vínculos
entre la teoría de evolución biológica y la teoría de la información,
aparezca el lugar y el rol que el azar juega en el proceso
que crea la variedad necesaria para que los organismos cambien y se adapten.
La selección natural explica cómo la vida evolucionó
a lo largo de millones de años a partir de formas más primitivas.
Sin embargo, la velocidad con la que esto sucede
ha desafiado las explicaciones formales
cuando se basan en mutaciones al azar y distribuidas uniformemente.
Por ejemplo, el argumento creacionista
es que no hay forma alguna de obtener el nivel de diseño de un organismo
mediante la acumulación de modificaciones aleatorias.
Pero si se considera que las mutaciones son perturbaciones del ambiente,
entonces es claro que pueden no estar distribuidas aleatoriamente
y no ser completamente azarosas.
Así que no todas las mutaciones serían igualmente probables.
De hecho, esto ya se conoce en biología.
No todos los segmentos de ADN o regiones del genoma
tienen la misma tasa de mutación.
Incluso en la vida de una persona,
las tasas de mutación son muy distintas.
Así que el explorar distribuciones de mutaciones
diferentes a las distribuciones uniformes
no debería de ser una sorpresa.
No es difícil ver cómo la interacción
entre organismos
es un tipo de proceso que puede estar relacionado
con la distribución universal
si se piensa que el ADN vive en el espacio de software
con las mutaciones como perturbaciones algorítmicas,
algo sugerido previamente por gente
como el mismo Gregory Chaitin y su metabiología
y también por Stephen Wolfram.
¿Y si asumimos que las mutaciones no están uniformemente distribuidas
sino que se distribuyen con un fuerte sesgo de simplicidad algorítmica
si el ADN está en este espacio de software?
¿Qué pasaría si estudiamos la evolución desde ese punto de vista?
Aquí te muestro cómo hicimos un experimento
con un método
en el que introdujimos la distribución universal
en la forma en la que las mutaciones cambian el software, como el ADN.
Antes de aplicar una mutación, simulamos todas las mutaciones puntuales posibles
y encontramos cuál era la más simple
de acuerdo a la probabilidad algorítmica, medida como BDM,
y esa fue la mutación que mantuvimos para la siguiente generación.
Por supuesto que en la realidad, las mutaciones naturales no se aplican así,
pero dado que las mutaciones no provienen de una distribución uniforme,
provendrían de algo relacionado con la distribución universal,
así que no tienen que ser simuladas y probadas de antemano.
Son favorecidas naturalmente.
Los resultados en ejemplos sintéticos y biológicos en escala pequeña
indican una tasa acelerada de convergencia, convergencia evolutiva,
cuando las mutaciones no son estadísticamente uniformes
sino algorítmicamente uniformes,
es decir, mutaciones distribuidas de acuerdo a la distribución universal.
También mostramos que las distribuciones algorítmicas
pueden evolucionar modularidad y memoria genética
porque algunas estructuras de baja complejidad
son preservadas y transmitidas a lo largo del tiempo,
creando grupos con menor aleatoriedad, lo que a veces ocasiona
una producción acelerada de diversidad,
pero también a extinciones poblacionales
puesto que, al seguir la distribución universal,
los módulos de baja complejidad son incapaces de adaptarse
suficientemente rápido,
lo que podría explicar fenómenos que han ocurrido naturalmente,
como las explosiones de diversidad del periodo Cámbrico, por ejemplo.
También las extinciones masivas, como las del final del Triásico,
cuyos orígenes siguen siendo una causa de debate.
Aquí hay un ejemplo de este fenómeno de aceleramiento
con mutaciones que siguen la distribución universal
cuando evolucionamos una gráfica que está persiguiendo
a una gráfica no azarosa creciente
como la gráfica ZK que vimos en la unidad previa
y en algunas previas,
pero también hay estructuras simples como los árboles K-arios y las estrellas.
La introducción de un sesgo de simplicidad se traduce
en una convergencia evolutiva más rápida.
Así que las gráficas requieren muchos menos pasos
para alcanzar esas gráficas
cuando se aplica una mutación algorítmica
que cuando se aplican mutaciones distribuidas uniformemente.
Además, la introducción de este sesgo
se traduce en la capacidad de encontrar rutas evolutivas diferentes
con diferentes pesos entre genes,
que resulta estar comúnmente asociado a cáncer
en una red biológica bien conocida.
Esto sucede porque no todas las rutas evolutivas tienen el mismo peso
o la misma probabilidad.
Algunas serán más probables de acuerdo a las mutaciones
con distribución universal que otras.
Así que el enfoque natural que introdujimos
parece ser una mejor aproximación
a lo que observamos en la evolución biológica
que los modelos que se basan sólo en mutaciones
uniformes aleatorias, por varias razones.
También es natural porque se sabe que esas mutaciones
aleatorias no son completamente azarosas,
sino que el efecto de diferentes causas,
que, si se piensan en la nueva forma algorítimica,
entonces deben de seguir la probabilidad algorítmica
y estar relacionadas con la distribución universal.
Los resultados también validan
las sugerencias que dicen
que el cálculo es un motor de la evolución de igual importancia.
También mostramos que induciendo el método
y los problemas de optimización,
tales como los algoritmos genéticos,
nuestro enfoque tiene el potencial de acelerar
la convergencia en los algoritmos de evolución artificial.
Finalmente, para probar que estos resultados
se pueden trasladar de vuelta a la forma en la que
resolvemos problemas algorítmicamente,
probamos si podíamos acelerar
la programación evolutiva en ejemplos específicos
usando, por ejemplo, un algoritmo genético,
usando las mismas ideas,
es decir, sacando mutaciones de una distribución universal
en lugar de una uniforme.
Lo que encontramos es que,
en experimentos clásicos de referencia,
los resultados de convergencia usando algoritmos genéticos
se aceleraron significativamente,
por ende reforzando lo que creemos que también
subyace a la naturaleza misma,
que no obtiene mutaciones de distribuciones uniformes.
El concepto detrás de esto es que si intentas
aproximar algo que está lejos de ser aleatorio,
cosa que pasa con los organismos y sus ambientes,
entonces las mutaciones sesgadas hacia la
simplicidad algorítmica te dará una ventaja.
Y es muy probable que este mecanismo
esté operando por causas algorítmicas naturales
en la forma en las que la evolución
dirige la creatividad biológica.
Nuestros resultados también proveen un esquema formal
y una versión de evolución ilimitada
basada en estas ideas.
La evolución ilimitada es la idea de que
la evolución no termina y no tiene objetivo,
así que sigue cambiando a lo largo del tiempo
conforme va siendo necesario.
Aquí hay bibliografía del tema
que ha hecho nuestro grupo.
Estoy seguro de que nunca hubieras
imaginado cómo, por ejemplo,
uno de los números más grandes conocidos
estaría conectado de alguna manera
a la evolución biológica,
pero esto es sólo una probadita de cómo
hemos conectado estas ideas aparentemente desconectadas
en una teoría muy bonita y elegante.
En la siguiente unidad veremos una aplicación
de profundidad lógica en otro problema,
en este caso, clasificación de imágenes.