Está en la página 1de 3

CC40A Auxiliar Algoritmos Aleatorios

Profesor: Ricardo Baeza Yates Prof. Auxiliar: Rodrigo Paredes


Dept. de Ciencias de la Computaci on, Universidad de Chile.

1.

Preliminares

Los algoritmos gen eticos son unos de los m etodos basados en la biolog a, al igual que las redes neuronales. Esta t ecnica pretende capturar los mecanismos de adaptaci on de las especies al ambiente en que viven, favoreciendo a la evoluci on y la supervivencia de los individuos mejor adaptados permitiendo su reproducci on y el descarte de los m as d ebiles. Para esto se consideran los siguientes elementos: Poblaci on: subconjunto de soluciones factibles del problema que se est an evaluando actualt mente. Sea P (t) = {xt , . . . x } la poblaci o n en el instante t . La poblaci on representa al 1 n conjunto de individuos sobrevivientes de la especie. Gen: un individuo o elemento de la poblaci on. Cada elemento xt on i representa una soluci potencial del problema. El gen debe ser dise nado de modo de modelar la estructura de la soluci on del problema y ser capaz de resolverlo. Tambi en se conocen como cromosoma o genotipo. Fitness: es la funci on que mide la adaptaci on del individuo. Se utiliza para evaluar la calidad del gen. Operadores gen eticos: son los operadores que permiten reproducir la poblaci on a partir de la poblaci on actual. En t erminos muy simplicados, los algoritmos gen eticos intentan resolver problemas de optimizaci on mediante un acercamiento iterativo hacia la soluci on del problema. Para esto, el proceso comienza con una poblaci on inicial escogida de modo uniforme, de modo de explorar simult aneamente multiples zonas del universo de soluciones factibles del problema, es decir, evitar el sesgo de la soluci on. Para iteraciones posteriores, se produce una nueva poblaci on seleccionando los individuos mejor adaptados, y reproduci endolos mediante los operadores gen eticos. Idealmente, el proceso termina cuando la soluci on se estabiliza, es decir, no hay mejoras en la funci on objetivo, en la pr actica esto no siempre se consigue, luego tambi en se suelde detener el proceso luego de un n umero jo de iteraciones. El esquema b asico de un algoritmo gen etico se muestra en la Figura 1. Los operadores gen eticos se utilizan para reproducir nuevas generaciones a partir de los sobrevivientes de la generaci on actual (dado A(t) se reproduce P (t + 1)). Los operadores gen eticos m as comunes son el crossover (cruce o recombinaci on gen etica ) y el operador de mutaci on. El operador de crossover consiste en que dado dos genes se produce otro par de genes que comparten material gen etico, teniendo el cuidado de que los genes producidos

Inicializar P (0) while (condTermino = FALSE) evaluar P (t) con la funci on de fitness A(t) selecciona individuos de P (t) P (t + 1) reproduce la poblaci on a partir de A(t) t++ Figura 1. Esquema de un algoritmo gen etico.

respenten la estructura del gen (se corresponde a la reproducci on sexuada). El operador de mutaci on consiste en modicar una componente de gen al azar (se corresponde a la reproducci on asexuada). Estos operadores se muestran en la Figura 2.

A C

B D

A C

D B

A 0 A 1

B B

Figura 2. Operadores gen eticos usuales. A la izquierda, crossover de dos genes. A la derecha, mutaci on de un bit escogido al azar.

Inicialmente los genes se representaron con secuencias binarias de largo jo, lo que permit a una aplicaci on sencilla de los operadores gen eticos comunes. Debido a que esta representaci on es poco exible, se liber o la estructura de secuencia binaria adapt andola a otra que sea apropiada para la aplicaci on, con lo cual, tambi en es necesario adaptar los operadores gen eticos. Por u ltimo, es necesario indicar que en aplicaciones pr acticas, los algoritmos gen eticos se utilizan cuando no se conocen soluciones ecientes para el problema en estudio.

2.

Calcular la ra z cuadrada de n

Este es un ejemplo cl asico de la aplicaci on de algoritmos gen eticos, que consiste en calcular el entero m as cercano a la ra z cuadrada de n. gen: n umeros enteros representados como secuencias de bits (largo acotado por la representacion binaria de n). poblacion inicial: secuencias de bits (distribuidas uniformemente), acotadas entre 0 . . . n. tness: m n |n gen2 |. operadores geneticos: cruce: intercambiar bits. mutacion: cambiar un bit al azar. condicion de corte: por timeout (ej 100 generaciones) o por error peque no. esquema global: el de siempre.

3.

Construir el MST de un grafo

Este es un ejemplo s olo tiene nes did acticos, puesto que existen algoritmos ecientes para calcular el MST (Kruskal y Prim, entre otros). gen: coleccion de arcos. poblacion inicial: permutaciones 1 . . . N . tness: m n eM ST w (e). operadores geneticos: Mutacion adaptada a MST: tomar al azar un arco, meterlo al MST y sacar el mas caro. Cruce adaptado a MST: buscar en los dos MST un grupo de nodos que esten conectados entre si e intercambiar los arcos condicion de corte: por timeout (ej 100 generaciones) o por error peque no. esquema global: el de siempre.

También podría gustarte