ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PyGad K-vecinos


Enviado por   •  8 de Diciembre de 2023  •  Documentos de Investigación  •  285 Palabras (2 Páginas)  •  67 Visitas

Página 1 de 2

import pygad

import numpy as np

class Punto:

    def __init__(self, x, y, z):

        self.x = x

        self.y = y

        self.z = z

def distancia(a, b):

    return np.sqrt((a.x - b.x)**2 + (a.y - b.y)**2 + (a.z - b.z)**2)

   

def fitness_func(ga_instance, solution, solution_idx):

    busqueda = Punto(2.0, 3.0, 4.0)

    puntos = [Punto(1, 5, 3), Punto(4, 5, 6), Punto(7, 8, 9)]

   

    fitness = 0

    for i in range(len(puntos)):

        punto = puntos[i]

        d = distancia(busqueda, punto)

        fitness += d

       

    return fitness

fitness_function = fitness_func

num_generations = 50

num_parents_mating = 10

gene_space = [[-4, 4] for _ in range(3)]

initial_population = np.random.uniform(low=-4, high=4, size=(20, 3))

ga_instance = pygad.GA(num_generations=num_generations,

                       num_parents_mating=num_parents_mating,

                       initial_population=initial_population,

                       fitness_func=fitness_function,

                       gene_space=gene_space)

ga_instance.run()

solucion, aptitud_solucion, indice_solucion = ga_instance.best_solution()

print("Parámetros de la mejor solución: {solucion}".format(solucion=solucion))

print("Valor de aptitud de la mejor solución: {aptitud_solucion}".format(aptitud_solucion=aptitud_solucion))

#Christopher Castaño 2-18-0436

...

Descargar como (para miembros actualizados)  txt (1.4 Kb)   pdf (22.9 Kb)   docx (6.9 Kb)  
Leer 1 página más »
Disponible sólo en Clubensayos.com