pip install deap
python - <<'EOF'
import random
from deap import creator, base, tools, algorithms

creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", list, fitness=creator.FitnessMax)

toolbox = base.Toolbox()
toolbox.register("attr_bool", random.randint, 0, 1)
toolbox.register("individual", tools.initRepeat, creator.Individual, toolbox.attr_bool, n=100)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)

def evalOneMax(individual):
    return sum(individual),

toolbox.register("evaluate", evalOneMax)
toolbox.register("mate", tools.cxTwoPoint)
toolbox.register("mutate", tools.mutFlipBit, indpb=0.05)
toolbox.register("select", tools.selTournament, tournsize=3)

stats = tools.Statistics(lambda ind: ind.fitness.values)
stats.register("avg", lambda x: round(sum(v[0] for v in x)/len(x), 2))
stats.register("max", lambda x: int(max(v[0] for v in x)))

population = toolbox.population(n=300)
hof = tools.HallOfFame(1)

population, log = algorithms.eaSimple(
    population, toolbox,
    cxpb=0.5, mutpb=0.2, ngen=40,
    stats=stats, halloffame=hof, verbose=True
)
print(f"\n最良個体の適応度: {sum(hof[0])}/100")
EOF
