Julio Rafael Contreras Dìaz
"En lugar de envidiar la naturaleza debemos emularla" Holland
"La capacidad del ser humano para predecir el comportamiento de su entorno"
Utilizar operadores inspirados en la selección natural y la variación genética natural.
La idea era “evolucionar” una población de candidatos a ser solución de un problema conocido.
selección natural: Charles Darwin
Teoría de sistemas adaptativos: Ronald Fisher
Crearon una técnica en la cual las candidatas a soluciones a tareas determinadas, eran representadas por máquinas de estados finitos
Esto se hacia mediante diagramas de estados de transición se evolucionaban mediante mutación aleatoria, seleccionándose el que mejor aproximara.
Método que empleó para optimizar parámetros reales para ciertos dispositivos
El campo de las estrategias evolutivas ha permanecido como un área de investigación activa, cuyo desarrollo se produce, en su mayor parte, de modo independiente al de los algoritmos genéticos
Estrategias evolutivas
Algoritmos genéticos
Programación evolutiva
Los objetivos que perseguían John Holland y sus colegas de la Universidad de Michigan
R. A. Fisher, titulado La teoría genética de la selección natural
Teoría de sistemas adaptativos
Algoritmos de búsqueda basados en los mecanismos de selección natural y genética natural. Combinan la supervivencia de los más compatibles entre las estructuras de cadenas, con una estructura de información ya aleatorizada, intercambiada para construir un algoritmo debúsqueda con algunas de las capacidades de innovación de la búsqueda humana
Un algoritmo genético (AG) es una técnica de programación que imita a la evolución biológica como estrategia para resolver problemas.
Dado un problema específico a resolver, la entrada del AG es un conjunto de soluciones potenciales a ese problema, codificadas de alguna manera, y una métrica llamada función de aptitud que permite evaluar cuantitativamente a cada candidata
Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización.
Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real.
Función matemática o una rutina de software que toma como entradas a los ejemplares y retorna como salidas cuales de ellos deben generar descendencia para la nueva generación.
"Estos algoritmos hacen evolucionar una población de individuos sometiéndola a acciones aleatorias semejantes a las que actúan en la evolución biológica (mutaciones y recombinaciones genéticas), así como también a una Selección de acuerdo con algún criterio, en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son descartados"
Un algoritmo genético es un método de búsqueda dirigida basada en probabilidad.
Los algoritmos genéticos son métodos de optimización, que tratan de resolver el mismo conjunto de problemas que se ha contemplado anteriormente, es decir, hallar (xi,...,xn) tales que F(xi,...,xn) sea máximo.
En un algoritmo genético, tras parametrizar el problema en una serie de variables, (xi,...,xn) se codifican en un cromosoma.
el Algoritmo Genético funciona como sigue:
En cada generación, se crea un conjunto nuevo de “criaturas artificiales” (cadenas) utilizando bits y partes más adecuadas del progenitor
operadores:
selección, cruce y mutación.
Selección o reproducción:
Este operador escoge cromosomas entre la población para efectuar la reproducción. Cuanto más capaz sea el cromosoma, más veces será seleccionado para reproducirse
Cruce:
Se trata de un operador cuya labor es elegir un lugar, y cambiar las secuencias antes y después de esa posición entre dos cromosomas, para crear nueva descendencia (por ejemplo, las cadenas 10010011 y 11111010 pueden cruzarse después del tercer lugar para producir la descendencia 10011010 y 11110011). Imita la recombinación biológica entre dos organismos haploides.
Mutación:
Este operador produce variaciones de modo aleatorio en un cromosoma (por ejemplo, la cadena 00011100 puede mutar su segunda posición para dar lugar a la cadena 01011100). La mutación puede darse en cada posición de un bit en una cadena, con una probabilidad, normalmente muy pequeña (por ejemplo 0.001).
optimización numérica, y los problemas de optimización combinatoria
programas para tareas específicas
Diseñar otras estructuras computacionales tales como el autómata celular, y las redes de clasificación
Aprendizaje máquinas
La predicción del tiempo o la estructura de una proteína.
Las reglas para sistemas de clasificación de aprendizaje o sistemas de producción simbólica, y los sensores para robots.
Economía
Algoritmos para modelizar procesos de innovación, el desarrollo estrategias de puja, y la aparición de mercados económicos.
Sistemas inmunes
la mutación somática durante la vida de un individuo y el descubrimiento de familias de genes múltiples en tiempo evolutivo, ha resultado útil el empleo de esta técnica.
Ecología
En la modelización de fenómenos ecológicos tales como las carreras de armamento biológico, la coevolución de parásito-huesped, la simbiosis, y el flujo de recursos
Genética de poblaciones
En el estudio de preguntas del tipo “¿Bajo qué condiciones será viable evolutivamente un gene para la recombinación?”
Evolución y aprendizaje
Los Algoritmos Genéticos se han utilizado en el estudio de las relaciones entre el aprendizaje individual y la evolución de la especie
Sistemas sociales
En el estudio de aspectos evolutivos de los sistemas sociales, tales como la evolución del comportamiento social en colonias de insectos, y la evolución de la cooperación y la comunicación en sistemas multi-agentes.
Banzhaf W. Reeves C. (editors) (1999) Foundations of Genetic Algorithms.5 Morgan Kaufmann Publishers
Goldberg D.E. (1989) Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley
Langdon W.B., Poli R. (2002) Foundations of Genetic Programming. Springer Mitchell M. (1998) An introduction to Genetic Algorithms. MIT Press
bibliografía