Top Banner
Introducci´ on a la Computaci´ on Evolutiva Diego Milone Inteligencia Computacional Departamento de Inform´ atica FICH-UNL
84

Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

Sep 21, 2018

Download

Documents

ngotu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

Introduccion a la

Computacion Evolutiva

Diego Milone

Inteligencia ComputacionalDepartamento de Informatica

FICH-UNL

Page 2: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones
Page 3: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Hace 200 anos...

La idea de que las especies cambian ya se confrontaba alcreacionismo.

El cuello de las jirafas segun Jean-Baptiste Lamarck

Buena idea pero... ¿se heredan los caracteres adquiridos?

Page 4: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Hace 200 anos...

La idea de que las especies cambian ya se confrontaba alcreacionismo.El cuello de las jirafas segun Jean-Baptiste Lamarck

Buena idea pero... ¿se heredan los caracteres adquiridos?

Page 5: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Hace 200 anos...

La idea de que las especies cambian ya se confrontaba alcreacionismo.El cuello de las jirafas segun Jean-Baptiste Lamarck

Buena idea pero... ¿se heredan los caracteres adquiridos?

Page 6: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Hace 150 anos...

La idea de la evolucion genera un cambio de paradigmas tangrande que hasta hoy, incluso en computacion, estamos hablandode Charles R. Darwin

Variacion y seleccion natural: si hay variabilidad en la longituddel cuello de las jirafas, las de cuello corto tendran menosprobabilidades de sobrevivir y procrear. Ası...

...en la proxima generacion habra menos jirafas de cuello corto.

Page 7: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Hace 150 anos...

La idea de la evolucion genera un cambio de paradigmas tangrande que hasta hoy, incluso en computacion, estamos hablandode Charles R. Darwin

Variacion y seleccion natural: si hay variabilidad en la longituddel cuello de las jirafas, las de cuello corto tendran menosprobabilidades de sobrevivir y procrear. Ası...

...en la proxima generacion habra menos jirafas de cuello corto.

Page 8: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Hace 150 anos...

La idea de la evolucion genera un cambio de paradigmas tangrande que hasta hoy, incluso en computacion, estamos hablandode Charles R. Darwin

Variacion y seleccion natural: si hay variabilidad en la longituddel cuello de las jirafas, las de cuello corto tendran menosprobabilidades de sobrevivir y procrear. Ası...

...en la proxima generacion habra menos jirafas de cuello corto.

Page 9: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Y...

¿Que tiene que ver todo esto con la computacion?

¿Y con la “inteligencia” computacional?

¿Podremos ver las ideas de Darwin como un algoritmo?

¿Podremos usar estas ideas para resolver problemas con lacomputadora?

Page 10: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

Introduccion Diseno de un AE Caracterısticas y variantes

Organizacion de la clase

IntroduccionLa inspiracion biologicaLa evolucion como un algoritmoElementos de un algoritmo evolutivo

Diseno de una solucion mediante algoritmos evolutivosRepresentacion de los individuosFuncion de aptitudEstrategias de seleccionOperadores de variacion y reproduccion

Caracterısticas principales y variantesCaracterısticas principalesVariantes de la computacion evolutivaTratamiento de las restricciones del problema

Page 11: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

Introduccion Diseno de un AE Caracterısticas y variantes

Organizacion de la clase

IntroduccionLa inspiracion biologicaLa evolucion como un algoritmoElementos de un algoritmo evolutivo

Diseno de una solucion mediante algoritmos evolutivosRepresentacion de los individuosFuncion de aptitudEstrategias de seleccionOperadores de variacion y reproduccion

Caracterısticas principales y variantesCaracterısticas principalesVariantes de la computacion evolutivaTratamiento de las restricciones del problema

Page 12: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La inspiracion biologica

X El creacionismo y las ideas de Lamarck

X Darwin versus Lamarck

• Poblaciones versus individuos

• Mejores versus “adaptados”

• Aleatoriedad en la seleccion natural

• Diversidad y operadores de variacion en la poblacion

Page 13: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La inspiracion biologica

