Práctica 4a

Anuncio
Práctica 4a
Algoritmos Genéticos
En esta práctica vamos a ver cómo abordan las búsquedas los llamados algoritmos
genéticos. Veremos diversos applets que muestran el funcionamiento de los estos
algoritmos de una manera visual, sencilla y amena
1 Applet que calcula el máximo de una función
Este applet es accesible desde:
http://www.aic.uniovi.es/ssii/Tutorial/Ejemplo_maximo.htm
Figura 1.- Applet que calcula el máximo de una función
En la figura vemos, en la parte inferior, la función para la cual estamos buscando el
máximo (representada en azul). Las líneas verticales representan los 16 individuos de la
población actual. La representación gráfica de estos individuos puede verse en la parte
superior izquierda. Se utiliza la representación binaria, quedando señalados los unos en
azul y los ceros en amarillo. Los individuos están ordenados de mejor a peor fitness. Si
pulsamos sobre Empezar o Paso a Paso vamos viendo la siguiente secuencia de
acciones:
• En primer lugar aplica elitismo a los dos mejores individuos de la población
• A continuación se seleccionan dos individuos de la población mediante la regla
de la ruleta, éstos son los denominados padres.
• Se establece el punto en el que van a ser cruzados o en el caso de que no se
supere la probabilidad de cruce se dirá que no se cruzan y entonces sus hijos
serán iguales a ellos
• El último paso es la mutación de los nuevos individuos creados, se utiliza una
mutación de inversión, es decir, se seleccionan un gen del individuo y invierte su
valor, si valía 0 pasa a valer 1 y viceversa. Si no se supera la probabilidad de
mutación no se produce ninguna inversión.
Trabajo: ejecutarlo paso a paso para ver y comprender el funcionamiento de los
genéticos.
2 Applet para el viajante de comercio
Este applet es accesible desde:
http://www.aic.uniovi.es/ssii/Tutorial/TSP.htm
Figura 2.- Applet para el problema del viajante de comercio
El problema del viajante de comercio consiste en localizar la mejor ruta que pase por
todas las ciudades una única vez.
En la figura podemos observar 16 individuos (rutas) de la población. Debajo de cada
individuo figura su fitness (distancia recorrida). Pulsando sobre el botón Cambiar Vista
veremos únicamente el mejor individuo ampliado o una gráfica que representa la
evolución del fitness. Podemos cambiar el porcentaje de mutación o de cruce, así como
la manera de aplicar ambos operadores.
Este applet permite añadir nuevas ciudades o eliminar alguna existente.
Trabajo: borrar el grafo que aparece y crear uno nuevo con un número considerable de
ciudades (por ejemplo 30). Ejecutar el algoritmo hasta que se estabilice el fitness del
mejor. Cambiar parámetros del genético y ver si mejora. Pulsar el botón Reiniciar para
iniciar el algoritmo con otros individuos iniciales aleatorios y ver si mejora. Elimina una
ciudad que creas que entorpece una mejor solución y observa si se alcanza sin ella.
3 Applet para el coloreamiento de un grafo
Puede descargarse de:
http://www.aic.uniovi.es/ssii/P4a/Coloreamiento.zip
Figura 3.- Applet para el coloreamiento de un grafo
El problema del coloreamiento consiste en que dado un grafo (no dirigido) se ha de
encontrar el coloreamiento mínimo. Es decir se han de utilizar el menor número de
colores cumpliéndose la restricción siguiente: dos nodos adyacentes (unidos por un
arco) no pueden tener el mismo color.
En la figura podemos ver que este applet es parecido al anterior. Los parámetros del
genético son ajustables en la ventana Botones de parámetros para el genético (ventana
superior derecha de la figura 3) y su significado es el siguiente:
• Tamaño de la Población: Número de individuos que se crean en cada
generación.
• Porcentaje de Cruce: Establece la frecuencia. con la que el operador de cruce
será utilizado para la reproducción. El Porcentaje de Mutación será el inverso de
este porcentaje.
• Número de Generaciones: Establece el número de poblaciones a crear
• Porcentaje de Selección: Establece cuántos individuos se van a elegir para
reproducir
Podemos también crear nuevos grafos utilizando la ventana Botones de dibujo, elección
problema y gráfica (ventana superior izquierda de la figura 3).
[Nota]: La opción de cargar un problema predefinido no está disponible
Trabajo: Ejecutar el applet con diversos grafos. Aumentar la complejidad de los grafos
y observar las soluciones aportadas por el genético. Cambiar los parámetros del
genético y analizar las soluciones.
4 Applet para buscar el máximo o el mínimo de una
función
Este applet es accesible desde:
http://www.obitko.com/tutorials/genetic-algorithms/example-3d-function.php
El applet (figura 4) nos permite indicar la función para la cual queremos obtener el
máximo o el mínimo.
Su funcionamiento es muy sencillo:
1. Indicar la función dependiente de dos variables (x,y) en el edit correspondiente.
Pulsando sobre el botón Change representa la función introducida.
2. Modificar el rango de los ejes si se considera oportuno
3. Comenzar la ejecución del genético (botones Start o Step)
Este applet nos permite también modificar parámetros del genético como el porcentaje
de cruce y de mutación.
Podemos también decidir si que queremos que el algoritmo sea elitista o no, así como el
tipo de objetivo a buscar: máximo o mínimo.
Se puede rotar el gráfico pulsando con el ratón sobre el mismo y desplazándolo.
Trabajo: Indicar diferentes funciones y ejecutar el genético. Ver como los diferentes
parámetros afectan a la convergencia de la solución.
Figura 4.- Applet que calcula máximos o mínimos
Descargar