-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathAlgoritmoGenetico.py
More file actions
39 lines (32 loc) 路 2.03 KB
/
Copy pathAlgoritmoGenetico.py
File metadata and controls
39 lines (32 loc) 路 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# importar librerias
import pygad # libreria para algoritmos geneticos
import numpy # libreria para operaciones matematicas
inputs = [0.4, 1, 0.7, 8] # arreglo de entradas para la red neuronal
desired_output = 32 # salida deseada para la red neuronal
# funcion de fitness con dos parametros de entrada
def fitness_func(solution, solution_idx):
# salida de la red neuronal en donde se multiplica la solucion por las entradas
output = numpy.sum(solution*inputs)
# calculo de la funcion de fitness con la salida de la red neuronal
fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001)
return fitness # retorno de la funcion de fitness
# configuracion del algoritmo genetico
ga_instance = pygad.GA(num_generations=100, # numero de generaciones
sol_per_pop=10, # numero de soluciones por poblacion
num_genes=len(inputs), # numero de genes por solucion
num_parents_mating=2, # numero de padres por generacion
fitness_func=fitness_func, # funcion de fitness
mutation_type="random", # tipo de mutacion
mutation_probability=0.6) # probabilidad de mutacion
ga_instance.run() # ejecucion del algoritmo genetico
ga_instance.plot_fitness() # grafica de la funcion de fitness
# 1. 驴Si ejecuto el c贸digo varias veces se obtiene la misma respuesta?
# No, debido a que el algoritmo genetico es un algoritmo probabilistico
# 2. 驴La funci贸n fitness_func() declarada sirve problemas generales o espec铆fico(s)?
# Sirve para problemas especificos, ya que la funcion de fitness se calcula con la salida de la red neuronal
#3. 驴Qu茅 representa en el c贸digo la variable fitness?
# Representa el valor de la funcion de fitness
# 4. 驴Qu茅 podemos observar en el gr谩fico generado por plot_fitness?
# Podemos observar la evolucion de la funcion de fitness en cada generacion
#5. 驴Aproximadamente en cuantas generaciones deja de mejorar el fitness?
# En la generacion 50