Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a los algoritmos genéticos en Python (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

Script: Nqueens.py
Vamos ir viendo cada uno de los componentes del script.

13
Definir el problema y el individuo: básicamente tenemos que indicar dos cosas, primero si es un problema de maximización o minimización de la función objetivo. Segundo, si es un problema con un objetivo (single objective) o con varios objetivos (multi-objective). Definimos el tipo del individuo ? representación

creator.create (“alias”, < clase_hereda>, atributos)
54)? Creamos una clase que se llama FitnessMin y que hereda de la clase base.Fitness y que tiene
una tupla weights como atributos. ? DEFINICIÓN DEL TIPO DE PROBLEMA
55)? Creamos una clase que se llama Individual que hereda de una lista y que tiene un atributo
que es fitness (justo la clase que hemos creado anteriormente).? DEFINICIÓN DEL INDIVIDUO

Monografias.com

Representación del Individuo
Resolución con algoritmo genético
Individuo: Una lista de posiciones de las damas en el tablero. Sólo guardamos la
fila en la que está la reina, la columna coincide con el índice de la lista. Por lo que sólo hay una reina por columna (Simplificación).

(Gp:) 0
(Gp:) NQUEENS-1
(Gp:) F1
(Gp:) F2
(Gp:) FN-1

Una representación correcta puede ayudar a resolver el problema. No siempre tiene que ser
una lista!.

Monografias.com

Definición del problema

Base.fitness
15

Monografias.com

Registro de funciones
Toolbox: “Caja de herramientas” donde registramos todas las funciones que
nos hacen falta para implementar el algoritmo genético.

Monografias.com

Toolbox

toolbox = base.Toolbox()

17

Monografias.com

Las herramientas Tools
El módulo Tools tiene una gran cantidad de funciones que nos van a hacer falta para
diseñar el algoritmo genético, tales como operaciones de croossover, mutaciones, selección, etc.

Estas funciones las vamos a utilizar para registrar funciones más complejas.

18

Monografias.com

Algoritmos genéticos – Ejemplo
Resolución con algoritmo genético
Selección: mediante torneo.
Ojo! A medida que avanzamos en las generaciones los individuos y sus fitness se parecen!

Monografias.com

Algoritmos genéticos – Ejemplo
Resolución con algoritmo genético
Crossover: PartiallyMatched ? Combinamos la información genética de dos individuos (“padres”) para crear dos individuos (“hijos”).

Monografias.com

Algoritmos genéticos – Ejemplo
Resolución con algoritmo genético
Mutación: Barajamos (shuffle) el contenido de la lista.
(Gp:) 0
(Gp:) NQUEENS-1
(Gp:) F1
(Gp:) F2
(Gp:) FN-1

Monografias.com

Algoritmos genéticos – Ejemplo
Función de fitness
Calculamos el número de reinas en cada diagional
?Tenemos dos tipos de diagonales (diagonal_izquierda_derecha, diagonal_derecha_izquierda).
diagonal_izquierda_derecha = fila + columna

Monografias.com

Algoritmos genéticos – Ejemplo
Función de fitness
Calculamos el número de reinas en cada diagional
?Tenemos dos tipos de diagonales (diagonal_izquierda_derecha, diagonal_derecha_izquierda).
diagonal_derecha_izquierda = size-1-columna+fila

Monografias.com

Algoritmos genéticos – Ejemplo
Función de fitness

Monografias.com

Algoritmos genéticos – Ejemplo
Algoritmo genético

Monografias.com

Algoritmos genéticos – Ejemplo
Algoritmo genético

Monografias.com

Algoritmos genéticos – Ejemplo
Solución

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter