ALGORITMOS GENÉTICOS
Programas que “evolucionan”, simulando en cierto grado
la selección natural, alcanzan a resolver problemas complejos, que ni siquiera
quienes los crearon comprenden plénamente.
John H. Holland, 1975
Investigador de la Universidad de Michigan
El algoritmo genético es una técnica
de búsqueda basada en la teoría de la evolución de Darwin, que ha cobrado
tremenda popularidad en todo el mundo durante los últimos años. Esta técnica se
basa en los mecanismos de selección que utiliza la naturaleza, de acuerdo a los
cuales los individuos más aptos de una población son los que sobreviven, al
adaptarse más fácilmente a los cambios que se producen en su entorno. Hoy en día se sabe que estos cambios se
efectúan en los genes de un individuo (unidad básica de codificación de
cada uno de los atributos de un ser vivo), y que sus atributos más deseables
(i.e., los que le permiten adaptarse mejor a su entorno) se transmiten a sus
descendientes.
Un investigador de la Universidad de Michigan llamado John Holland era consciente de la importancia de la selección natural, y a fines de los 60s desarrolló una técnica que permitió incorporarla a un programa. Su objetivo era lograr que las computadoras aprendieran por sí mismas. A la técnica que inventó Holland se le llamó originalmente "planes reproductivos", pero se hizo popular bajo el nombre "algoritmo genético" tras la publicación de su libro en 1975.
Los Algoritmos Genéticos (AGs) son métodos adaptativos que
pueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso
genético de los organismos vivos. A lo largo de las generaciones, las
poblaciones evolucionan en la naturaleza acorde con los principios de la
selección natural y la supervivencia de los más fuertes, postulados por Darwin.
Por imitación de este proceso, los
Algoritmos Genéticos son capaces de ir creando soluciones para problemas del
mundo real. La evolución de dichas soluciones
hacia valores óptimos del problema depende
en buena medida de una adecuada
codificación de las mismas.
Un algoritmo genético consiste en una función matemática o una rutina de software que toma como entradas a los ejemplares (Funciones o Rutinas) y retorna como salidas cuáles de ellos deben generar descendencia para la nueva generación.
Versiones más complejas de algoritmos genéticos generan un ciclo iterativo que directamente toma a la especie (el total de los ejemplares) y crea una nueva generación que reemplaza a la antigua.
Una de sus características
principales es la de ir perfeccionando su propia heurística (Estrategias que guían el descubrimiento, Método para
aumentar el conocimiento.) en el proceso de ejecución, por lo que no requiere
largos períodos de entrenamiento especializado por parte del ser humano,
principal defecto de otros métodos para solucionar problemas, como los Sistemas
Expertos.
En la naturaleza los individuos de
una población compiten entre sí en la búsqueda de recursos tales como comida,
agua y refugio. Incluso los miembros de una misma especie compiten a menudo en
la búsqueda de un compañero. Aquellos individuos que tienen más éxito en
sobrevivir y en atraer compañeros tienen mayor probabilidad de generar un gran
número de descendientes. Por el contrario individuos poco dotados producirán un
menor número de descendientes. Esto significa que los genes de los individuos
mejor adaptados se propagarán en sucesivas generaciones hacia un número de
individuos creciente. La combinación de buenas características provenientes de
diferentes ancestros, puede a veces producir descendientes
"superindividuos", cuya adaptación es mucho mayor que la de
cualquiera de sus ancestros. De esta manera, las especies evolucionan logrando
unas características cada vez mejor adaptadas al entorno en el que viven.
Los Algoritmos Genéticos usan una analogía directa con el comportamiento natural. Trabajan con una población de individuos, cada uno de los cuales representa una solución factible a un problema dado. A cada individuo se le asigna un valor ó puntuación, relacionado con la bondad de dicha solución. En la naturaleza esto equivaldría al grado de efectividad de un organismo para competir por unos determinados recursos. Cuanto mayor sea la adaptación de un individuo al problema, mayor será la probabilidad de que el mismo sea seleccionado para reproducirse, cruzando su material genético con otro individuo seleccionado de igual forma. Este cruce producirá nuevos individuos, descendientes de los anteriores, los cuales comparten algunas de las características de sus padres. Cuanto menor sea la adaptación de un individuo, menor será la probabilidad de que dicho individuo sea seleccionado para la reproducción, y por tanto de que su material genético se propague en sucesivas generaciones.
De esta manera se produce una nueva población de posibles soluciones, la cual reemplaza a la anterior y verifica la interesante propiedad de que contiene una mayor proporción de buenas características en comparación con la población anterior. Así a lo largo de las generaciones las buenas características se propagan a través de la población. Favoreciendo el cruce de los individuos mejor adaptados, van siendo exploradas las áreas más prometedoras del espacio de búsqueda. Si el Algoritmo Genético ha sido bien diseñado, la población convergerá hacia una solución óptima del problema.
Responde el siguiente: CUESTIONARIO