Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SISTEMAS INTELIGENTES
T4: Algoritmos Genticos
{jdiez, juanjo} @ aic.uniovi.es
Universidad de Oviedo
La idea es
! Qu pretende la IA?
Producir agentes inteligentes
! La evolucin se ha mostrado como una solucin exitosa dentro de los sistemas biolgicos ! La inteligencia humana es el mejor ejemplo del poder de la evolucin ! Idea: seguir la teoras neo-darwinistas para hacer evolucionar los agentes inteligentes de un problema
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Cmo funcionan?
! Simulan vagamente la evolucin biolgica ! Parten de una poblacin de agentes (hiptesis) diseados para realizar una determinada tarea ! La poblacin evoluciona cmo?
! ! !
Sobreviven los mejores agentes: SELECCIN ! Combinamos dos agentes: REPRODUCCIN ! Alteramos agentes: MUTACIN !
! Tras cada generacin, la poblacin resuelve mejor la tarea para la que se dise ! Al final nos quedaremos con el mejor agente
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Poblacin
Mutacin
Descendencia
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Desmitificando un poco
! No producen hombres, ni nada parecido (de momento) ! Son sistemas de bsqueda ! Es una bsqueda informada, similar a la bsqueda por haz local (con cruce) ! Cundo dejamos de evolucionar? ! A pesar de todo, tienen ventajas:
! !
Universidad de Oviedo
Tcnicas evolutivas
Evolucin al nivel de las especies Usa la mutacin y la seleccin es probabilstica No usan el cruce Evolucin al nivel de los individuos Usan operadores de recombinacin La seleccin es determinista Programacin Gentica
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Algoritmos Genticos
! John Holland, 60s, y 70s, Univ. Michigan ! Idea original estudio terico de la adaptacin y los planes reproductivos (nombre original) ! Se evoluciona el genotipo y no el fenotipo ! Representacin gentica independiente del dominio: cadenas binarias ! Seleccin probabilstica ! Operacin principal: cruce ! La mutacin desempea un papel secundario
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Tamao de la poblacin Porcentaje de elitismo/cruce Probabilidad de mutacin Criterio de parada (calidad de la solucin, n mximo de generaciones, )
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
P = generar p hiptesis (aleatoriamente) (Poblacin inicial) Para cada h ! P, evaluar F(h) Mientras ( maxh!P F(h) < F_T ) hacer Crear una nueva poblacin Ps 1) Ps = Seleccin probabilstica de (1-r)*p miembros de P Cada hiptesis tiene Pr(h)=F(h)/"F(h) de ser elegida 2) Cruce: seleccionar r*p/2 parejas de individuos de P Cada pareja genera 2 descendientes # Ps 3) Mutacin: seleccin uniforme de m*p miembros de Ps Se actualiza P: P = Ps Para cada h ! p, evaluar F(h) Fin Mientras Retornar el mejor individuo: h, tal que F(h)=maxh!P F(h) Fin GA
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Universidad de Oviedo
Demasiadas reinas
Universidad de Oviedo
Para 6 decimales de precisin habr 3.000.000 valores (long. intervalo 3) 2097152 = 221 < 3000000 < 222 = 4194304 (1000101110110101000111) representa al nmero 0.637197 (fenotipo) En esta caso: cada genotipo representa un fenotipo (OK!)
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Viento = Fuerte
Universidad de Oviedo
Interpretacin biolgica
! Cromosoma: cadena de ADN que contiene la informacin gentica de un individuo ! Gen: seccin de ADN que codifica una cierta funcin bioqumica (p.e. producir una protena) ! Alelo: cada valor posible para una cierta posicin gentica
Pronstico Temperatura Humedad Viento Nadar
0
Gen#1
Gen#2
Cromosoma
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
! Individuos correctos
La representacin de los individuos y los operadores genticos deben disearse para producir siempre individuos correctos 100 000 10 00 10 100 000 Faltan genes!!!
Universidad de Oviedo
Representacin con muchos genes y con pocos alelos posibles Es lo habitual en los cromosomas naturales
Bloque constructor: grupo pequeo de genes que ha coevolucionado y que si se introdujera en un cromosoma incrementara probablemente su aptitud
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
! Pero:
! !
Universidad de Oviedo
! TSP: se representa cada ciudad con un nmero {1,,n} y cada individuo ser una permutacin de esos nmeros indicando el orden de recorrido
Individuo: 1 8 4 5 2 7 6 10 3 9
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Universidad de Oviedo
Precisin de la hiptesis Coste de la solucin (TSP) Nivel de complejidad: se prefiere la ms simple (Occam) Hbridas
! Es dependiente del problema ! Debe ser rpida, se ejecuta muchsimas veces ! Es clave en el algoritmo, en base a ella se decide la seleccin de individuos, y de ella depende en gran medida la velocidad de ejecucin (y por tanto las soluciones que se pueden alcanzar)
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Seleccin de individuos
! Permite que las poblaciones mejoren sucesivamente ! Normalmente siempre se suele incluir el mejor individuo en la siguiente generacin (elitismo) ! La seleccin no se debe basar en elegir slo a los mejores individuos (problema de crowding) ! Aunque los mejores deben tener siempre ms probabilidad de ser elegidos (convergencia) ! Hay muchsimas tcnicas de seleccin
! ! ! !
Universidad de Oviedo
Seleccin Proporcional
! Este nombre describe un grupo de esquemas de seleccin originalmente propuestos por Holland ! Eligen individuos de acuerdo a su contribucin de aptitud con respecto al total de la poblacin
P (hi ) = f [hi ]
p j =1
f hj
[ ]
! Pueden provocar poca diversidad, propiciando que predominen los mejores individuos (crowding) ! Variantes:
Ruleta ! Sobrante Estocstico ! Universal Estocstica !
!
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Se seleccionan uniformemente un grupo de individuos k Con probabilidad p se selecciona el mejor individuo El parmetro p permite controlar el crowding
! Ranking
! ! !
Similar al proporcional Se ordenan los individuos de acuerdo a su aptitud La probabilidad de seleccin es proporcional a la posicin en el ranking
Universidad de Oviedo
Operador de cruce
! Combina individuos (tpicamente 2) para generar descendientes (usualmente 2) ! Mscara de cruce: mscara de bits que indica los miembros del primer y del segundo padres que se transmiten a la descendencia ! Single-Point
Padres: Mscara: Descendientes: 11101001000 00001010101 11111000000 11101010101 00001001000
! Two-Point
Padres: Mscara: Descendientes: 11101001000 00001010101 00111110000 11001011000 00101000101
Universidad de Oviedo
Operador de mutacin
! Idea: introducir cambios aleatorios en las estructuras (genes) ! Provoca: una bsqueda estocstica por el espacio de hiptesis ! Single-Point
Individuo: Individuo mutado: 11101001000 11101011000 (bit aleatorio)
! Multi-Point
Se invierten mltiples bits (elegidos aleatoriamente)
Universidad de Oviedo
Universidad de Oviedo
Universidad de Oviedo
Esquemas
! Objetivo: identificar bloques constructores ! Describen familias de individuos ! Definicin: cadena contiene tres smbolos, 0, 1, *. El * representa que en esa posicin da igual un 1 un 0 ! Ejemplo: ***010*** ! Caracterizan las poblaciones de acuerdo al nmero de individuos que representan cada esquema
!
Universidad de Oviedo
Programacin Gentica
! Uso de estructuras de rboles para representar programas de computadora ! Se predetermina la mxima profundidad de los rboles, pero no su topologa precisa ! El tamao, forma y contenido de los rboles puede cambiar dinmicamente durante el proceso evolutivo
Sistemas Inteligentes T4: Algoritmos Genticos
Universidad de Oviedo
Funciones ms utilizadas
! Operaciones aritmticas: +,-,*, ! Funciones matemticas: seno, exp, ! Operaciones Booleanas: AND, OR,.. ! Operadores condicionales: IF ! Iteraciones: DO-UNTIL ! Recursin ! Cualquier funcin especfica
Universidad de Oviedo
Cruce
Universidad de Oviedo
Aplicaciones
! Problemas de optimizacin combinatoria ! Problemas de ajuste de parmetros ! Problemas de satisfaccin de restricciones, planificacin y asignacin de recursos espaciales y temporales ! Optimizacin (estructural, de topologas, numrica, combinatoria, etc.) ! Reconocimiento de patrones ! Generacin de gramticas (regulares, libres de contexto)
Sistemas Inteligentes T4: Algoritmos Genticos