X El creacionismo y las ideas de Lamarck

X Darwin versus Lamarck

• Poblaciones versus individuos

• Mejores versus “adaptados”

• Aleatoriedad en la seleccion natural

• Diversidad y operadores de variacion en la poblacion

Page 14: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La inspiracion biologica

X El creacionismo y las ideas de Lamarck

X Darwin versus Lamarck

• Poblaciones versus individuos

• Mejores versus “adaptados”

• Aleatoriedad en la seleccion natural

• Diversidad y operadores de variacion en la poblacion

Page 15: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La inspiracion biologica

X El creacionismo y las ideas de Lamarck

X Darwin versus Lamarck

• Poblaciones versus individuos

• Mejores versus “adaptados”

• Aleatoriedad en la seleccion natural

• Diversidad y operadores de variacion en la poblacion

Page 16: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La inspiracion biologica

X El creacionismo y las ideas de Lamarck

X Darwin versus Lamarck

• Poblaciones versus individuos

• Mejores versus “adaptados”

• Aleatoriedad en la seleccion natural

• Diversidad y operadores de variacion en la poblacion

Page 17: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La evolucion como un algoritmo

Inicializar(Poblacion)

MejorAptitud ← Evaluar(Poblacion)

mientras MejorAptitud < AptitudRequerida

Progenitores ← SeleccionNatural(Poblacion)

Poblacion ← ReproduccionVariacion(Progenitores)

MejorAptitud ← Evaluar(Poblacion)

fin

Page 18: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La evolucion como un algoritmo

Inicializar(Poblacion)

MejorAptitud ← Evaluar(Poblacion)

mientras MejorAptitud < AptitudRequerida

Progenitores ← SeleccionNatural(Poblacion)

Poblacion ← ReproduccionVariacion(Progenitores)

MejorAptitud ← Evaluar(Poblacion)

fin

Page 19: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La evolucion como un algoritmo

Inicializar(Poblacion)

MejorAptitud ← Evaluar(Poblacion)

mientras MejorAptitud < AptitudRequerida

Progenitores ← SeleccionNatural(Poblacion)

Poblacion ← ReproduccionVariacion(Progenitores)

MejorAptitud ← Evaluar(Poblacion)

fin

Page 20: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La evolucion como un algoritmo

Inicializar(Poblacion)

MejorAptitud ← Evaluar(Poblacion)

mientras MejorAptitud < AptitudRequerida

Progenitores ← SeleccionNatural(Poblacion)

Poblacion ← ReproduccionVariacion(Progenitores)

MejorAptitud ← Evaluar(Poblacion)

fin

Page 21: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

La evolucion como un algoritmo

Inicializar(Poblacion)

MejorAptitud ← Evaluar(Poblacion)

mientras MejorAptitud < AptitudRequerida

Progenitores ← SeleccionNatural(Poblacion)

Poblacion ← ReproduccionVariacion(Progenitores)

MejorAptitud ← Evaluar(Poblacion)

fin

Page 22: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Elementos de un algoritmo evolutivo

• Representacion de los individuos

• Funcion de aptitud

• Mecanismo de seleccion

• Operadores de variacion

• Reproduccion y reemplazo generacional

Page 23: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Elementos de un algoritmo evolutivo

• Representacion de los individuos

• Funcion de aptitud

• Mecanismo de seleccion

• Operadores de variacion

• Reproduccion y reemplazo generacional

Page 24: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Elementos de un algoritmo evolutivo

• Representacion de los individuos

• Funcion de aptitud

• Mecanismo de seleccion

• Operadores de variacion

• Reproduccion y reemplazo generacional

Page 25: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Elementos de un algoritmo evolutivo

• Representacion de los individuos

• Funcion de aptitud

• Mecanismo de seleccion

• Operadores de variacion

• Reproduccion y reemplazo generacional

Page 26: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Elementos de un algoritmo evolutivo

• Representacion de los individuos

• Funcion de aptitud

• Mecanismo de seleccion

• Operadores de variacion

• Reproduccion y reemplazo generacional

