Beispiel #1
0
    ).with_fitness_value(1),
)
population2 = (
    stk.MoleculeRecord(
        topology_graph=get_topology_graph(7),
    ).with_fitness_value(100),
    stk.MoleculeRecord(
        topology_graph=get_topology_graph(8),
    ).with_fitness_value(1),
)


@pytest.fixture(
    params=(
        CaseData(
            selector=stk.AboveAverage(),
            population=population1,
            selected=(
                stk.Batch(
                    records=(population1[0], ),
                    fitness_values={population1[0]: 10},
                    key_maker=stk.Inchi(),
                ),
                stk.Batch(
                    records=(population1[0], ),
                    fitness_values={population1[0]: 10},
                    key_maker=stk.Inchi(),
                ),
                stk.Batch(
                    records=(population1[1], ),
                    fitness_values={population1[1]: 9},
Beispiel #2
0
# Create the initial population.
population_size = 25
population = stk.EAPopulation.init_random(
    building_blocks=[amines, aldehydes],
    topology_graphs=[stk.cage.FourPlusSix()],
    size=population_size,
    random_seed=random_seed,
    use_cache=True,
)

# #####################################################################
# Selector for selecting the next generation.
# #####################################################################

generation_selector = stk.Sequence(
    stk.AboveAverage(duplicate_mols=False),
    stk.RemoveMolecules(
        remover=stk.AboveAverage(duplicate_mols=False),
        selector=stk.Roulette(
            duplicate_mols=False,
            random_seed=random_seed,
        ),
    ),
    num_batches=population_size,
)

# #####################################################################
# Selector for selecting parents.
# #####################################################################

crossover_selector = stk.StochasticUniversalSampling(
Beispiel #3
0
                                          size=25,
                                          use_cache=True)

# #####################################################################
# Selector for selecting the next generation.
# #####################################################################

generation_selector = stk.SelectorSequence(
    stk.Fittest(num_batches=3, duplicates=False),
    stk.Roulette(num_batches=22, duplicates=False))

# #####################################################################
# Selector for selecting parents.
# #####################################################################

crossover_selector = stk.AboveAverage(num_batches=5, batch_size=2)

# #####################################################################
# Selector for selecting molecules for mutation.
# #####################################################################

mutation_selector = stk.SelectorFunnel(
    stk.AboveAverage(num_batches=10, duplicates=False),
    stk.Roulette(num_batches=5))

# #####################################################################
# Crosser.
# #####################################################################

crosser = stk.Jumble(num_offspring_building_blocks=3)