algoritmos genéticos - introducción a la robótica inteligente · definición i los algoritmos...

43
Algoritmos Genéticos Introducción a la Robótica Inteligente Álvaro Gutiérrez 13 de abril de 2018 [email protected] www.robolabo.etsit.upm.es N

Upload: vuongtuong

Post on 16-Dec-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Algoritmos Genéticos

Introducción a la Robótica Inteligente

Álvaro Gutiérrez13 de abril de 2018

[email protected]

www.robolabo.etsit.upm.es

N

Índice

1 Introducción

2 Algoritmos Genéticos

3 Algunos Fundamentos Matemáticos

4 Conclusiones

N

1 Introducción

2 Algoritmos Genéticos

3 Algunos Fundamentos Matemáticos

4 Conclusiones

N

Definición

I Los algoritmos genéticos son algoritmos de búsquedaprobabilística u optimización que transformaniterativamente un conjunto (llamado población) de objetosmatemáticos, cada uno con un valor de “coste” (fitness)asociado, en una nueva población de descendientesusando principios Darvinianos de selección natural yusando operaciones genéticas naturales tales como“crossover” (reproducción sexual) y mutación.

N

AGs de un vistazo

I PremisaI La evolución funcionó una vez, puede ser que funcione de

nuevoI Lo esencial

I Una pila de solucionesI Combinar las soluciones existentes para producir nuevas

solucionesI Mutar soluciones actuales para diversidad a largo plazoI Sacrificar a la población

N

AGs de un vistazo (cont.)

I Primeras Ideas: John H. HollandI Adaptation in Natural and Artificial Systems

I Otros nombres: K. DeJong y D. GoldbergI Típicamente usado en optimización discretaI Características:

I No son muy rápidosI Búsqueda en paralelo

I Características especiales:I Combinaciones de buenas solucionesI Muchas variantes. e.g.: modelos reproductivos,

operadores, ...

N

Introducción General

I Son una sub-clase de la computaciónevolutiva

I Están basados en la teoría de la evoluciónde Darwin

I Historia:I La computación evolutiva se desarrolló

en los 60’sI Los algoritmos genéticos en los 70’s

N

Introducción Biológica - Célula

I Todo animal está compuesto de células trabajandoconjuntamente

I El centro de cada célula es el núcleoI El núcleo contiene la información genética

N

Introducción Biológica - Cromosomas

I La información genética se almacenaen los cromosomas

I Cada cromosoma está compuesto deADN

I Los cromosomas en los humanosforman pares

I Los cromosomas están divididos enpartes: Genes

I Cada gen puede adquirir diferentesvalores: alelos

I Cada gen tiene una única posición(locus) en cada cromosoma

N

Introducción Biológica - Genética

I El conjunto de todos los genes es un genotipoI Cada genotipo desarrolla un fenotipoI Los alelos pueden ser dominantes o recesivos

I Los dominantes siempre se expresan en el fenotipoI Los recesivos pueden mantenerse durante generaciones

sin “dar la cara”

N

Introducción Biológica - Reproducción

I Meiosis: Un tipo de reproducción celular en el que elnúmero de cromosomas es reducido a la mitad separandocromosomas homólogos

I Mitosis: Un tipo de reproducción asexual en el que lacélula se divide creando una réplica (copia exacta) con elmismo número de cromosomas

N

Introducción Biológica - Reproducción

I Durante la reproducción ocurren combinaciones y erroresI Gracias a estas, la variedad existeI Los más importantes:

I Cross-overI Mutación

N

Introducción Biológica - Selección Natural

I Se preservan las variaciones favorables y se rechazanlas variaciones no favorables

I Cada generación nacen nuevos individuos, por lo queexiste una lucha permanente

I Los individuos con ventajas tienen una mayor posibilidadde supervivencia: Supervivencia del más adecuado

I Aspectos importantes:I Adaptación al entornoI Aislamiento de especies con las que no se puede

reproducir

N

1 Introducción

2 Algoritmos Genéticos

3 Algunos Fundamentos Matemáticos

4 Conclusiones

N

Differencias con otros algoritmos

I Los AGs trabajan con una codificación del conjunto deparámetros, no con los parámetros mismos

I Los AGs buscan en un conjunto de puntos, no un únicopunto

I Los AGs utilizan una función objetivo, no derivadas,funcionales u otras funciones

I Los AGs utilizan reglas de transicción probabilística, nodeterminísticas.

N

Espacio de Búsqueda

I Cada individuo busca la mejor solución en un conjuntoI Este espacio es el espacio de búsquedaI Cada punto en el espacio de búsqueda es una posible

soluciónI Cada punto tiene un valor de “fitness”(encaje) asociadoI Los algoritmos genéticos buscan soluciones en paraleloI Los problemas:

I Óptimos localesI Condiciones iniciales

N

Algoritmo Básico

I Se comienza con una población aleatoria de nindividuos

I Se evalúa cada individuoI Se crea una nueva generación

I Selección: Los mejoresI Recombinación: Entre los mejoresI Mutación: Aleatoria

I Se evalúa la nueva generaciónI Repetimos para m generaciones

N

Codificación

I Los cromosomas se codifican en cadenas de bitsI Cada cromosoma representa un individuoI Cada individuo es una solución, aunque no la mejorI La codificación depende del problema a resolver

1 0 0 1 1

N

SelecciónI Principal idea: Los mejores tienen más posibilidades de

ser seleccionadosI Típicamente la ruleta

I Asigna a cada individuo una parte de la ruletaI Girar la ruleta n veces para crear una población de n

individuos

N

Crossover