Page 27: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Elementos de un algoritmo evolutivo

• Representacion de los individuos

• Funcion de aptitud

• Mecanismo de seleccion

• Operadores de variacion

• Reproduccion y reemplazo generacional

Page 28: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

Introduccion Diseno de un AE Caracterısticas y variantes

Organizacion de la clase

IntroduccionLa inspiracion biologicaLa evolucion como un algoritmoElementos de un algoritmo evolutivo

Diseno de una solucion mediante algoritmos evolutivosRepresentacion de los individuosFuncion de aptitudEstrategias de seleccionOperadores de variacion y reproduccion

Caracterısticas principales y variantesCaracterısticas principalesVariantes de la computacion evolutivaTratamiento de las restricciones del problema

Page 29: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos

(Agoritmos Geneticos)

Espacio delfenotipo

4.56

556

1.253456Espacio delgenotipo

1101

1001

01010011

Codificación

Decodificación

Page 30: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 31: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 32: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 33: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 34: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 35: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Funcion de aptitud

• Caracterısticas generales:• Monotonicidad• Precision• Suavidad regulable• Penalizacion de complejidad

• Algunos ejemplos tıpicos:• Promedios de error: cuadrados medios, desviacion media

absoluta, error relativo medio,...• Estadısticas: estimacion de la varianza, validacion cruzada,

verosimilitud, prediccion de error,...• Medidas de informacion: criterio de Akaike, criterio de

informacion Bayesiano, descriptor de mınima longitud,informacion mutua, minimizacion del riesgo empırico

• Otras: correlaciones, distancias,...

Page 36: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Funcion de aptitud

• Caracterısticas generales:• Monotonicidad• Precision• Suavidad regulable• Penalizacion de complejidad

• Algunos ejemplos tıpicos:• Promedios de error: cuadrados medios, desviacion media

absoluta, error relativo medio,...• Estadısticas: estimacion de la varianza, validacion cruzada,

verosimilitud, prediccion de error,...• Medidas de informacion: criterio de Akaike, criterio de

informacion Bayesiano, descriptor de mınima longitud,informacion mutua, minimizacion del riesgo empırico

• Otras: correlaciones, distancias,...

Page 37: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Funcion de aptitud: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 38: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Funcion de aptitud: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 39: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Funcion de aptitud: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 40: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Funcion de aptitud: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 41: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Funcion de aptitud: ejemplos

• Ubicacion de figuras para el llenado de un area

• Entrenamiento de una red neuronal

• Programacion de un robot

• Circuito para un filtro multibanda

• Problema del agente viajero

• ...

Page 42: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Estrategias de seleccion

• Rueda de ruleta

4 5

6

7 1

2 3

• Ventanas

• Competencias

Page 43: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Estrategias de seleccion

• Rueda de ruleta

4 5

6

7 1

2 3

• Ventanas

• Competencias

Page 44: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Estrategias de seleccion

• Rueda de ruleta

4 5

6

7 1

2 3

• Ventanas

• Competencias

Page 45: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Operadores de variacion

• Mutaciones

Punto de mutación

Cromosoma original Cromosoma mutado

1 0 1 1 1011 1 0 1 1 1010

Page 46: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Operadores de variacion

• Cruzas simples

Punto de cruza

Cromosomas padres Cromosomas hijos

1 1 1 0 1100

1 0 1 1 1011

1 1 1 0 1010

1 0 1 1 1101

• ¿Que rol cumple cada operador en la busqueda?

Page 47: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Operadores de variacion

• Cruzas simples

Punto de cruza

Cromosomas padres Cromosomas hijos

1 1 1 0 1100

1 0 1 1 1011

1 1 1 0 1010

1 0 1 1 1101

• ¿Que rol cumple cada operador en la busqueda?

Page 48: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Reemplazo durante la reproduccion

• Reemplazo total

• Reemplazo con brecha generacional

• Elitismo

Page 49: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Reemplazo durante la reproduccion

• Reemplazo total

• Reemplazo con brecha generacional

• Elitismo

