Está en la página 1de 36

Inteligencia Artificial

Inteligencia Artificial

Algoritmos genéticos
Bases

En la naturaleza todos los seres vivos se enfrentan a


problemas que deben resolver con éxito, como
conseguir más luz solar o conseguir comida.
La Computación Evolutiva interpreta la naturaleza
como una inmensa máquina de resolver problemas y
trata de encontrar el origen de dicha potencialidad
para utilizarla en programas de computador.
Inteligencia Artificial

Computación evolutiva: ciencia computacional cuyos


algoritmos imitan el proceso evolutivo de la
naturaleza.
Existen problemas que no pueden solucionarse por
métodos matemáticos o analíticos; quizás la única
forma de resolverlos es a través de métodos de
prueba y error dirigidos.
Buscar donde se cree que hay un posible resultado,
podría ser similar al proceso que sigue la naturaleza.
Copiar la manera como opera la naturaleza se crean
Inteligencia Artificial

algoritmos que utilizan los operadores que


reproducen los procesos genéticos.
Introducción

Un Algoritmo Genético (AG) [Goldberg, 1989] es una


clase de algoritmo de búsqueda estocástica, basado en
los mecanismos de selección natural.
Combinan la supervivencia de los mejores individuos,
intercambiando información estructurada, de manera
aleatoria e imitando los procesos de evolución
biológica.
Inteligencia Artificial

Los AG son una original técnica de resolución de


problemas empleando procesos evolutivos.
Introducción

La Computación Evolutiva (o Algoritmos Evolutivos)


agrupa a los Algoritmos Genéticos, las Estrategias
Evolutivas y la Programación Evolutiva.
Estas técnicas son muy parecidas y comparten
muchos aspectos.
Un Algoritmo Evolutivo es una técnica de resolución
de problemas utilizando métodos inspirados en la
Inteligencia Artificial

evolución de los seres vivos.


Introducción

En un Algoritmo Evolutivo se define una estructura


de datos que admita las posibles soluciones a un
problema.
Cada uno de los posibles conjuntos de datos
admitidos por esa estructura será una solución al
problema.
Unas soluciones serán mejores que otras. Solucionar
Inteligencia Artificial

un problema consiste en hallar una solución óptima, y


por tanto, los Algoritmos Evolutivos son en realidad
un método de búsqueda para encontrar una posible
solución.
Introducción

En cada generación se crea un nuevo conjunto de


criaturas artificiales con las partes más aptas de las
generaciones anteriores.
Los AG son evolutivos.
Explotan la información histórica.
Exploran con nuevos puntos de búsqueda esperando
Inteligencia Artificial

un mejor comportamiento.
Introducción

Técnicas de
Búsqueda

Basadas en el Búsqueda Técnicas


Cálculo Aleatoria Enumerativas

Reconocido Algoritmos Programación


Directos Indirectos
Simulado Evolutivos Dinámica
Inteligencia Artificial

Algoritmos
Genéticos

Paralelos Secuenciales
El objetivo de los AG es:

1. Explicar rigurosamente los procesos adaptativos


de los sistemas naturales.
2. Diseñar software de sistemas artificiales, que
contenga los mecanismos principales de los sistemas
naturales.
3. Aplicar los procesos evolutivos de los seres a la
Inteligencia Artificial

programación.
¿Por qué utilizar AG en optimización y
búsqueda?

Los métodos tradicionales, pueden encontrar


soluciones óptimas a problemas específicos, que se
presentan en casos especiales. No son robustos.
Los métodos indirectos buscan extremos locales,
solucionando las ecuaciones al definir el gradiente de
la función objetivo igual a cero.
Es la generalización multidimensional de la noción
Inteligencia Artificial

del cálculo elemental de puntos extremos.


El concepto de optimización es un problema relativo a la
cantidad de información que se tenga en un momento dado.
Inteligencia Artificial
Inteligencia Artificial
Inteligencia Artificial
La naturaleza contiene muchos ejemplos de uso de
escogencia aleatoria, como herramienta en un proceso
de búsqueda directa.

El recocido simulado usa procesos aleatorios para


ayudar a guiar su búsqueda para estados de energía
mínimos.
Inteligencia Artificial

Los métodos convencionales no cumplen


requerimientos de robustez que requiere el mundo
real.
Los AG no quedan recluidos en mínimos o máximos
locales.
Usan la aptitud de las cadenas para dirigir la
búsqueda; por lo que no se requiere amplio
conocimiento específico del problema.
Operan adecuadamente sobre espacios de búsqueda
que tienen saltos o ruido.
Inteligencia Artificial
Diferencia de los AG
con los métodos tradicionales

Q Utilizan reglas de transición probabilísticas, no


determinísticas.
Q Trabajan con una codificación del conjunto de
parámetros, no con los parámetros.
Q Buscan en una población de puntos, no en un solo
punto.
Inteligencia Artificial

Q Usan la información que resulta de cada


