You are on page 1of 31

Inteligencia articial: Tema 15: Algoritmos Gen eticos

H ector Xavier Lim on Ria no xavier120@hotmail.com

Problemas de optimizaci on

Se tiene un conjunto de soluciones Se desea saber cu al de las soluciones es la mejor, la soluci on

optima
Estos problemas son muy relevantes, principalmente en

ingenier a

Problemas de optimizaci on

Existen dos tipos b asicos de problemas de optimizaci on


Optimizaci on num erica Optimizaci on combinatoria

Optimizaci on num erica

Dada una funci on f (x ) = y se intenta encontrar el valor x que

maximice (o minimice, dependiendo el caso) el valor y


Ejemplo: imaginemos que deseamos dise nar un resorte, este

resorte tiene un grosor, en funci on del grosor la exibilidad del resorte cambia (la funci on no es necesariamente incremental). En nuestra aplicaci on hay una restricci on de que tan delgado y grueso puede ser el resorte. Lo que deseamos es encontrar el valor de grosor x optimo para maximizar la exibilidad y
Todos los valores reales entre grosor m nimo y grosor m aximo

son soluciones candidatas

Optimizaci on combinatoria

Dada una serie de objetos, escoger una conguraci on que

maximice (o minimice) o resuelva un problema


Ejemplo: digamos que contamos con una serie de objetos que

tienen distinto peso y valor monetario. Tambi en contamos con un saco que aguanta un peso m aximo. Deseamos meter en nuestro saco aquellos objetos que maximicen nuestra ganancia monetaria pero que no excedan la resistencia del saco
Cualquier conguraci on que no exceda la resistencia del saco

es v alida

Problemas de optimizaci on

Sin importar el tipo de optimizaci on El problema radica en que el espacio de soluciones puede ser

muy grande
Tan grande que es computacionalmente intratable Se necesitan m etodos que de alg un modo encuentren una

buena soluci on (no necesariamente la optima)


El caso es no explorar todo el espacio de soluciones, de este

modo podemos dar un resultado relativamente r apido

Teor a del control optimo

Disciplina asentada fuertemente en las matem aticas Se enfoca principalmente a la resoluci on de problemas de

optimizaci on num erica Obtiene buenos resultados, sin embargo:


Es dif cil generalizar los m etodos que propone Suele ser dif cil entender y aplicar los m etodos que propone

Necesidad de m etodos de optimizaci on m as atractivos

Algoritmos bio-inspirados

Es com un en IA utilizar aproximaciones de la naturaleza para

resolver problemas
Este tipo de t ecnicas bio-inspiradas tiene una gran presencia

en problemas de optimizaci on
Ejemplos: Algoritmo de las hormigas Algoritmo de las abejas Algoritmo de bacterias Algoritmos gen eticos En este curso centraremos nuestra atenci on en los algoritmos

gen eticos

Algoritmos Gen eticos

Basados en la selecci on natural de Darwin Pueden resolver tanto problemas num ericos como problemas

combinatorios
Es una heur stica de b usqueda

En este curso s olo veremos problemas combinatorios por se m as simples

Selecci on Natural
Las especies tienden a adaptarse a su medio Cada vez que sucede la reproducci on, existe la probabilidad de

que el producto presenta alguna mutaci on


Algunas mutaciones hacen que el producto est e mejor

adaptado a su medio
Dado que est a mejor adaptado, tiene m as probabilidad de

reproducirse y heredar su caracter stica particular


As mismo, sus descendientes tendr an m as probabilidad de

reproducirse
Eventualmente es posible que la caracter stica nueva

predomine en toda la especie


As se consigue la evoluci on de las especies

Algoritmo Gen etico

La especie es una poblaci on de individuos, esta poblaci on es

constante a trav es de las generaciones


Cada individuo es una posible soluci on del problema (debe ser

una soluci on v alida)


Puede determinarse que tan bueno es un individuo mediante

una funci on de aptitud


Existe un mecanismo de reproducci on Los individuos con mayor aptitud tienen m as probabilidades de

reproducirse

Algoritmo Gen etico

Hay un mecanismo de remplazo que hace una selecci on de los

mejores descendientes para que vivan en la siguiente generaci on, todos los no seleccionados mueren
Notar que el remplazo es generacional, ning un individuo vive

m as de una generaci on (puede haber una excepci on que se ver a despu es)
Al alcanzar una condici on de paro se termina el proceso y se

entrega como soluci on al individuo con mejor aptitud

En pseudo-c odigo
Determinar tama no de la poblaci on T Generar aleatoriamente la poblaci on inicial de tama no T Repetir Determinar la aptitud de los individuos de la poblaci on Seleccionar N individuos A partir de los individuos seleccionados, generar M descendientes mediante el mecanismo de reproducci on De los M descendientes seleccionar T mediante el mecanismo de remplazo Hacer que los descendientes seleccionados se conviertan en la nueva poblaci on Hasta cumplirse condici on de paro Regresar mejor individuo de la poblaci on nal

A considerar

La optimizaci on es un caso especial de b usqueda Un algoritmo gen etico es una heur stica Como sabemos las heur sticas tratan de sesgar el espacio de

b usqueda utilizando informaci on extra


En este caso la informaci on extra es el proceso de selecci on

natural

A considerar

Deseamos aplicar un algoritmo gen etico en espacios de

b usqueda muy grandes


Un Algoritmo Gen etico no asegura la soluci on optima Si el problema est a bien modelado se asegura al menos un

buen resultado, podr a ser el optimo pero dado que el espacio de b usqueda es gigante, es posible que nunca podamos asegurarnos de ello

