Algoritmos Genéticos Algunos lo llaman evolución y otro lo llaman Dios Willian Herbert Carruth,...

Preview:

Citation preview

1

Algoritmos Genéticos

Algunos lo llaman evolución y otro lo llaman Dios

Willian Herbert Carruth, Cada uno en su propia lengua

2

• Introducidos por John Holland

3

Una cadena de bits conocida como cromosomasY cada bit es conocido como gen

1010110101101010

cromosomas

genes

4

Población

111100001

11000011

11111000001

01110011110

011111000

Un conjunto de cromosomas

5

CromosomasSirven para

Representación completa de una solución

Clasificar

6

100001101100

100011011110

1000011011110

creaturas

7

1010110101101010

cromosomas

gen característica

8

9

características

mamífero cuadrúpedo reptante volador bípedo carnívoro vegetariano

Peligro de extinción

Si=>1No=>0 Omnívoro ambos 1

10

11

Algoritmo

1. Generar una población de cromosomas aleatoriamente (primera generación)

2. Si el criterio se satisface, parar. De otra manera continuar con el paso 3

12

1. Determinar la compatibilidad de cada cromosoma

2. 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

13

La población

El tamaño se determina a priori

En algunos casos se recomienda que esta cambie

14

Cromosoma

Su tamaño se mantiene

Pero también si se requiere se pueden cambiar su tamaño

15

100001101100

100011011110

100001011110100011101100

padres

compatibilidad

La compatibilidad de los cromosomas es seleccionadapara que empalme con el otro cromosoma.Se le permite tener dos hijos

Remplazo de la generación anterior

16

Siguiente generación

sobrevivir

A veces se les permite tener mas hijos

17

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……

18

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

19

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.

20

Si la depuración es el proceso de eliminar errores, entonces la programación debe ser el proceso de introducirlos.Edsger Dijkstra