I Se seleccionan 2 individuosI Se realiza un cruce con probabilidad Pc

I Pc típicamente en el rango (0.6, 0.9)I Se selecciona un punto de cruce aleatorio

N

Mutación

I Alterar cada gen con probabilidad Pm

I Pm típicamente en el rango ( 1Long.Poblacion , 1

Long.Cromosoma )

N

Un Primer Ejemplo - Definición

I Un ejemplo sencillo: max(x2) donde x ∈ {0, 1, ..31}I Algoritmo genético

I Codificación en 5 bits, e.g. 01101↔ 13I Población de 4 individuosI Inicio aleatorioI Selección por ruletaI CrossoverI Mutación

N

Un Primer Ejemplo - Selección

N

Un Primer Ejemplo - Crossover

N

Un Primer Ejemplo - Mutación

N

Otro ejemplo sencillo - TSPI El problema del vendedor viajero (Travelling Salesman

Problem)I Dado un conjunto de ciudades encontrar un recorrido de

tal manera que:I Cada ciudad sólo se visite una vezI La distancia recorrida se minimice

N

TSP - Representación

I Representación en una lista ordenada

1) Londres 3) Madrid 5) Pekín 7) Tokio2) Venecia 4) Singapur 6) Nueva York 8) El Cairo

I Individuo1: ( 3 5 7 2 1 6 4 8 )I Individuo2: ( 2 5 7 6 8 1 3 4 )I ...

N

TSP

I Generación 0

N

TSP

I Generación 1

N

TSP

I Generación 30

N

TSP

I Generación 43

N

TSP

I Generación 100

N

1 Introducción

2 Algoritmos Genéticos

3 Algunos Fundamentos Matemáticos

4 Conclusiones

N

Fundamentos Matemáticos - Introducción

I Suponemos el cromosoma A = a1a2a3 · · · an

I Supongamos ai ∈ {0, 1}I Denotaremos ∗ al alelo que puede tomar valor 0 o 1I Definimos un schema H como el cromosoma

representando un conjunto de cromosomas con alelosidénticos

I e.g. *01**1I Definimos el orden del esquema H, o(H), como el número

de posiciones fijasI e.g. *01**1→ 3

I Definimos la longitud del esquema H, δ(H), como ladistancia entre la primera y última posición fija delcromosoma

I e.g. *01**1→ 6− 2 = 4

N

Fundamentos Matemáticos - Selección

I Suponemos que en un instante t tenemos m individuos deun schema H en una población A(t) de n individuos,escribimos m = m(H, t)

I En la reproducción, un individuo es seleccionado con unaproporción directa a su “fitness”

I Ai es seleccionado con probabilidad pi = fi/∑

fI Después de generar una nueva generación tenemos

m(H, t + 1) representantes del schema H.I m(H, t + 1) = m(H, t) · n · f (H)/

∑f , donde

I f (H) es la media de los valores de “fitness” de losindividuos representados por el schema H en t

I Definimos la “fitness” media de toda la población comof̄ =

∑f/n

I m(H, t + 1) = m(H, t) f (H)f̄

N

Fundamentos Matemáticos - Selección

I Un schema crece en proporción a la relación entre la“fitness” media del schema y la “fitness” media de lapoblación

I Un schema con “fitness” media superior a la media de lapoblación representará a más individuos en la siguientepoblación.

I Un schema con “fitness” media inferior a la media de lapoblación representará a menos individuos en la siguientepoblación.

I Si suponemos f (H) = f̄ + cf̄I m(H, t + 1) = m(H, t) f̄ +c̄f

f̄ = (1 + c) · m(H, t)

I Si suponemos c constanteI m(H, t) = m(H, 0) · (1 + c)t

N

Fundamentos Matemáticos - Crossover

A = 0 1 1 | 1 0 0 0H1 = * 1 * | * * * 0H2 = * * * | 1 0 * *

I δ(H1) = 5I δ(H2) = 1I Probabilidad de morir

I pd1 = δ(H1)/(l− 1)I pd2 = δ(H2)/(l− 1)

I Probabilidad de sobrevivir:I psi = 1− pdi = 1− δ(Hi)/(l− 1)

I Como probabilidad de crossover es pcI ps ≥ 1− pc · δ(H)

l−1I Por lo tanto:

I m(H, t + 1) ≥ m(H, 0) · (1 + c)t · [1− pc · δ(H)l−1 ]

N

Fundamentos Matemáticos - Mutación

I Probabilidad de mutación: pm

I El schema sobrevive si cada uno de los o(H) bits sobreviveI Probabilidad de supervivencia

I ps = (1− pm)o(H)

I Por lo tanto:I m(H, t + 1) ≥ m(H, 0) · (1 + c)t · [1− pc · δ(H)

l−1 ] · [(1− pm)o(H)]

N

1 Introducción

2 Algoritmos Genéticos

3 Algunos Fundamentos Matemáticos

4 Conclusiones

N

Conclusiones

I Problemas de los AGs:I Hay que elegir demasiadas cosas:

I representaciónI tamaño de la población, prob. de crossover, prob. de

mutación,...I operadores de selección, crossover, mutación,...

I EscalabilidadI La solución sólo es tan buena como la función de “fitness”

I Normalmente la parte más difícil

N

Conclusiones

I Beneficio de los AGs:I Sencillo de entenderI Modular, separado de la aplicaciónI Permite optimización multi-objetivoI Bueno en entornos con ruidoI Siempre hay una soluciónI Distribuido, paralelo,...

N

Gracias

GRACIAS!!

N

Gracias

GRACIAS!!

N