Convergencia
Al inicio de la b usqueda nuestros individuos se encuentran

dispersos en el espacio de b usqueda, explorando


Se pretende que a medida que las generaciones avanzan los

individuos se vayan concentrando sobre una zona del espacio


Cuando todos los individuos de la poblaci on est an sobre una

zona (que presumiblemente es buena) se dice que el algoritmo convergi o


Una vez a convergido no es posible sacarlo de esa zona, por lo

tanto conviene parar el proceso


La convergencia prematura es indeseable, se preere explorar

antes de concentrarse en una zona


Que tanto debe explorarse?, Una vez m as el problema de

exploraci on VS explotaci on

Elitismo

Es el mecanismo mediante el cual preservas al mejor individuo

para la generaci on siguiente


Esto quiere decir que el individuo elegido vive al menos 2

generaciones
Algunos estudios sostienen que es necesario introducir elitismo

a nuestro algoritmo gen etico para que este converja adecuadamente

Qu e necesita denirse?
Para cualquier problema de optimizaci on podemos utilizar el esqueleto general que se mencion o antes, sin embargo es necesario denir dependiendo del problema:
El tama no de la poblaci on La condici on de parada La estructura del individuo La funci on de aptitud Mecanismo de selecci on de individuos El mecanismo de reproducci on El mecanismo de remplazo

Problema de las 8 reinas

Se ejemplicara cada uno de los puntos anteriores mediante la presentaci on de un problema.


Problema de optimizaci on combinatoria Queremos colocar 8 reinas en un tablero de ajedrez de tal

modo que las reinas no se ataquen entre ellas mismas

Tama no de la poblaci on

El tama no de la poblaci on depende de que tan grande es el

espacio de b usqueda
Entre m as grande, mayor ser a la poblaci on Para el problema de las reinas con 100 individuos basta

(podr an ser incluso menos)

Condici on de parada

Puede ser un n umero m aximo de generaciones Puede ser cuando se alcance la convergencia Puede ser cuando un individuo represente la meta En el caso de las reinas lo que conviene es detenerse cuando

un individuo sea la soluci on del problema

Estructura del individuo

La estructura es totalmente dependiente del problema Una forma popular de representar individuos es mediante

cadenas de bits
Para el caso del ejemplo cada individuo puede ser una matriz

que representa al tablero, puede ser que tenga un 1 en la posici on donde hay una reina y un 0 en otro caso. Notar que s olo puede haber 8 unos

Funci on de aptitud

Depende del problema Para este caso la aptitud podr a ser el n umero de ataques

total, hay que tener cuidado de no contar el mismo ataque dos veces
Entre menos ataques mejor es el individuo Cero ataques es el ideal

Mecanismo de selecci on de individuos

Deseamos un mecanismo que la mayor a de las veces

seleccione a los mejores individuos


Pero a veces es deseable que se seleccionen individuos no tan

buenos para fomentar la exploraci on


Necesitamos un esquema probabilista

Mecanismo de selecci on de individuos

Por torneo:
Se seleccionan aleatoriamente 2 o m as individuos De esos seleccionados se escoge al mejor Es posible que se ltren individuos no tan buenos

Mecanismo de selecci on de individuos

Por ruleta:
Para problemas de maximizaron Se tienen una ruleta, esta ruleta tambi en podr a verse como

un pastel
A los individuos con mayor aptitud les corresponde una

rebanada del pastel m as grande


Se hace girar la ruleta, en alg un punto la ruleta se detiene en

alguna de las rebanadas


Se escoge al individuo de la rebanada correspondiente

Mecanismo de selecci on de individuos

Para el problema de las reinas se puede usar cualquier

aproximaci on
Si se utiliza ruleta es necesario hacer una normalizaci on, ya

que la ruleta se usa en maximizaron y el problema de las reinas requiere una minimizaci on
La normalizaci on es simple, digamos que el valor m nimo de

ataques (0) corresponde al valor 100 y el valor m aximo de ataques (24) corresponde a 0. A partir de eso se sacan los dem as valores
En general es preferible la ruleta a los torneos

Mecanismo de reproducci on
Sexual Tomamos dos de los individuos seleccionados y los cruzamos Por ejemplo, si los individuos son una cadena de bits, podemos partir a los individuos a la mitad y cruzar las mitades para generar dos descendientes Asexual S olo consideramos a un individuo Se generan uno o m as descendientes que son una mutaci on del padre Para el problema de las reinas podr a usarse cualquiera de los

dos, aunque en principio el sexual parece m as complicado puesto que podr a ser que se generaran soluciones invalidas
Consideremos una reproducci on asexual El descendiente se genera a partir de escoger una reina y

colocarla en una casilla aleatoria no ocupada del tablero

Mecanismo de remplazo

El m as popular es escoger un n umero de descendientes igual al

tama no de la poblaci on, se escogen los mejores descendientes


Pueden meterse aleatoriamente descendientes no muy buenos Puede incluirse elitismo Para el problema de las reinas introduzcamos un mecanismo

tradicional con elitismo

A considerar

Muchas de las decisiones del algoritmo gen etico son aleatorias Esto quiere decir que todo el proceso es aleatorio? Si el proceso es aleatorio quiere decir que el algoritmo no es

consistente, a veces con suerte da buenos resultados y otras veces no


Este no es el caso, por lo general se obtienen buenos

resultados
La parte aleatoria es para favorecer la exploraci on

Tarea 8

Programar un algoritmo gen etico que resuelva el problema de

las reinas
Puede ser en cualquier lenguaje de programaci on Pueden utilizar cualquier variaci on del algoritmo que quieran La tarea tiene un reporte asociado