200 likes | 360 Views
Algoritmos Genéticos. Algunos lo llaman evolución y otro lo llaman Dios Willian Herbert Carruth , Cada uno en su propia lengua. Introducidos por John Holland. Una cadena de bits conocida como cromosomas Y cada bit es conocido como gen. cromosomas. 1010110101101010. genes. Población.
E N D
Algoritmos Genéticos Algunos lo llaman evolución y otro lo llaman Dios Willian Herbert Carruth, Cada uno en su propia lengua
Una cadena de bits conocida como cromosomas Y cada bit es conocido como gen cromosomas 1010110101101010 genes
Población Un conjunto de cromosomas 111100001 11111000001 011111000 11000011 01110011110
Representación completa de una solución Cromosomas Sirven para Clasificar
100001101100 100011011110 creaturas 1000011011110
cromosomas 1010110101101010 característica gen
características Si=>1 No=>0 Omnívoro ambos 1 mamífero cuadrúpedo reptante volador bípedo vegetariano carnívoro Peligro de extinción
Algoritmo • Generar una población de cromosomas aleatoriamente (primera generación) • Si el criterio se satisface, parar. De otra manera continuar con el paso 3
Determinar la compatibilidad de cada cromosoma • Aplicar combinación y/o mutación a los cromosomas seleccionados de la generación actual, para generar una nueva población de cromosomas (generación siguiente) • Regresar al paso 2
La población El tamaño se determina a priori En algunos casos se recomienda que esta cambie
Cromosoma Su tamaño se mantiene Pero también si se requiere se pueden cambiar su tamaño
compatibilidad 100001101100 100011011110 100001011110 100011101100 padres Remplazo de la generación anterior La compatibilidad de los cromosomas es seleccionada para que empalme con el otro cromosoma. Se le permite tener dos hijos
Siguiente generación A veces se les permite tener mas hijos sobrevivir
Ejemplo Dale a un millón de monos un millón del maquinas de escribir y ellos eventualmente escribirán las obras de William Shakespeare……
Siempre se ha dicho que un millón de monos golpeando un millón de máquinas de escribir conseguirían con el paso del tiempo reproducir las obras completas de Shakespeare. Ahora, gracias a Internet, sabemos que no es cierto. – Robert Wilensky
Jesse Anderson • http://www.jesse-anderson.com • Su meta es crear todas las obras de Shakespeare, en un espacio de tiempo 1.5meses con 7.5 trillones de iteraciones.
Si la depuración es el proceso de eliminar errores, entonces la programación debe ser el proceso de introducirlos. EdsgerDijkstra