Page 50: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Reemplazo durante la reproduccion

• Reemplazo total

• Reemplazo con brecha generacional

• Elitismo

Page 51: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones
Page 52: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

Introduccion Diseno de un AE Caracterısticas y variantes

Organizacion de la clase

IntroduccionLa inspiracion biologicaLa evolucion como un algoritmoElementos de un algoritmo evolutivo

Diseno de una solucion mediante algoritmos evolutivosRepresentacion de los individuosFuncion de aptitudEstrategias de seleccionOperadores de variacion y reproduccion

Caracterısticas principales y variantesCaracterısticas principalesVariantes de la computacion evolutivaTratamiento de las restricciones del problema

Page 53: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Analisis de las caracterısticas principales

• Busqueda en un espacio codificado de parametros

• Busqueda en multiples puntos del espacio de soluciones• Ejemplo 1:

Page 54: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Analisis de las caracterısticas principales

• Busqueda en un espacio codificado de parametros• Busqueda en multiples puntos del espacio de soluciones

• Ejemplo 1:

Page 55: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Analisis de las caracterısticas principales

• Busqueda en un espacio codificado de parametros

• Busqueda en multiples puntos del espacio de soluciones• Ejemplo 2:

Page 56: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Analisis de las caracterısticas principales

• Busqueda en un espacio codificado de parametros

• Busqueda en multiples puntos del espacio de soluciones

• Pocos requisitos sobre la funcion objetivo

• Algoritmo de naturaleza estocastica

• La estructura de los operadores los hace muy efectivos alrealizar busquedas globales

• Multiples objetivos

• Algunas desventajas...?

Page 57: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Analisis de las caracterısticas principales

• Busqueda en un espacio codificado de parametros

• Busqueda en multiples puntos del espacio de soluciones

• Pocos requisitos sobre la funcion objetivo

• Algoritmo de naturaleza estocastica

• La estructura de los operadores los hace muy efectivos alrealizar busquedas globales

• Multiples objetivos

• Algunas desventajas...?

Page 58: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Analisis de las caracterısticas principales

• Busqueda en un espacio codificado de parametros

• Busqueda en multiples puntos del espacio de soluciones

• Pocos requisitos sobre la funcion objetivo

• Algoritmo de naturaleza estocastica

• La estructura de los operadores los hace muy efectivos alrealizar busquedas globales

• Multiples objetivos

• Algunas desventajas...?

Page 59: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Analisis de las caracterısticas principales

• Busqueda en un espacio codificado de parametros

• Busqueda en multiples puntos del espacio de soluciones

• Pocos requisitos sobre la funcion objetivo

• Algoritmo de naturaleza estocastica

• La estructura de los operadores los hace muy efectivos alrealizar busquedas globales

• Multiples objetivos

• Algunas desventajas...?

Page 60: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Analisis de las caracterısticas principales

• Busqueda en un espacio codificado de parametros

• Busqueda en multiples puntos del espacio de soluciones

• Pocos requisitos sobre la funcion objetivo

• Algoritmo de naturaleza estocastica

• La estructura de los operadores los hace muy efectivos alrealizar busquedas globales

• Multiples objetivos

• Algunas desventajas...?

Page 61: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Comparacion con otros metodos

Metodos tradicionales Algoritmos evolutivos

Trabajan con los propios parametrosa optimizar

Emplea una codificacion de losparametros∗

Utilizan informacion de las derivadasde la funcion objetivo u otroconocimiento adicional

Utilizan la informacion de la funcionobjetivo en forma directa

Reglas de transicion deterministas Reglas de transicion probabilısticas

Exploran el espacio de soluciones apartir de un punto

Exploran el espacio de soluciones enmultiples puntos a la vez

... ...

Page 62: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Paralelismo

Page 63: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Parametros que controlan la evolucion

• Probabilidad de mutaciones

• Probabilidad de cruzas

• Tamano de la poblacion

• Brecha generacional

• Elitismo

...y si los parametros fueran adaptables?

Page 64: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Parametros que controlan la evolucion

• Probabilidad de mutaciones

