Documentos de Académico
Documentos de Profesional
Documentos de Cultura
def mutar_individuo(individuo):
pos = random.randint(0, len(objetos) - 1)
individuo[pos] = 1 - individuo[pos]
La función evolucionar_población evoluciona la población durante una generación mediante selección, cruza y mutación.
def resolver_mochila():
poblacion = crear_poblacion_inicial()
for i in range(num_generaciones):
poblacion = evolucionar_poblacion(poblacion)
mejor_individuo = max(poblacion, key=calcular_aptitud)
peso_total = sum([objetos[i][1] * mejor_individuo[i] for i in range(len(objetos))])
valor_total = sum([objetos[i][2] * mejor_individuo[i] for i in range(len(objetos))])