コード例 #1
0
def test_default():
    # Create the Genetic algorithm
    ga = GA()

    # Evolve the genetic algorithm
    ga.evolve()

    # Print your default genetic algorithm
    ga.print_generation()
    ga.print_population()
コード例 #2
0
def test_while_ga_active():
    # Create the Genetic algorithm
    ga = GA()

    # Set necessary attributes
    ga.generation_goal = 1

    # Evolve using ga.active
    while ga.active():
        ga.evolve(5)
コード例 #3
0
def test_termination_impl():
    # Create the Genetic algorithm
    ga = GA()

    # Set the termination_impl
    ga.termination_impl = Termination.fitness_and_generation_based

    # Evolve the genetic algorithm
    ga.evolve()

    assert (ga.termination_impl == Termination.fitness_and_generation_based) and (ga != None)
コード例 #4
0
def test_survivor_selection_impl():
    # Create the Genetic algorithm
    ga = GA()

    # Set the survivor_selection_impl
    ga.survivor_selection_impl = Survivor.fill_in_random

    # Evolve the genetic algorithm
    ga.evolve()

    assert (ga.survivor_selection_impl == Survivor.fill_in_random) and (ga != None)
コード例 #5
0
def test_mutation_individual_impl():
    # Create the Genetic algorithm
    ga = GA()

    # Set the mutation_population_impl
    ga.mutation_individual_impl = Mutation.Individual.single_gene

    # Evolve the genetic algorithm
    ga.evolve()

    assert (ga.mutation_individual_impl == Mutation.Individual.single_gene) and (ga != None)
コード例 #6
0
def test_mutation_population_impl():
    # Create the Genetic algorithm
    ga = GA()

    # Set the mutation_population_impl
    ga.mutation_population_impl = Mutation.Population.random_selection

    # Evolve the genetic algorithm
    ga.evolve()

    assert (ga.mutation_population_impl == Mutation.Population.random_selection) and (ga != None)
コード例 #7
0
def test_crossover_individual_impl():
    # Create the Genetic algorithm
    ga = GA()

    # Set the crossover_individual_impl
    ga.crossover_individual_impl = Crossover.Individual.single_point

    # Evolve the genetic algorithm
    ga.evolve()

    assert (ga.crossover_individual_impl == Crossover.Individual.single_point) and (ga != None)
コード例 #8
0
def test_crossover_population_impl():
    # Create the Genetic algorithm
    ga = GA()

    # Set the crossover_population_impl
    ga.crossover_population_impl = Cossover.Population.sequential_selection

    # Evolve the genetic algorithm
    ga.evolve()

    assert (ga.crossover_population_impl == Crossover.Population.sequential_selection) and (ga != None)
コード例 #9
0
def test_parent_selection_impl():
    # Create the Genetic algorithm
    ga = GA()

    # Set the parent_selection_impl
    ga.parent_selection_impl = Parent.Fitness.roulette

    # Evolve the genetic algorithm
    ga.evolve()

    assert (ga.parent_selection_impl == Parent.Fitness.roulette) and (ga != None)
コード例 #10
0
def test_attributes_gene_impl():
    # Create the Genetic algorithm
    ga = GA()

    # Set necessary attributes
    ga.population_size = 3
    ga.chromosome_length = 5
    ga.generation_goal =  1
    # Set gene_impl
    ga.gene_impl = lambda: random.randint(1, 10)

    # Evolve the genetic algorithm
    ga.evolve()
コード例 #11
0
def test_population_size():
    """Test the population size is create correctly"""

    for i in range(4,100):
        # Create the ga to test
        ga = GA()

        ga.generation_goal = 10
        # Set the upper limit of testing
        ga.population_size = i
        # Evolve the ga
        ga.evolve()

        # If they are not equal throw an error
        assert int(len(ga.population)) == ga.population_size
コード例 #12
0
def test_chromosome_length():
    """ Test to see if the actual chromosome length is the same as defined."""

    # Test from 0 to 100 chromosome length
    for i in range(1,100):
        # Create the ga to test
        ga = GA()

        ga.generation_goal = 10
        # Set the upper limit of testing
        ga.chromosome_length = i
        # Evolve the ga
        ga.evolve()

        # If they are not equal throw an error
        assert len(ga.population.chromosome_list[0]) == ga.chromosome_length
コード例 #13
0
def test_attributes_chromosome_impl_lambdas():
    # Create the Genetic algorithm
    ga = GA()

    # Set necessary attributes
    ga.chromosome_length = 3
    ga.generation_goal = 1
    # Set gene_impl to None so it won't interfere
    ga.gene_impl = None
    # Set chromosome_impl
    ga.chromosome_impl = lambda: [
        random.randrange(1,100),
        random.uniform(10,5),
        random.choice(["up","down"])
        ]

    # Evolve the genetic algorithm
    ga.evolve()
コード例 #14
0
def test_attributes_chromosome_impl_functions():
    # Create the Genetic algorithm
    ga = GA()

    # Set necessary attributes
    ga.chromosome_length = 3
    ga.generation_goal = 1

    # Create chromosome_impl user function
    def user_chromosome_function():
        chromosome_data = [
            random.randrange(1,100),
            random.uniform(10,5),
            random.choice(["up","down"])
            ]
        return chromosome_data

    # Set the chromosome_impl
    ga.chromosome_impl = user_chromosome_function

    # Evolve the genetic algorithm
    ga.evolve()
コード例 #15
0
ファイル: views.py プロジェクト: danielwilczak101/EasyAI
def easyga(request):
    ga = GA()
    a = 1  #this number determines how many evolutions there are, will be changed later using form
    ga.evolve(a)
    context = {'population': ga.population, 'best': ga.population[0]}
    return render(request, 'news/easyga.html', context)