• Probabilidad de cruzas

• Tamano de la poblacion

• Brecha generacional

• Elitismo

...y si los parametros fueran adaptables?

Page 65: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Estrategias de evolucion

• Representacion “fenotıpica”:• variables objetivo• variables de control

• Fitness ... idem AG

• Seleccion:• Mecanismo (µ+ λ): µ padres producen λ hijos. Proxima

generacion: {µ ∪ λ}• Mecanismo (µ, λ): µ padres producen λ > µ hijos. Proxima

generacion: subconjunto de λ

Page 66: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Estrategias de evolucion

• Representacion “fenotıpica”:• variables objetivo• variables de control

• Fitness ... idem AG

• Seleccion:• Mecanismo (µ+ λ): µ padres producen λ hijos. Proxima

generacion: {µ ∪ λ}• Mecanismo (µ, λ): µ padres producen λ > µ hijos. Proxima

generacion: subconjunto de λ

Page 67: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos

Terminologıa: algoritmo/programacion/estrategia...

• Genetico : representacion BINARIA• Muchos genes con pocos alelos: convergencia asegurada por el

teorema de esquemas• Epitasis: un gen incorrecto invalida a todo el cromosoma• Representacion lejana al dominio del problema (ej: viajero con

enteros)• Gran cantidad de soluciones invalidas en la poblacion

• Evolutivo: representacion REAL o “fenotıpica”• Pocos genes con muchos alelos: representacion fenotıpica• Convergencia muy dependiente de los operadores• Necesidad de redefinicion de operadores no “biologicos”

Page 68: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos

Terminologıa: algoritmo/programacion/estrategia...

• Genetico: representacion BINARIA• Muchos genes con pocos alelos: convergencia asegurada por el

teorema de esquemas• Epitasis: un gen incorrecto invalida a todo el cromosoma• Representacion lejana al dominio del problema (ej: viajero con

enteros)• Gran cantidad de soluciones invalidas en la poblacion

• Evolutivo : representacion REAL o “fenotıpica”• Pocos genes con muchos alelos: representacion fenotıpica• Convergencia muy dependiente de los operadores• Necesidad de redefinicion de operadores no “biologicos”

Page 69: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion de los individuos

Terminologıa: algoritmo/programacion/estrategia...

• Genetico: representacion BINARIA• Muchos genes con pocos alelos: convergencia asegurada por el

teorema de esquemas• Epitasis: un gen incorrecto invalida a todo el cromosoma• Representacion lejana al dominio del problema (ej: viajero con

enteros)• Gran cantidad de soluciones invalidas en la poblacion

• Evolutivo : representacion REAL o “fenotıpica”• Pocos genes con muchos alelos: representacion fenotıpica• Convergencia muy dependiente de los operadores• Necesidad de redefinicion de operadores no “biologicos”

Otras representaciones? Cromosomas de longitud variable?Arboles? Grafos?

Page 70: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Programacion genetica

“... generacion automatica de programas...”

Elementos basicos de un programa:• Variables y constantes

• Operadores aritmeticos y logicos

• Funciones matematicas

• Condicionales

• Bucles

• Recursiones

• ...

Page 71: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Programacion genetica

“... generacion automatica de programas...”

Elementos basicos de un programa:• Variables y constantes

• Operadores aritmeticos y logicos

• Funciones matematicas

• Condicionales

• Bucles

• Recursiones

• ...

Page 72: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion en arbol para PG

Ejemplo sencillo con operadores logicos:

((A)XOR(NOT(B)))AND((NOT(A))OR(B))

Page 73: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Representacion en arbol para PG

Ejemplo sencillo con operadores logicos:

((A)XOR(NOT(B)))AND((NOT(A))OR(B))

Page 74: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Cruzas en PG

• Numeracion de nodos

• Seleccion de los puntos a cruzar: ej. 2 y 6

• Cruza en base al intercambio de ramas

Page 75: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Cruzas en PG

• Numeracion de nodos

• Seleccion de los puntos a cruzar: ej. 2 y 6