evaluación, no la derivada.
Q Generan poblaciones sucesivas utilizando
operadores genéticos artificiales similares a los
biológicos.
Q La búsqueda en paralelo sobre los individuos de
la población, contribuye a la robustez que
demuestran los AG.
Inteligencia Artificial
Q Los mecanismos de un AG simple son
sorprendentemente sencillos.
Q Lo más complejo que incluyen es la copia de
cadenas y el intercambio parcial de cadenas.
Q La simplicidad de operación y el poder de
efectividad son las principales atracciones
del enfoque utilizado por los AG.
Inteligencia Artificial
Algoritmo Genético Simple
AGs
Inteligencia Artificial
Q El objetivo principal de un Algoritmo genético es el
de evolucionar a partir de una población de
soluciones para un determinado problema,
intentando producir nuevas generaciones que sean
mejores que las anteriores.
Q Estos algoritmos operan en un ciclo simple:
Creación de la población inicial, selección y
Inteligencia Artificial

reproducción, éste último implicando una


recombinación y mutación del material genético de
las soluciones.
El AG procesa poblaciones de cromosomas
sucesivamente.
Los cromosomas de la población tienen la forma de
una cadena de bits.
Cada gen, posición, en el cromosoma tiene dos
posibles valores: 0 y 1.
Inteligencia Artificial

Cada cromosoma es un punto en el espacio de


búsqueda.
Remplazan una población por otra a medida que
avanzan las generaciones.
La aptitud de un cromosoma depende de que tan
bien la solución resuelva el problema.
Inteligencia Artificial
Un AG involucra tres tipos de operadores:
Selección, Cruce y Mutación.
Selección.
Selecciona cromosomas de la población para su
reproducción basado en la aptitud.
Inteligencia Artificial

Cruce.
Realiza la recombinación de dos cromosomas
(organismos) para generar nuevos cromosomas.
100 001001
100 111110
Hijo 1
Padres 1 1 1 1 1 1 1 1 0
Inteligencia Artificial
100 001001
Padres 111 001001 Hijo 2
111 111110
Inteligencia Artificial
Mutación

Q Cambia aleatoriamente bits en un cromosoma de


acuerdo a una probabilidad.
Q Por ejemplo, la cadena 00000100 puede ser
mutada en su segunda posición y producir
01000100.
Q Facilita hacer una exploración completa para
Inteligencia Artificial

evitar concentración de los genes más aptos en


máximos locales.
AG

Q Dada una definición del problema a resolver, se


representa en cadenas de símbolos las soluciones
candidatas.
Q Un AG simple trabaja así:

Generación de población inicial.


Inteligencia Artificial

Aleatoriamente: k cromosomas de l bits (soluciones


candidatas para la solución del problema).
Repetir hasta que m hijos hayan sido creados.
1. Calcular la aptitud f(x) de cada cromosoma x en la
población.
2. Seleccionar pares de cromosomas de la población.
3. Con probabilidad pc, se cruza un par de cromosomas
en un punto escogido al azar, para formar dos hijos.
4. Con probabilidad pm se elige sustituir el dígito en
posiciones de la cadena de unos hijos.
Inteligencia Artificial

5. Reemplazar los nuevos cromosomas para una nueva


población (actual).
Regresar al paso 1.
Cada iteración se llama generación.

La probabilidad de selección está dada de acuerdo a


la aptitud de cada cromosoma.
La selección es un proceso en que los cromosomas se
llevan a la siguiente generación, con base en los
valores de su función objetivo f .
Inteligencia Artificial

La selección se hace sin reemplazo o con reemplazo.


Un cromosoma puede seleccionarse más de una vez
para ser padre.
Al final del proceso se encuentran usualmente uno o
más cromosomas con una muy buena aptitud en la
población.
Debido a la aleatoriedad, dos ejecuciones producen
diferentes comportamientos.
Inteligencia Artificial

La estructura del cromosoma podría ser variable.


Las rutinas de selección, cruce y mutación se realizan
tan sofisticadas como se desean.
La copia de cadenas, con base en el valor promedio de
aptitud, permite que cadenas con un valor mayor de
aptitud, tengan mayor probabilidad de contribuir con
uno o más descendientes en la siguiente generación.
En la naturaleza la aptitud esta determinada por la
habilidad para sobrevivir a depredadores, pestes, etc.,
para llegar a adultos y reproducirse.
Inteligencia Artificial
Conclusiones

Q Los AG representan un nuevo método de búsqueda


en espacios de solución intrincados.
Q Se basan en un proceso evolutivo artificial, en el
cual una población de individuos se modifica en
función del tiempo por la aplicación de un
conjunto de operadores simples.
Inteligencia Artificial
Conclusiones

Q Son un nuevo método de solución a problemas de


ingeniería.
Q La capacidad que tienen para encontrar un
balance entre la explotación y la exploración de
soluciones a lo largo de su evolución es su gran
atractivo.
Inteligencia Artificial

Q La estructura general del algoritmo usualmente es


la misma para cualquier aplicación práctica.
Conclusiones

Q Garantizan la búsqueda de un mejor óptimo para


las condiciones particulares del problema a través
de un procedimiento aleatorio de ensayo y error.
Q Aunque la tarea es buscar una representación
adecuada del dominio del problema mediante
cadenas de bits, la función de aptitud, las
restricciones que deben tener los operadores
Inteligencia Artificial

genéticos para que las soluciones propuestas sean


factibles; son algoritmos fáciles de implementar.
Inteligencia Artificial

También podría gustarte