Los Algoritmos Genéticos y el Diseño Inteligente

Por Cristian Aguirre

225

Hacia la mitad del siglo pasado, cuando la naciente era de la informática nacía con los primeros computadores electrónicos, surge la idea de emular la metodología que usa la biología para producir eficaces e ingeniosas soluciones adaptativas. Estas soluciones pueden ser cambios morfológicos convenientes para ser menos vulnerables a los depredadores, capacidades de mimetismo para confundirse con el entorno, y muchas otras soluciones para mejorar la supervivencia. Y si la biología tiene la capacidad de permitir que puedan surgir en las especies vivientes estas novedades producto de una evolución adaptativa ¿Por qué no aplicar estas mismas estrategias con la informática a fin de encontrar también soluciones ingeniosas y eficientes?. Esta fue la premisa con la cual nacieron los algoritmos genéticos.

Un algoritmo genético (AG) funciona, a groso modo, constituyendo un cromosoma artificial con los parámetros de la función y/o funciones cuyo óptimo deseamos encontrar. Este cromosoma en sucesivas iteraciones del algoritmo deberá mutar (cambiar los valores de sus parámetros) y evolucionar produciendo sucesivas generaciones de “individuos” más aptos seleccionados por una función de aptitud que seleccionará y fijará las soluciones mas eficientes y óptimas del problema planteado. En el proceso no existen caminos analíticos hacia la respuesta final. El algoritmo no debe “saber” como generar la solución. Lo que debe hacer es, mas bien, hallar la solución en un espacio de búsqueda donde se hallan todos los casos posibles permitidos por la complejidad del problema especificado en su cromosoma. Para ello debe el algoritmo realizar numerosas iteraciones únicas o en paralelo para las sucesivas generaciones de soluciones hasta encontrar la solución óptima. Una vez encontrada esta solución y comparada con soluciones analíticas, pueden en muchos casos parecer extrañas, pero resultan muy eficientes e ingeniosas.

Desde entonces los algoritmos genéticos se han venido usando en distintas disciplinas científicas y técnicas con muy buenos resultados y ya han producido numerosas patentes.

Ahora bien, este éxito a llevado a los que sustentan el naturalismo evolutivo a considerarlo con gran fervor y entusiasmo como una eficaz prueba de la factualidad de la evolución biológica frente a los creacionistas y defensores del DI que alegan que la naturaleza no biológica, e incluso la biología no puede producirla. Con los algoritmos genéticos los naturalistas tendrían entonces la demostración de que la diversidad biológica, con su complejidad irreductible incluida, puede ser en verdad generada de modo natural y el creacionismo y su engendro el DI quedarán derogados.

En consecuencia esto ha producido que desde esta última trinchera algunos hayan atacado la validez de que los algoritmos genéticos puedan aplicarse en verdad a la biología y, de este modo, descalificar su presunto uso para combatir al creacionismo o al DI.

Pienso que no es buena idea combatir a los algoritmos genéticos como símiles exitosos en la ingeniería humana de los algoritmos reales de la biología. ¿Saben por qué? Porque refrendan muy bien al Diseño Inteligente.

Para explicar porque los algoritmos genéticos refrendan brillantemente al DI permitanme hacer un recorrido mas minucioso de los mismos y, en el camino, refrendaremos también, sin que ello sea contradictorio con el DI, algunas de las propuestas del evolucionismo.

Lamentablemente Charles Darwin a sufrido en el siglo y medio trascurrido desde que publicara su propuesta evolutiva, un juicio acalorado que se desliza entre dos grandes extremos. Si para unos es como un Dios, para otros es como Satanás. No es ni lo uno ni lo otro. Tuvo aciertos indiscutibles y contribuyó al avance de la ciencia como también tuvo errores, que los escasos conocimientos que entonces tenía en comparación con los hallazgos que hoy disfrutamos, no le permitieron discriminar y que, sin embargo, para sus fervientes fans aún se constituyen en dogmas intocables que deben ser creídos con reverencia y bastante acriticamante.

Analicemos ahora con mayor profundidad los algoritmos genéticos.

Para encontrar la solución a un problema de cualquier naturaleza podemos abordarlo por lo general de 3 maneras y las expondré desde la que implica menor trabajo hasta la que implica más:

1.Solución por procedimiento.
2.Solución por análisis (mediante conocimiento causal del problema).
3.Solución por búsqueda exhaustiva.