• Cruza en base al intercambio de ramas

Page 76: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Cruzas en PG

• Numeracion de nodos

• Seleccion de los puntos a cruzar: ej. 2 y 6

• Cruza en base al intercambio de ramas

Page 77: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Mutaciones en PG

• Numeracion de nodos

• Seleccion de la rama a mutar

• Generacion de un arbol al azar

• Mutacion en base al reemplazo

Page 78: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Restricciones del problema

¿Como se pueden considerar las restricciones del problema durantela evolucion?

• Redefinicion de la representacion de forma de que siempre segeneren fenotipos validos

• Rechazo o eliminacion de individuos invalidos

• Reparacion del material genetico

• Modificacion de los operadores de variacion

• Esquemas de penalizacion en la funcion de aptitud

Page 79: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Restricciones del problema

¿Como se pueden considerar las restricciones del problema durantela evolucion?

• Redefinicion de la representacion de forma de que siempre segeneren fenotipos validos

• Rechazo o eliminacion de individuos invalidos

• Reparacion del material genetico

• Modificacion de los operadores de variacion

• Esquemas de penalizacion en la funcion de aptitud

Page 80: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Restricciones del problema

¿Como se pueden considerar las restricciones del problema durantela evolucion?

• Redefinicion de la representacion de forma de que siempre segeneren fenotipos validos

• Rechazo o eliminacion de individuos invalidos

• Reparacion del material genetico

• Modificacion de los operadores de variacion

• Esquemas de penalizacion en la funcion de aptitud

Page 81: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Restricciones del problema

¿Como se pueden considerar las restricciones del problema durantela evolucion?

• Redefinicion de la representacion de forma de que siempre segeneren fenotipos validos

• Rechazo o eliminacion de individuos invalidos

• Reparacion del material genetico

• Modificacion de los operadores de variacion

• Esquemas de penalizacion en la funcion de aptitud

Page 82: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Restricciones del problema

¿Como se pueden considerar las restricciones del problema durantela evolucion?

• Redefinicion de la representacion de forma de que siempre segeneren fenotipos validos

• Rechazo o eliminacion de individuos invalidos

• Reparacion del material genetico

• Modificacion de los operadores de variacion

• Esquemas de penalizacion en la funcion de aptitud

Page 83: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Restricciones del problema

¿Como se pueden considerar las restricciones del problema durantela evolucion?

• Redefinicion de la representacion de forma de que siempre segeneren fenotipos validos

• Rechazo o eliminacion de individuos invalidos

• Reparacion del material genetico

• Modificacion de los operadores de variacion

• Esquemas de penalizacion en la funcion de aptitud

Page 84: Introduccion a la Computaci on Evolutivainfofich.unl.edu.ar/upload/ffa93e9a3284a37b4684b293e68088aefa3f1... · X El creacionismo y las ideas de Lamarck X Darwin versus Lamarck Poblaciones

:

Introduccion Diseno de un AE Caracterısticas y variantes

Bibliografıa recomendada

1. Back T., Hammel U. and Schewfel H-F., “Evolutionary Computation:Comments on History and Current State,” IEEE Trans. on EvolutionaryComputation, vol. 1, no. 1, 1997.

2. Goldberg D. E., Genetic Algorithms in Search, Optimization & MachineLearning, Addison Wesley, Caps. 1, 3, 4, 1997.

3. Michalewicz Z., Genetic Algorithms + Data Structures = Evolution Programs,Springer-Verlag, 1992.

4. Sumathi S., Hamsapriya T., Surekha P., Evolutionary Intelligence: AnIntroduction to Theory and Applications with Matlab, Springer, 2008.

5. Coello Coello C. A., Lamont G. B., Van Veldhuizen A. A., EvolutionaryAlgorithms for Solving Multi-Objective Problems Series: Genetic andEvolutionary Computation, (2da Edicion), Springer, 2007.

6. Haupt R. L., Haupt S. E., Practical Genetic Algorithms, John Wiley & Sons,2004.

7. Apuntes de Catedra (material con introduccion teorica y ejercicios)