Está en la página 1de 34

Algoritmos Geneticos

Licenciatura en Sistemas de
Información
Inteligencia Artificial
AG (Algoritmos Genéticos)

• -Los Algoritmos Genéticos (AG's) son métodos de


búsqueda basados en una simulación parcial de
los mecanismos de la evolución natural

• -Fueron creados en la década de los 60's por John


Holland, como un modelo para el estudio del
fenómeno de adaptación natural y para el
desarrollo de mecanismos que permitieran
incorporar este fenómeno a los sistemas de
cómputo
Origen biológico
Origen biológico II
Origen biológico III
Algoritmos Genéticos I
Algoritmos Genéticos II
Algoritmos Genéticos III
Representación AG I
Representación AG II
Representación AG III
Proceso del AG I
CONCEPTOS

Población: Grupo de Individuos

Individuo: Contiene varios cromosomas

Cromosoma: La información asociada a un


individuo.

Fenotipo: Las características de los individuos,


sean beneficiosas o no. Puede representada por
más de un cromosoma.
OPERACIONES QUE SE REALIZAN

Evaluación de aptitud (calidad del individuo)

Selección (determinación de cuáles son los individuos


que continuarán existiendo)

Cruce (un mecanismo para obtener nuevos individuos


a partir de otros)

Mutación (un mecanismo para obtener un nuevo


individuo a partir de su propia información)
EVALUACIÓN DE APTITUD

-Es una función que aplicada sobre un individuo (sus


cromosomas) produce como resultado un rango que mide
la calidad del individuo como solución del problema.

-Determina la conexión entre el programa evolutivo y el


problema considerado.

-Emula al ambiente.

-Influye en la complejidad en tiempo del AG


EVALUACIÓN DE APTITUD

- Sus propiedades son determinantes en la eficiencia y


eficacia del método.
- Es importante tratar de incorporar en ella las
restricciones del problema.
- El número (los números) que produce(n) en general se
traducen en probabilidades.
- En general no es relevante la forma como se evalúa esta
función, lo que permite incorporar la mayor cantidad de
información posible.
- Llamada también: Función de Adaptación
SELECCIÓN
¿Cuáles individuos continúan existiendo?

Selección elitista: se garantiza la selección de los miembros


más aptos de cada generación.
Selección proporcional a la aptitud: los individuos más aptos
tienen más probabilidad de ser seleccionados, pero no la
certeza.
Selección por rueda de ruleta: Una forma de selección
proporcional a la aptitud en la que la probabilidad de que
un individuo sea seleccionado es proporcional a la
diferencia entre su aptitud y la de sus competidores.
Selección escalada: Al incrementarse la aptitud media de la
población, la fuerza de la presión selectiva también
aumenta y la función de aptitud se hace más
discriminadora.
SELECCIÓN

Selección por torneo: Se eligen subgrupos de individuos de la


población, y los miembros de cada subgrupo compiten
entre ellos. Sólo se elige a un individuo de cada subgrupo
para la reproducción.
Selección por rango: A cada individuo de la población se le
asigna un rango numérico basado en su aptitud, y la
selección se basa en este ranking, en lugar de las
diferencias absolutas en aptitud.
Selección generacional: La descendencia de los individuos
seleccionados en cada generación se convierte en toda la
siguiente generación. No se conservan individuos entre las
generaciones.
SELECCIÓN

Selección por estado estacionario: La descendencia de los


individuos seleccionados en cada generación vuelven al
acervo genético preexistente, reemplazando a algunos de
los miembros menos aptos de la siguiente generación. Se
conservan algunos individuos entre generaciones.
Selección jerárquica: Los individuos atraviesan múltiples rondas
de selección en cada generación. Las evaluaciones de los
primeros niveles son más rápidas y menos discriminatorias,
mientras que los que sobreviven hasta niveles más altos
son evaluados más rigurosamente.
CRUCE

-Forma de calcular el genoma del nuevo individuo en


función del genoma del padre y de la madre.
-El operador de cruce es fuertemente responsable de las
propiedades del algoritmo genético, y determinará en
gran medida la evolución de la población
TÉCNICAS DE CRUCE

Cruce básico: Se selecciona un punto al azar de la cadena. La parte


anterior del punto es copiada del genoma del padre y la posterior
del de la madre.
Cruce multipunto: Igual que el cruce básico, sólo que estableciendo
más de un punto de cruce.
Cruce segmentado: Existe una probabilidad de que un cromosoma
sea punto de un cruce. Conforme se va formando la nueva cadena
del descendiente, para cada gen, se verifica si ahí se va producir un
cruce.
Cruce uniforme: Para cada gen de la cadena del descendiente existe
una probabilidad de que el gen pertenezca al padre, y otra de que
pertenezca a la madre.
MUTACIÓN

Es una variación de las informaciones contenidas en el


código genético
TÉCNICAS DE MUTACIÓN

Mutación de bit: Existe una única probabilidad de que se


produzca una mutación de algún bit. De producirse, el
algoritmo toma aleatoriamente un bit, y lo invierte.

Mutación multibit: Cada bit tiene una probabilidad de


mutarse o no, que es calculada en cada pasada del
operador de mutación multibit.
Funcionamiento general de un AG

110010 1010
Cromosomas
Codificación 101110 1110 Cruce
1100101010
Soluciones 1011101110 1100101110

0011011001
1100110001 Mutación
0011011001

0011001001
Selección
Evaluación

1100101110

1011101010
Cálculo Aptitud
0011001001

Decodificación Soluciones
Condiciones de terminación:

-Alcanzar una cantidad límite de generaciones


-Hallar un individuo que satisface un criterio de
minimalidad
-La aptitud alcanza un máximo para algunos individuos o
es tal que sucesivas iteraciones no producen mejores
resultados
-Inspección manual
-Combinaciones de todo lo anterior
Ejemplo:
-Algunas ideas para implementar un AG para un Problema
de Agente Viajero
-El agente debe visitar 10 ciudades (numeradas del 0 al 9)
-La representación de los genes o cromosomas es una
lista de ciudades dispuestas en el orden en que se visitan.
Por ejemplo: g = [9 3 4 0 1 2 5 7 6 8]

-Es un gen de longitud 10 y significa que el vendedor


visita las ciudades 9, 3, 4, ..., 8 en ese orden y regresa a la
ciudad 9.
Una operación de tipo CRUCE
-Consiste en producir un nuevo itinerario a partir de los itinerarios
que representan dos padres g y h.
-Se toma algún subtour de g y se le anexa algún subtour de h. La
aptitud de individuos puede medirse en función de la capacidad de
anexar subsecuencias de itinerarios: el gen con mayores
posibilidades de combinarse con otros (para formar nuevos
itinerarios) es el más apto.
- Se selecciona la primera ciudad en la representación de los
padres, se comparan las ciudades adjuntas a esa ciudad en ambos
padres y se elige la más cercana para un nuevo itinerario. Si una
ciudad ya apareció en el tour, elegimos otra. Si ambas ciudades ya
aparecen en el tour, elegimos aleatoriamente cualquier ciudad que
no fuera escogida
Una operación de tipo MUTACIÓN

-La operación de mutación consiste en intercambiar el


orden de las ciudades en un itinerario. Por ejemplo:
Antes de la mutación [0 1 2 3 4 5 6 7 8 9]
Después de la mutación [0 1 3 2 4 5 6 7 8 9]
Una manera de implementar mutaciones es mediante la
estrategia:
Se eligen aleatoriamente dos ciudades en un cromosoma
y se intercambian si y sólo si el nuevo itinerario obtenido
por este intercambio resulta más ligero que el anterior.
Aplicaciones

Una de las ventajas de los algoritmos genéticos es el ser ampliamente aplicables en una
gran variedad de problemas. Esto se debe a una de sus características que es su
robusteza. Al requerir poca información para resolver un problema, los algoritmos
genéticos sugieren ser una buena alternativa en el proceso de resolver un
problema. Como mencionado anteriormente, los algoritmos genéticos tienen
muchas ventajas que hay que resultan en ser atractivas para seleccionar el uso de
estos algoritmos en diversas aplicaciones.

Problema del vendedor viajero


En este tipo de problema, el objetivo es encontrar un recorrido de longitud mínima para
un viajante que tiene que visitar varias ciudades y volver al punto de partida sin repetir la
visita a ninguna de las ciudades y sin dejar de visitar ninguna; la distancia existente entre
cada par de ciudades es conocida.
Problema de la mochila
En este tipo de problema, se tienen n objetos y una mochila. El objeto i tiene peso pi y la
inclusión del objeto i en la mochila produce un beneficio bi. El objetivo es llenar la
mochila, de capacidad C de manera que se maximice el beneficio sin que se rompa por
sobrepeso.
Aplicaciones

Dilema del prisionero


Se tiene a dos presos en celdas separadas, incapaces de comunicarse uno con otro. Se le
pide a cada preso, independientemente, desertar y traicionar al otro preso. Si uno de los
presos traiciona éste puede desertar y castigan al otro. Si ambos se traicionan
mutuamente, siguen encarcelados y son torturados. Si ninguno de los dos traiciona,
ambos reciben recompensas moderadas. Si ambos presos se traicionan, esto conlleva a
pagar un mayor precio que cooperar con el otro prisionero. El objetivo del dilema del
prisionero es predecir cuándo se debe traicionar o cooperar con el otro prisionero.

Optimización de funciones
Se optimizan funciones simples para maximizar la función al escoger una solución dentro
del dominio de estudio.

Problemas de asignación de estados


Problemas de optimización donde se asignan estados para obtener cierto tipo de
respuesta. El problema del vendedor viajero es parte de este grupo.
Aplicaciones

Economía
Se aplica la teoría de juego para encontrar puntos de equilibrio en sumas diferentes a cero
y situaciones no cooperativas. En el caso del dilema del prisionero se explora la
posibilidad de que existan comportamientos cooperativos. La teoría de juego es el estudio
de problemas de decisión multi-personal.

Diseño asistido por computadoras (CAD)


Utiliza el “feedback” del proceso de la evaluación para seleccionar el diseño más ajustado,
generando nuevos diseños con la recombinación de las partes de los diseños
seleccionados. Eventualmente, una población de diseños de alto funcionamiento es el
resultado.

Sistemas de información
Las topologías distribuidas de la red de ordenadores son diseñadas por algoritmos
genéticos, usando tres funciones objetivas para optimizar los parámetros de la
confiabilidad de la red, a saber: diámetro, distancia media, y confiabilidad de la red de
ordenadores. Se han diseñado con éxito redes del orden 100 de nodos
Aplicaciones

Horarios
Se utiliza para la inspección y reparación de tanques de aceite y tuberías. La función de
aptitud evalúa las restricciones: nivel de producción, condición y localización de
instalaciones, tipo de productos, recursos humanos, los días y costos de inspección y
reparación. Entonces se construye un programa de horarios para las instalaciones de
aceite. Un buen programa minimiza las reparaciones y fallas que puedan llegar a ser muy
serias

Finanzas
Los modelos para la asignación táctica del activo y las estrategias internacionales de la
equidad se han mejorado con el uso de algoritmos genéticos.

Producción y operación
Los algoritmos genéticos se han utilizado para programar trabajos en secuencia
dependiendo del ambiente encontrado para una tardanza total mínima. Todos los trabajos
se programan en una sola máquina; cada trabajo tiene un tiempo de procesamiento y una
fecha de terminación. El tiempo asignado a cada trabajo es dependiente del trabajo que
lo precede inmediatamente.
Actividad
• Buscar algún caso de aplicación de algoritmos genéticos, diferente a los
mencionados en clases.
• Para el caso seleccionado identificar y explicar que aplica en cada caso
• Representación
• Población: Grupo de Individuos
• Individuo: Contiene varios cromosomas
• Cromosoma: La información asociada a un individuo.
• Fenotipo: Las características de los individuos, sean beneficiosas o no.
Puede representada por más de un cromosoma.
• Operaciones
• Evaluación de aptitud (calidad del individuo)
• Selección (determinación de cuáles son los individuos que continuarán
existiendo)
• Cruce (un mecanismo para obtener nuevos individuos a partir de otros)
• Mutación (un mecanismo para obtener un nuevo individuo a partir de su
propia información)
OPERACIONES QUE SE REALIZAN

Evaluación de aptitud (calidad del individuo)

Selección (determinación de cuáles son los individuos


que continuarán existiendo)

Cruce (un mecanismo para obtener nuevos individuos


a partir de otros)

Mutación (un mecanismo para obtener un nuevo


individuo a partir de su propia información)

También podría gustarte