Diapositiva 1 - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Diapositiva 1

Description:

Cromosoma de longitud 4 utilizando el alfabeto binario. 1 0 0 1. 8 ... El nuevo valor se elige (procedimiento B) sobre los elementos del alfabeto W. 14 ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 34
Provided by: eva1105
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva 1


1
Aprendizaje con Algoritmos Genéticos
2
Puntos a tratar
  • ð Introducción
  • ð Componentes de un Algoritmo Genético
  • û Representación de individuos
  • û Procedimientos generales de elección
    aleatoria
  • û Operador selección
  • û Operador emparejamiento
  • û Operador mutación
  • Algoritmo general
  • Ejercicio
  • Problemas de Ordenación

3
Introducción (I)
ð Los algoritmos genéticos son adecuados cuando
se dispone de mecanismos para establecer el
rendimiento de un sistema, modificando ciertos
parámetros ð El problema de aprendizaje consiste
en encontrar una configuración adecuada de los
parámetros, para que el rendimiento sea óptimo ð
Ejemplo ajuste del flujo de agua de un generador
hidroeléctrico para que la producción eléctrica
sea máxima ð Los algoritmos genéticos se apoyan
en las teorías evolutivas de Charles Darwin
(1859, El Origen de las Especies)
4
Introducción (II)
ð En cada generación se crea un nuevo conjunto de
individuos utilizando parte del material genético
de los mejores individuos de la generación
anterior ð Objetivos de los algoritmos
genéticos û abstraer y explicar los procesos
adaptativos de los sistemas naturales û diseñar
sistemas artificiales basados en estos procesos ð
La principal característica es la robustez del
sistema ð Surge una nueva rama, la Programación
Genética generación automática de programas que
evolucionan para resolver cada vez mejor la tarea
encomendada
5
Principios de Evolución por Selección Natural
1. Cada individuo tiende a transmitir sus rasgos
a su progenie 2. La naturaleza produce individuos
con rasgos diferentes 3. Los individuos más
adaptados, cuyos rasgos son más favorables para
desenvolverse en el medio, tienden a producir más
progenie 4. Durante largos períodos de tiempo se
puede acumular la variación produciendo nuevas
especies completamente adaptadas a nichos
particulares
6
Componentes de un Algoritmo Genético
ð Los componentes básicos de un algoritmo
genético son los siguientes û Una
representación para los individuos û Una función
de calidad, que da una medida del grado de
adaptación de un individuo al medio û Un
operador selección, con probabilidad de selección
de cada individuo proporcional a la calidad
(principio 3) û Un operador emparejamiento o
reproducción, que producirá nuevos individuos en
la siguiente generación (principio 1) û Un
operador mutación, capaz de alterar el código de
los nuevos individuos, incrementando la riqueza
genética de la población (principio 2)
7
Representación de Individuos
ð Se utiliza la idea de cromosoma, que es una
secuencia que determina la estructura de un
individuo ð La secuencia es de longitud L y se
compone de caracteres que pertenecen a un
alfabeto W. Cada carácter es un gen ð Dado un
cromosoma C, se puede construir el individuo I al
que representa aplicando una función ð
Normalmente se utiliza el alfabeto binario, W
0,1 Ej. Cromosoma de longitud 4 utilizando el
alfabeto binario 1 0 0
1
8
Procedimientos Generales de Elección Aleatoria (I)
ð Se utiliza una función random(), devuelve un
real Î 0,1) ð Hay tres situaciones en las que es
necesario realizar elecciones aleatorias A)
Ejecutar una acción con probabilidad p
IF (random() lt p) THEN ltaccióngt B)
Elegir entre N elementos equiprobables
Generar random() y ver dónde cae Elegir el
elemento correspondiente al tramo en el que caiga
el valor aleatorio
9
Procedimientos Generales de Elección Aleatoria
(II)
C) Elegir entre N elementos no equiprobables
Calcular las probabilidades acumuladas Generar
random() y ver dónde cae
10
Operador Selección (I)
ð Cada vez que se necesita, se extraen ciertos
individuos de la población. Para ello, se calcula
la probabilidad de selección de cada individuo
proporcional a la calidad ð Existen dos métodos
estándar y del rango ð Método estándar û
Establecer la calidad de cada individuo de la
población û Calcular la probabilidad de
selección de cada individuo dividiendo cada
calidad por la calidad total û Elegir un
individuo entre N elementos no equiprobables
(procedimiento C)
11
Operador Selección (II)
ð Método del rango û Fijar una probabilidad a
priori de elección, p û Establecer la calidad de
cada individuo de la población û Ordenar los
individuos según su calidad (de mayor a
menor) û Para cada individuo i desde 1
hasta N-1 Elegir, con probabilidad p, el
individuo i (procedimiento A) û Si se ha elegido
uno, salir y devolver dicho individuo û Si no se
ha elegido ninguno, devolver el individuo N
12
Operador Emparejamiento
ð Este operador intercambia información genética
entre dos individuos seleccionados ð Dados 2
individuos a emparejar û Ejecutar el
emparejamiento con probabilidad Pe (procedimiento
A). Si no hay que emparejar, salir. û Elegir un
punto de corte de las cadenas entre 1 y L-1
(procedimiento B) û Las cadenas que representan
a los individuos se parten en dos trozos y se
intercambian, dando lugar a dos individuos nuevos
13
Operador Mutación
ð Altera aleatoriamente el código genético de un
individuo para variar ligeramente sus
características ð Permite que aparezcan rasgos en
los nuevos individuos que no existían antes en la
población original ð La probabilidad de
aplicación de este operador debe ser pequeña ð
Dado 1 individuo a mutar û Para cada gen del
cromosoma, hacer Con probabilidad Pm
(procedimiento A), cambiar el valor del gen por
un nuevo valor. El nuevo valor se elige
(procedimiento B) sobre los elementos del
alfabeto W
14
Algoritmo General
  • EVOLUCIONAR (NI Pe Pm N)
  • û Generar una POBLACION aleatoria de NI
    individuos
  • û Repetir hasta haber realizado N iteraciones
  • Hacer NUEVA_POBLACION
  • Repetir hasta que NUEVA_POBLACION tenga NI
    individuos
  • Aplicar operador SELECCIÓN para
    extraer 2 individuos de
  • POBLACION
  • Aplicar operador EMPAREJAMIENTO
    con probabilidad
  • Pe a los individuos seleccionados.
  • Esto genera 2 nuevos individuos
  • Aplicar operador MUTACION con
    probabilidad Pm a cada
  • individuo generado en
    el paso anterior
  • Añadir el resultado a NUEVA_POBLACION
  • Copiar NUEVA_POBLACION en POBLACION
  • û Devolver el individuo con mayor calidad de
    POBLACION

15
Ejercicio (I)
Ej1. Calcular el valor entero de x que maximiza
la función, donde el argumento del seno se da en
radianes en el intervalo 0,15 utilizando un
algoritmo genético. Nota 1 para calcular los
valores de calidad obtener el n decimal
representado por la cadena y aplicar a este
número la función a maximizar.
16
Ejercicio (II)
Ej1. Números aleatorios empleados en el ejemplo

Ej1. Solución Calculo de 4 generaciones Població
n Inicial -gt Tomamos valores aleatorios (de la
tabla) y vemos a qué carácter del alfabeto (0 ó
1) corresponden. Si el valor aleatorio cae en el
intervalo 0,0.5) tomamos un 0 y si cae en el
intervalo 0.5,1) tomamos un 1.
0,34 -gt 0
0,82 -gt 1
0,77 -gt 1
0,71 -gt 1
0,35 -gt 0
0,75 -gt 1
0,48 -gt 0
0,40 -gt 0
0100
17
Ejercicio (III)
  • Ej1. Solución
  • GENERACIÓN 1 -gt Calcular tabla de calidades,
    probabilidades y probs. acumuladas para todos los
    individuos de la población actual. La calidad se
    obtiene utilizando la función que se quiere
    maximizar.
  • Establecer la calidad de cada individuo de la
    población
  • I 0111 DECIMAL 7 F.CALIDAD
  • I 0100 DECIMAL 4 F.CALIDAD
  • F.CALIDAD TOTAL 0,75 0,80 1,55
  • Calcular la probabilidad de selección de cada
    individuo dividiendo
  • cada calidad por la calidad total
  • I 0111 P.SELEC 0,75/1,55 0,48
    P.ACUM. 0,48
  • I 0100 P.SELEC 0,80/1,55 0,
    52 P.ACUM. 0,48 0,52 1, 00