La primera implica menos esfuerzo ya que la solución ya esta especificada en un procedimiento que nos facilitan. Dicho procedimiento no lo propusimos nosotros, sino que lo propuso otro u otros a los que si les demando esfuerzo encontrarlo mediante el segundo o tercer método. Por ejemplo, si quisiera saber cual deberá ser la velocidad final de un cohete puedo utilizar la expresión de Tsiolkovsky, pero si no la sé también puedo deducirla. Igualmente para resolver un problema trigonométrico puedo usar la ley de senos, pero si no me acuerdo de la misma puedo deducirla y luego usarla. No obstante, por lo general las gente busca el mínimo esfuerzo así que no se da la molestia de buscar la expresión necesaria para resolver el problema, sino que recurre a un procedimiento ya establecido para su solución que pueda encontrar en un libro o apunte.

El segundo método es el que deduce la expresión o método para encontrar la solución. Es más trabajoso y requiere más habilidad y conocimientos que el primer caso en el cual el procedimiento se sirve en bandeja. Aquí en cambio hay que analizarlo y deducirlo. Para algunos casos esto es fácil y para otros casos es una autentica proeza que pocos logran. Además se da la circunstancia de que existen problemas cuya complejidad no permite encontrar por la vía del análisis una solución óptima sin recurrir en cierto modo al tanteo o a la intuición y ello es debido que el número de variables puede ser muy alto e inabordable para un método analítico.

El tercer método, la búsqueda exhaustiva, se aplicaría a estos últimos casos, no obstante resulta muy impracticable para tamaños grandes de un problema. Imaginemos que tenemos que encontrar un boleto de lotería de una caja. El número premiado es el 34728. sabiendo que tiene 5 dígitos y cada dígito tiene 10 valores distintos tenemos 100000 casos entre el 00000 y el 99999. Al conjunto de casos posibles definido por el problema se le llama “espacio de búsqueda” y de este modo su espacio de búsqueda es precisamente igual a 100000. Pero nadie nos dice en que orden están dispuestos los boletos y donde puede estar el boleto premiado en la caja, entonces tengo que realizar una búsqueda exhaustiva evaluando boleto por boleto hasta encontrar el premiado. Este método es de hecho mucho más pesado que los 2 anteriores, pero no nos queda elección ya que con ninguno de ellos podríamos encontrar el boleto ya que no tengo ninguna información de dónde puede estar, ni modo de calcularlo analíticamente.

Con la era de la computación la búsqueda exhaustiva se hizo más realizable, sin embargo, incluso con el auxilio de un computador hay casos tan complejos que ni siquiera son abordables con una búsqueda exhaustiva informáticamente asistida. Por ello se han buscado métodos más eficaces y rápidos para llegar a encontrar la solución deseada y, entre ellos, aparecen los algoritmos genéticos como una solución inspirada en la biología y que en verdad funciona.

El ejemplo del boleto de lotería es demasiado simple y burdo para tener una cabal idea del tamaño y complejidad de los problemas a resolver con un AG (algoritmo genético). Pero en términos generales nos da una idea de los conceptos implicados. Imaginemos ahora un espacio de búsqueda mucho más complejo donde cada solución forma un paisaje tridimensional tal como una zona montañosa con picos y valles diversos, sin embargo la solución óptima será la que constituya el pico más alto. A cada pico se le puede reconocer como un máximo local, pero hay un máximo general que es el que realmente nos interesa.

225

Imaginemos ahora que tenemos que encontrar el pico del monte Everest en todo el territorio de Nepal en plena zona montañosa del Himalaya. No disponemos de ninguna información sobre el territorio, no tenemos ninguna foto o mapa de relieve que nos pueda guiar a localizar nuestra solución óptima. Si tuviésemos que hacer una búsqueda exhaustiva tendríamos que enviar a un ciego o grupo de ciegos con un bastón y un GPS a recorrer todo el territorio de Nepal con una resolución de digamos un metro cuadrado en la cual medir la altitud y así, después de un tiempo muy considerable y el sobrehumano esfuerzo del grupo de los ciegos, encontrar donde está la sima del Everest.

¿Que haríamos para encontrar la solución imitando a la biología?

Podríamos hacer lo siguiente:

Creamos un cromosoma que constituye todos los parámetros de valores o funciones necesarios en el problema. La complejidad de este cromosoma será precisamente el numero de casos que contiene su espacio de búsqueda, es decir, todos los casos posibles del problema que especifica el cromosoma. Sobre este cromosoma necesitamos hacerlo mutar y reproducirlo en varios espécimenes que también muten o recombinen alelos (un alelo es un elemento de un conjunto de varias posibilidades que puede tener un gen dado de un cromosoma). Luego necesitamos una función de aptitud que seleccione los casos con soluciones más aptas y, por lo tanto, cuyos cromosomas tengan los mejores genes. Luego deberán reproducirse, recombinar y/o mutar y producir nuevas generaciones que serán confrontadas con la función de aptitud hasta que finalmente no puedan encontrar una mejor solución y en verdad hayan hallado el óptimo general.

En el ejemplo del Himalaya seria como empezar con una generación de exploradores ciegos con su GPS que cayeran en lugares aleatorios del territorio. Unos caerían en profundos valles y sería eliminados por la función de aptitud para la reproducción. En cambio los que cayeran en zonas elevadas serían seleccionados por la función de aptitud y podrían engendrar una nueva generación de soluciones en las cercanías. De este modo en sucesivas generaciones los exploradores ciegos se irían acercando a las cumbres y si al principio no hubiera ningún espécimen en el Everest, tarde o temprano por efecto de la mutación o recombinación aparecería uno en el mismo y al reproducirse se seleccionarían sucesivamente a los que se encuentren más alto hasta que, al final el máximo local del Everest sea seleccionado de todos los máximos locales, es decir, todas las cumbres de Nepal.

Este método es definitivamente mucho más eficiente y rápido que una penosa búsqueda exhaustiva y nace de una imitación de sobre cómo funciona la biología terrestre y además, estas soluciones tienen complejidad irreductible.

¿Como dicen entonces los majaderos del DI, incluido el que escribe estas lineas, que la naturaleza no puede producir mecanismos ingeniosos y con complejidad irreductible?

Pues bien analicemos el asunto.

Definitivamente esto muestra que, aunque los algoritmos genéticos no son copias precisas del algoritmo real biológico, los organismos vivos pueden en verdad, por un mecanismo evolutivo darwiniano, “crear” soluciones de adaptación biológica muy sorprendentes sin la intervención de ningún diseñador inteligente.

¿Pero esto significa realmente que no interviene la inteligencia?

Muchos científicos e ingenieros materialistas se regodean con esto diciendo que no solo si hay comida gratis (en referencia al libro de Dembski “No free Lunch”), sino que también hay una caja de bombones.

En cuanto a la biología efectivamente se puede considerar la capacidad de supervivencia como la función de aptitud de la misma, pero en cuanto a los otros elementos yo les preguntaría:

¿Quien creó los algoritmos genéticos? ¿Se hicieron sólos? ¿Los hizo otro algoritmo genético?
¿Quien definió el cromosoma y en consecuencia el espacio de búsqueda?¿Se definió a si mismo?

Los resultados son muy inteligentes e ingeniosos al punto que no se le hubieran ocurrido ni a brillantes científicos e ingenieros pero, ¿No hay inteligencia en el algoritmo genético que los produce? ¿Nacen de un proceso con cero inteligencia? ¿Donde se computa todo el proceso?
Quitemosle a los ingenieros el computador donde poder correr los algoritmos ¿Lo podrán hacer?
Quitemosle los algoritmos a los computadores ¿Podrán los computadores sin el algoritmo encontrar algo?

Definitivamente la creatividad de un algoritmo consisten en encontrar la mejor solución en un espacio de búsqueda que fue especificado por los programadores. No es comida gratis ni bombonería, es una solución ingeniosa y, por lo tanto, inteligente para buscar cual juego de parámetros de variables y funciones nos permitan tener la solución más óptima sin tener que tantearla manualmente.

En cuanto a la complejidad irreductible ésta ya está implícita en la complejidad del cromosoma como cota superior de todas las complejidades de las soluciones posibles, por lo tanto no se crea nueva complejidad y en consecuencia tampoco nueva información funcional. Recodemos que la información expresada en bits de un sistema es igual al logaritmo en base 2 de la complejidad de la misma (Información = Log2 (complejidad)) y la complejidad del cromosoma es igual al número de casos del espacio de búsqueda. Por lo tanto, es matemáticamente imposible producir soluciones más complejas que la complejidad del cromosoma que los determina o, lo que es lo mismo, que su espacio de búsqueda.

