Algoritmos - Geneticos John Estiben
Algoritmos - Geneticos John Estiben
Algoritmos - Geneticos John Estiben
Con base en lo anterior, se busca hacer una analogía entre el sistema de un ser humano
y de una maquina en ingeniería de computación, por tanto, los Algoritmos Genéticos se
basan en estructuras genéticas del ser humano como los cromosomas, el gen, el
genotipo, entre otros. Existen muchos operadores genéticos que ayudan a optimizar
procesos y problemas que se ven cotidianamente, como la búsqueda de rutas optimas,
optimización de circuitos, de sistemas de tuberías, por mencionar algunos.
Objetivos específicos
1. Investigar los conceptos básicos sobre el Algoritmos Genéticos.
De manera más formal siguiendo la definición dada por Goldberg, los AG se pueden
considerar algoritmos de búsqueda, los cuales se basan en la mecánica de selección
natural y de la genética natural. Combinan la supervivencia del más apto entre
estructuras que van en secuencia con un intercambio de información estructurada,
aunque aleatorizado, mediante el cual se puede construir un algoritmo de búsqueda que
este basado en las genialidades humanas(Goldberg, 1989).
Selección
Los algoritmos de selección son los encargados de escoger aquellos individuos que
tienen más probabilidad de reproducirse e identificar aquellos que no tienen la posibilidad
de reproducirse. Se trata de imitar lo que ocurre en la naturaleza por lo tanto se otorga
un mayor número de oportunidades a los individuos más aptos, sin embargo no se deben
eliminar por completo aquellos individuos que no sean aptos, puesto que en pocas
generaciones la población se volvería algo homogénea (Gestal, Rivero, Rabuñal,
Dorado, & Pazos, 2010).
Los algoritmos de selección pueden ser divididos en dos grandes grupos: probabilísticos
y determinísticos. Los dos tipos de algoritmos basan su funcionamiento en el principio
expresado con anterioridad “escoger una mayor cantidad de veces a los más aptos”. El
primer tipo adjudica estas posibilidades basado en el azar, en este grupo se encuentran
los algoritmos de selección por ruleta o por torneo, dado su importancia por ser los más
utilizados.
El segundo grupo contiene una serie de algoritmos dado el ajuste conocido de cada
individuo, se puede asignar a cada uno el número de veces que será escogido para
reproducirse, esto evitara problemas de predominancia de ciertos individuos, cada
algoritmo presenta una variación respecto al número de veces que se tomarán los
mejores y peores, se impondrá una presión en la búsqueda en el espacio de estados en
la zona donde se encuentra el mejor individuo (Gestal, Rivero, Rabuñal, Dorado, &
Pazos, 2010).
Este método suele ser sencillo, pero algo ineficiente a medida que aumenta la población,
su complejidad es de 𝑂(𝑛2 ), otro problema que surge de este método es que el peor
individuo puede ser seleccionado en más de una ocasión (Pose, 2000).
Figura 3 Ruleta de selección.
(Arranz de la Peña & Parra Truyol, 2007)
• Determinístico
• Probabilístico
Selección jerárquica
En este tipo de selección, los individuos van a atravesar diferentes rondas de selección
en cada generación, en los primeros niveles las evaluaciones son más rápidas y menos
discriminatorias, aquellos que sobrevivan hasta los niveles más altos serán evaluados
rigurosamente. Este método posee la ventaja de reducir el tiempo total de cálculos
utilizando una evaluación menos selectiva para eliminar la mayoría de los individuos que
puedan ser poco o nada prometedores y sometiendo a los más aptos a un mayor análisis
(Arranz de la Peña & Parra Truyol, 2007).
Cruce
Luego de tener los individuos seleccionados, estos van a hacer recombinados para
generar una nueva decendencia, el cruce es una estrategia de reproducción tiene una
gran importación para la transición entre las generaciones, la tasa de cruce con las que
más se suele trabajar ronda entre el 90%
Cruce de 1 punto
Esta es la técnica más sencilla, luego de tener seleccionados dos individuos que tendrán
el papel de padres son recombinados por medio de la selección de un punto de corte,
para posteriormente intercambiar las secciones que se encuentran a la derecha de dicho
punto, es decir los genes del padre 1 a la izquierda del punto de corte forman parte del
hijo 1 y los situados a la derecha formaran parte del hijo 2, con el padre 2 sucederá lo
contrario (Arranz de la Peña & Parra Truyol, 2007).
Cruce de 2 puntos
Este cruce el similar al anterior, pero se realiza para cada gen de los padres, en este
cruce los genes del padre 1 formaran parte del hijo uno y os genes impares formaran
parte del hijo 2, para el padre dos sucede el caso contrario .
Figura 5 cruce en dos puntos.
(Gestal, Rivero, Rabuñal, Dorado, & Pazos, 2010)
Cruce uniforme
Este cruce es muy diferente a los dos anteriores, cada gen de la descendencia va a tener
las mismas probabilidades de pertenecer a uno u otro padre.
La técnica contiene la generación de una máscara para realizar el cruce con valores
binarios, si en una de las posiciones de la máscara hay un 1, el gen situado en esa
posición en uno de los descendientes se copia del primer padre, si por el contrario hay
un 0 el gen se copia del segundo padre, el segundo descendiente se intercambian los
papeles de los padres, o bien se intercambia la interpretación de los unos y ceros de la
máscara de cruce (Gestal, Rivero, Rabuñal, Dorado, & Pazos, 2010).
𝑁𝑐
(1)
Donde:
𝑁𝑐 número de casos
𝑟(𝑖, 𝑡) 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑐𝑖ó𝑛
𝑠(𝑖, 𝑡) = {
𝑟𝑚𝑎𝑥 − 𝑟(𝑖, 𝑡) 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑐𝑖ó𝑛
(2)
Fitness ajustado 𝒂(𝒊, 𝒕)
El fitness ajustado toma valores siempre entre (0,1], entre más se aproxime el fitness
ajustado a 1 mayor será la bondad del individuo, se obtiene por la Ecuación 3.
1
𝑎(𝑖, 𝑡) =
1 + 𝑠(𝑖, 𝑡)
(3)
𝑎(𝑖, 𝑡)
𝑛(𝑖, 𝑡) =
∑𝑀
𝑘=1 𝑎(𝑘, 𝑡)
(4)
Ventajas y desventajas
Ventajas Desventajas
• Operan paralelamente y de • Desechan soluciones subóptimas
manera simultánea con • El lenguaje debe ser robusto capaces de
varias soluciones. tolerar cambios aleatorios
• Tienen la habilidad para • Si un individuo que es más apto que la
manipular muchos mayoría de sus competidores emerge
parámetros muy pronto en el curso de la ejecución,
simultáneamente se puede reproducir tan
• No se necesitan abundantemente que merme la
conocimientos específicos diversidad de la población demasiado
sobre el problema a resolver pronto.
Aplicaciones de AG
Las aplicaciones que pueden tener es un gran número. Sin embargo, a continuación, se
nombran algunas de las más destacables.
(𝑛 − 1)!
Este es un símil del problema del agente viajero o TSP, donde se requiere hacer un
trayecto donde no se debe pasar por un nodo más de una vez.
Cuando se aplica el método de fuerza bruta, se buscan todos los recorridos posibles, es
un método muy básico. Por su parte, el método del vecino mas cercano, que tiene un
calculo muy eficiente, donde se evalúa el nodo de partida y va seleccionando sus nodos
más cercanos
Figura 10. Red de nodos para llegar de 7 a 15. Fuente propia
En este método se exploran todas las rutas que pueda haber. A partir de la Figura 10 se
encuentran que hay las siguientes rutas:
• 7-8-9-10-14-17-18-15
• 7-8-9-10-14-13-15
• 7-8-9-10-14-15
• 7-8-9-6-4-11-12-13-15
• 7-8-9-6-4-11-12-13-15
• 7-8-9-6-4-11-12-14-15
• 7-8-9-6-4-11-12-13-14-15
• 7-8-9-6-4-11-12-13-14-15
• 7-1-2-3-4-11-12-13-15
• Entre otras
Para esto se debe dar algunos pesos para cada arco y así evaluar cual es el camino mas
cercano, con el fin de ahorrar tiempo y energía, que suele ser vital en dispositivos
móviles.
Operador de cruce
Gestal, M., Rivero, D., Rabuñal, J. R., Dorado, J., & Pazos, A. (2010). Introducción a los
Algoritmos Genéticos y la Programación Genética. Universidade da Coruña.