Escolar Documentos
Profissional Documentos
Cultura Documentos
Actividad 2.3
Nombre del Alumno:
Materia:
Inteligencia computacional
Maestro:
Sheila Esmeralda González
Carrera:
Ingeniería Mecatrónica
Objetivo
Crear un algoritmo genético de una población en Python donde a partir de un
modelo establecido se realice la selección, cruza y mutación de estos individuos
para la obtención de una nueva población parecida al modelo ya establecido.
Resumen
En este reporte se parte primeramente describiendo lo que es el algoritmo
genético de una población, en que consiste una selección a partir de esta misma,
que es la muta y la cruza.
Al final del reporte se explican los resultados obtenidos del grupo de población
esperado y las características que este presentó de acuerdo al algoritmo
establecido.
2
Marco Teórico
Algoritmo genético
Para realizar un algoritmo genético de una población, primero que nada se tiene
que tener un modelo al cual se pretende idealizar mediante el algoritmo, se
realizara una selección de acuerdo a las características que más se acerquen al
modelo esperado, se hará una cruza de individuos como mínimo de 2 en
adelante, llegara un punto en el que quizá al hacer las cruzas se llegue a estancar
los resultados por lo que después se realizara una mutación, como resultado se
tendrá un grupo de individuos muy parecido al del modelo esperado.
Selección
Cruza
3
Existen gran cantidad de técnicas de cruce como Cruce básico, Cruce
multipunto, Cruce segmentado, Cruce uniforme y Cruces para permutación
Mutación
Se define mutación como una variación de las informaciones contenidas en el
código genético habitualmente, un cambio de un gen a otro producido por algún
factor exterior al algoritmo genético.
La siguiente imagen muestra el proceso que debe llevar a cabo un algoritmo
genético en un grupo de población.
5
Después se hizo la cruza de los individuos utilizando las operaciones de bits and
y or (multiplicación y suma).
6
Resultados
Al aquí se muestra una población con el modelo ideal al cual se desea llegar.
Conclusión
Con este reporte se comprendió lo que es, y como se puede implementar un
algoritmo genético, donde la finalidad era comprender el cruce de individuos
utilizando operadores de Python a nivel de bits con respecto a los padres e hijos
así como la comprensión entre cual se puede y debe mutarse entre ellos.
7
Bibliografía
Algoritmo genético
https://robologs.net/2015/09/01/como-programar-un-algoritmo-genetico-
parte-ii-implementacion-en-python/
http://algoritmogeneticouba.blogspot.mx/2012/11/cruce-y-
mutaciones.html
http://pyspanishdoc.sourceforge.net/lib/bitstring-ops.html
https://www.tutorialspoint.com/python/bitwise_operators_example.htm
Definición de conceptos
https://www.google.com.mx/search?q=algoritmo+genetico&source=lnms
&tbm=isch&sa=X&ved=0ahUKEwiJydLBmZTXAhUHh1QKHQnLAp8
Q_AUICigB&biw=1366&bih=637#imgrc=N_G_py0vjoAq-M:
8
Anexos
Aquí se muestra el código completo utilizado para el algoritmo genético a nivel
de bits.
9
10