18
Ejercicio (IV)
  • Ej1. Solución
  • SELECCIÓN -gt Operador selección utilizando el
    método estándar.
  • Para ello generamos un número aleatorio entre 0 y
    1. En este caso, según la tabla de calidades
  • Si el número aleatorio cae en el intervalo
    0,0.48) el individuo elegido será el 0111.
  • Si el valor aleatorio cae dentro del intervalo
    0.48,1) elegiremos el individuo 0100.
  • 0,41 -gt 0,74 -gt
  • EMPAREJAMIENTO
  • Ejecutar el emparejamiento con probabilidad Pe
    (procedimiento A). Si no hay que emparejar,
    salir.
  • 0,15 lt 0,7 -gt si hay emparejamiento


0100
0111
19
Ejercicio (V)
  • Ej1. Solución
  • EMPAREJAMIENTO
  • Elegir un punto de corte de las cadenas entre 1 y
    L-1 (procedimiento B). Miro el punto de corte con
    una elección equiprobable entre los 3 posibles
    puntos.
  • 0,85 -gt como cae en el tercer intervalo, el
    punto de corte es 3
  • Las cadenas que representan a los individuos se
    parten en dos trozos (por el punto de corte) y se
    intercambian, dando lugar a dos individuos
    nuevos.
  • 011 1 010 0
  • Por tanto los 2 nuevos individuos son 0110 y 0101


1
0
0,33
0,66
20
Ejercicio (IV)
  • Ej1. Solución
  • MUTACIÓN
  • Para cada gen miro si hay que mutar generando un
    número aleatorio
  • Si el número aleatorio es menor que la P.
    Mutación (0,3) entontes cambiar el gen por su
    complementario (con alfabeto no binario para
    elegir un elemento del alfabeto se utiliza el
    procedimiento de elección equiprobable).
  • Si no se deja el gen como está.


0,51 -gt 0
0,44 -gt 1
0,89 -gt 1
0,85 -gt 0
0,43 -gt 0
0,07 -gt 0
0,97 -gt 0
0,93 -gt 0
0001
0101
21
Ejercicio (V)
  • Ej1. Solución
  • GENERACIÓN 2 -gt Calcular tabla de calidades,
    probabilidades y probs. acumuladas para todos los
    individuos de la población actual. La calidad se
    obtiene utilizando la función que se quiere
    maximizar.
  • Establecer la calidad de cada individuo de la
    población
  • I 0110 DECIMAL 6 F.CALIDAD
  • I 0001 DECIMAL 1 F.CALIDAD
  • F.CALIDAD TOTAL 0,58 1,41 1,99
  • Calcular la probabilidad de selección de cada
    individuo dividiendo
  • cada calidad por la calidad total
  • I 0110 P.SELEC 0,58/1,99 0,29
    P.ACUM. 0,29
  • I 0001 P.SELEC 1,41/1,99 0,71
    P.ACUM. 0,29 0,71 1, 00


22
Ejercicio (VI)
  • Ej1. Solución
  • SELECCIÓN -gt Operador selección utilizando el
    método estándar.
  • Para ello generamos un número aleatorio entre 0 y
    1. En este caso, según la tabla de calidades
  • Si el número aleatorio cae en el intervalo
    0,0.29) el individuo elegido será el 0110.
  • Si el valor aleatorio cae dentro del intervalo
    0.29,1) elegiremos el individuo 0001.
  • 0,11 -gt 0,58 -gt
  • EMPAREJAMIENTO
  • Ejecutar el emparejamiento con probabilidad Pe
    (procedimiento A). Si no hay que emparejar,
    salir.
  • 0,75 gt 0,7 -gt no hay emparejamiento, salir.
    Los individuos quedan igual.


0001
0110
23
Ejercicio (VII)
  • Ej1. Solución
  • MUTACIÓN
  • Para cada gen miro si hay que mutar generando un
    número aleatorio
  • Si el número aleatorio es menor que la P.
    Mutación (0,3) entontes cambiar el gen por su
    complementario.
  • Si no se deja el gen como está.


0,90 -gt 0
0,51 -gt 1
0,62 -gt 1
0,67 -gt 0
0,15 -gt 1
0,89 -gt 0
0,87 -gt 0
0,86 -gt 0
1001
0001
24
Ejercicio (VIII)
  • Ej1. Solución
  • GENERACIÓN 3 -gt Calcular tabla de calidades,
    probabilidades y probs. acumuladas para todos los
    individuos de la población actual. La calidad se
    obtiene utilizando la función que se quiere
    maximizar.
  • Establecer la calidad de cada individuo de la
    población
  • I 0110 DECIMAL 6 F.CALIDAD
  • I 1001 DECIMAL 9 F.CALIDAD
  • F.CALIDAD TOTAL 0,58 1,65 2,23
  • Calcular la probabilidad de selección de cada
    individuo dividiendo
  • cada calidad por la calidad total
  • I 0110 P.SELEC 0,58/2,23 0,26
    P.ACUM. 0,26
  • I 1001 P.SELEC 1,65/2,23 0,74
    P.ACUM. 0,26 0,74 1, 00


25
Ejercicio (IX)
  • Ej1. Solución
  • SELECCIÓN -gt Operador selección utilizando el
    método estándar.
  • Para ello generamos un número aleatorio entre 0 y
    1. En este caso, según la tabla de calidades
  • Si el número aleatorio cae en el intervalo
    0,0.26) el individuo elegido será el 0110.
  • Si el valor aleatorio cae dentro del intervalo
    0.26,1) elegiremos el individuo 1001.
  • 0,77 -gt 0,92 -gt
  • En este caso el individuo es el mismo.
  • EMPAREJAMIENTO
  • Ejecutar el emparejamiento con probabilidad Pe
    (procedimiento A). Si no hay que emparejar,
    salir.
  • 0,84 gt 0,7 -gt no hay emparejamiento, salir.
    Los individuos quedan igual.


1001
1001
26
Ejercicio (X)
  • Ej1. Solución
  • MUTACIÓN
  • Para cada gen miro si hay que mutar generando un
    número aleatorio
  • Si el número aleatorio es menor que la P.
    Mutación (0,3) entontes cambiar el gen por su
    complementario.
  • Si no se deja el gen como está.


0,98 -gt 1
0,33 -gt 0
0,25 -gt 1
0,07 -gt 0
0,18 -gt 0
0,84 -gt 0
0,27 -gt 1
0,08 -gt 0
0010
1001
27
Ejercicio (XI)
  • Ej1. Solución
  • GENERACIÓN 4 -gt Calcular tabla de calidades,
    probabilidades y probs. acumuladas para todos los
    individuos de la población actual. La calidad se
    obtiene utilizando la función que se quiere
    maximizar.
  • Establecer la calidad de cada individuo de la
    población
  • I 1010 DECIMAL 10 F.CALIDAD
  • I 0010 DECIMAL 2 F.CALIDAD
  • F.CALIDAD TOTAL 3,43 1,03 4,46
  • Calcular la probabilidad de selección de cada
    individuo dividiendo
  • cada calidad por la calidad total
  • I 1010 P.SELEC 3,43/4,46 0,77
    P.ACUM. 0,77
  • I 0010 P.SELEC 1,03/4,46 0,23
    P.ACUM. 0,77 0,23 1, 00


28
Ejercicio (XII)
  • Ej1. Solución
  • SELECCIÓN -gt Operador selección utilizando el
    método estándar.
  • Para ello generamos un número aleatorio entre 0 y
    1. En este caso, según la tabla de calidades
  • Si el número aleatorio cae en el intervalo
    0,0.77) el individuo elegido será el 1010.
  • Si el valor aleatorio cae dentro del intervalo
    0.77,1) elegiremos el individuo 0010.
  • 0,01 -gt 0,57 -gt
  • En este caso el individuo es el mismo.
  • EMPAREJAMIENTO
  • Ejecutar el emparejamiento con probabilidad Pe
    (procedimiento A). Si no hay que emparejar,
    salir.
  • 0,28 lt 0,7 -gt Si hay emparejamiento.


1010
1010
29
Ejercicio (XIII)
  • Ej1. Solución
  • EMPAREJAMIENTO
  • Elegir un punto de corte de las cadenas entre 1 y
    L-1 (procedimiento B). Miro el punto de corte
    (aunque nos vaya a dar lo mismo porque los dos
    individuos son iguales).
  • 0,6 -gt como cae en el segundo intervalo, el
    punto de corte es 2
  • Las cadenas que representan a los individuos se
    parten en dos trozos (por el punto de corte) y se
    intercambian, dando lugar a dos individuos
    nuevos.
  • 10 10 10 10
  • Por tanto los 2 nuevos individuos son 1010 y 1010


1
0
0,33
0,66
30
Ejercicio (XIV)
  • Ej1. Solución
  • MUTACIÓN
  • Para cada gen miro si hay que mutar generando un
    número aleatorio
  • Si el número aleatorio es menor que la P.
    Mutación (0,3) entontes cambiar el gen por su
    complementario.
  • Si no se deja el gen como está.


0,81 -gt 1
0,75 -gt 0
0,82 -gt 1
0,80 -gt 0
0,83 -gt 1
0,94 -gt 0
0,97 -gt 1
1,00 -gt 0
1010
1010
Ya hemos realizado 4 iteraciones. Devolvemos el
individuo de mayor calidad, que será el resultado
del algoritmo 1010 que en decimal es 10.
31
Problemas de Ordenación (I)
  • ð En problemas de ordenación, no es válida la
    generación de cromosomas en los que se repiten
    valores. Ej problema del viajante
  • ð Es necesario redefinir los operadores mutación,
    emparejamiento y la generación de la población
    inicial
  • a, b, c i1 bca i2abc
  • Mutar primer gen de bca gt cca /aca
  • Emparejar por punto1 gt bbc , aca

32
Problemas de Ordenación (II)
  • ð Generación de la población inicial de
    individuos
  • û Construir una lista con todos los elementos
    del alfabeto
  • û Para cada individuo a generar
  • Repetir hasta que no queden elementos en la
    lista
  • Seleccionar al azar un elemento de la lista y
    eliminarlo de ella
  • Añadir dicho elemento al nuevo individuo
  • Mutación
  • û Elegir dos genes al azar e intercambiarlos

33
Problemas de Ordenación (III)
  • ð Emparejamiento Dados 2 individuos a emparejar
    i1 e i2
  • û Generar una plantilla binaria con la misma
    longitud
  • û Construimos h1 copiando los valores de i1 que
    coincidan con un 1 de la plantilla, dejando
    huecos en los 0
  • û Construir una lista con los elementos de i2 que
    no estén en h1 , de forma ordenada
  • û Introducir los elementos de la lista en los
    huecos de h1, de forma ordenada
  • û Construimos h2 copiando los valores de i2 que
    coincidan con un 0 de la plantilla, dejando
    huecos en los 1
  • û Construir una lista con los elementos de i1 que
    no estén en h2 , de forma ordenada
  • û Introducir los elementos de la lista en los
    huecos de h2, de forma ordenada
Write a Comment
User Comments (0)
About PowerShow.com