En conclusión, si decimos que los algoritmos genéticos informáticos refrendan el poder creativo de los biológicos, y ello lo admitimos sin reparos. ¿Por qué entonces no podemos admitir lo que resulta evidente y obvio de que tanto los algoritmos genéticos de la informática como los de la biología no surgen sin el concurso de la inteligencia la cual crea tanto el algoritmo como el computador que lo ejecuta?

Imaginemos a un maestro chocolatero especialista es un tipo de bombones muy especial. Me acerco a su tienda después de guardar una formidable cola y el tumulto de otros desesperados que quieren colarse en ella para recibir aquellos maravillosos bombones que el maestro chocolatero los da GRATIS!.

Cuando después de una sufrida espera me llega el turno de ser atendido por el chocolatero me muestra una caja con sus maravillosos bombones y me explica el primero diciéndome:

“Mira este bombón redondo es el diseño óptimo tipo “ala de flecha” producto de un AG con cromosoma de 66 parámetros de un ala para avión supersónico y este ovalado es una solución para situar órbitas de satélites de tal manera que se minimicen los apagones de cobertura”

“Y el cuadradito de la esquina?” – Le pregunto al chocolatero.

“Ese bombón es un prototipo de circuito reconocedor de voz que puede distinguir y responder a órdenes habladas utilizando sólo 37 puertas lógicas”

Muy intrigado le interrogo al chocolatero:

“¿Y todos estos bombones son gratis?”

“¡Si!” – Me contesta entusiasmado.

“¿Pero no requirieron la inteligencia y conocimientos de los ingenieros que desarrollaron los AG para obtener estas soluciones óptimas?” – Le interrogo insatisfecho. A lo que el chocolatero muy orondo me contesta:

“No!. Se hicieron sólos! No hubo necesidad de inteligencia! ¡Son gratis!”.

Feliz de tanta generosidad me alejo con mi caja de bombones que vale cientos de miles de dólares en patentes del desquiciado, pero muy generoso chocolatero.

Evidentemente sabemos que el chocolatero de esta ficción esta completamente loco. Porque en efecto si concursó la inteligencia y los AG no se hicieron ni computaron sólos. El lenguaje C en el cual pudieron ser hechos y los computadores también requirieron de inteligencia para hacerse, no surgieron como hongos. Por lo tanto NO SON GRATIS. Si lo fueran todas estas estas soluciones de miles o millones de dólares no valdrían nada y se regalarían como lo hace el chocolatero de esta ficción.

Pero alguien dirá: ¡No vale esta analogía porque en la biología esto no es así!. ¿Que no?. Entonces porque se invocan los AG como pruebas, y con razón, del poder de la biología para producir soluciones adaptativas formidables. ¿Pueden los productos de los AG artificiales avalar a los producidos por la biología, pero no la inteligencia implícita que diseña los AG? ¿Son entonces los AG de la ingeniería productos de la inteligencia y los de la biología no lo son?

Del mismo modo que los AG, los algoritmos generadores de complejidad tales como el juego Vida de John Conway nos muestran cómo las leyes naturales aplicadas a los elementos materiales del escenario cósmico pueden generar complejidad, pero también hay que reconocer que nos muestran a su vez la otra cara de la moneda que se silencia con descaro, es decir, la inteligencia implícita necesaria para crear el algoritmo con sus tres constituyentes esenciales: reglas, elementos y escenario.

Finalmente podemos concluir con absoluta certeza que cada vez que un materialista se esfuerza con encomiable trabajo en crear un algoritmo para poder presentarlo como símil de lo que puede hacer la naturaleza sin inteligencia, termina con ello finalmente afirmando lo contrario, es decir, que su concurso si es necesario y con ello refrendando con creces al Diseño Inteligente.

2 Respuestas para Los Algoritmos Genéticos y el Diseño Inteligente

  1. Entonces, estás diciendo que tu inferencia de diseño se restringe a la abiogénesis, pero de ahí en adelante aceptas que la biodiversidad de los seres vivos puede ser explicada en términos de un proceso de evolución por causas naturales y sin la intervención de un diseñador?

  2. Hola Roberto.

    Espera la segunda parte titulada “Los Algoritmos Genéticos y la Evolución Biológica”. Allí expondré mi postura en relación a tu pregunta y sobre lo que este ultimo post no dice dado que no podía hacerlo demasiado largo.

Deje una respuesta

Leer entrada anterior
Confusión entre los científicos “católicos”

Por Jay Richards (1) Cuando el Papa Benedicto rechazó en su homilía de Pascua (2) que fuésemos un insignificante producto...

Cerrar