Пример #1
0
def HGT_simulations_main__parallel():
    common_classes = CommonClassesCreator()

    length, epsilon, mutation_neighborhood, tolerance = common_classes.get_common_classes(
    )
    number_of_activations, population_factors, HGT_factors, mutation_factors = common_classes.get_simulation_variables(
    )

    number_of_generations_per_factor = list()
    parallel = Parallel(n_jobs=-1)

    for HGT_factor in HGT_factors:
        HGT_process = HGTProcess(HGT_factor, length)

        avg_number_of_generations = sum(
            parallel(
                delayed(compute_part)
                (length, epsilon, mutation_neighborhood, tolerance,
                 HGT_process, representation_class, number_of_activations /
                 4, get_number_of_generations_of_single_run)
                for _ in xrange(4))) / 4

        print "number_of_generations for " + str(
            HGT_factor) + " factor is: " + str(avg_number_of_generations)
        number_of_generations_per_factor.append(avg_number_of_generations)

    print "number_of_generations_per_factor: " + str(
        number_of_generations_per_factor)
def main():
    common_classes = CommonClassesCreator(False)

    length, epsilon, mutation_neighborhood, tolerance = common_classes.get_common_classes()

    concept_class = MonotoneConjunction(length)
    performance = common_classes.get_perf_without_precomp(concept_class)
    mutation_probability = common_classes.get_mutation_probability()

    mutator = Mutator(mutation_neighborhood, performance, tolerance, mutation_probability, epsilon)
    algorithm = ConjunctionEvolvabilityAlgorithm(mutator, length, epsilon, performance)

    hypo = algorithm.learn_ideal_function(epsilon)

    print "HYPO IS: " + str(hypo)
def recombination_main():
    common_classes = CommonClassesCreator()

    length, epsilon, mutation_neighborhood, tolerance = common_classes.get_common_classes()

    mutation_factor = 0.1

    concept_class = MonotoneConjunction(length)
    performance = common_classes.get_perf_without_precomp(concept_class)

    recomb_process = RecombinationProcess()
    neighborhood = NeighborhoodWithOtherRepresentations(length, mutation_neighborhood,
                                                        mutation_factor, recomb_process)
    recombinator = Recombinator(neighborhood, performance, tolerance, epsilon)
    recombination = RecombinationConjunctionAlgorithm(recombinator, length, epsilon, concept_class)

    recombination.learn_ideal_function(concept_class)
def recombination_main():
    common_classes = CommonClassesCreator()

    length, epsilon, mutation_neighborhood, tolerance = common_classes.get_common_classes(
    )

    mutation_factor = 0.1

    concept_class = MonotoneConjunction(length)
    performance = common_classes.get_perf_without_precomp(concept_class)

    recomb_process = RecombinationProcess()
    neighborhood = NeighborhoodWithOtherRepresentations(
        length, mutation_neighborhood, mutation_factor, recomb_process)
    recombinator = Recombinator(neighborhood, performance, tolerance, epsilon)
    recombination = RecombinationConjunctionAlgorithm(recombinator, length,
                                                      epsilon, concept_class)

    recombination.learn_ideal_function(concept_class)
def HGT_main():
    common_classes = CommonClassesCreator()

    length, epsilon, mutation_neighborhood, tolerance = common_classes.get_common_classes()
    mutation_factor = 0.1
    HGT_factor = 1

    concept_class = MonotoneConjunction(length)
    performance = common_classes.get_perf_without_precomp(concept_class)

    HGT_process = HGTProcess(HGT_factor, length)
    neighborhood = NeighborhoodWithOtherRepresentations(length, mutation_neighborhood,
                                                        mutation_factor, HGT_process)
    HGT_mutator = HGT_Mutator(neighborhood, performance, tolerance, epsilon, HGT_process)
    mutation = HGTConjunctionAlgorithm(HGT_mutator, length, epsilon, performance)

    final_population = mutation.learn_ideal_function(concept_class)

    if len(final_population) <= 30:
        print final_population
Пример #6
0
def HGT_simulations_main__parallel():
    common_classes = CommonClassesCreator()

    length, epsilon, mutation_neighborhood, tolerance = common_classes.get_common_classes()
    number_of_activations, population_factors, HGT_factors, mutation_factors = common_classes.get_simulation_variables()

    number_of_generations_per_factor = list()
    parallel = Parallel(n_jobs=-1)

    for HGT_factor in HGT_factors:
        HGT_process = HGTProcess(HGT_factor, length)

        avg_number_of_generations = sum(parallel(delayed(compute_part)(length, epsilon, mutation_neighborhood,
                                                                       tolerance, HGT_process, representation_class,
                                                                       number_of_activations / 4,
                                                                       get_number_of_generations_of_single_run)
                                                 for _ in xrange(4))) / 4

        print "number_of_generations for " + str(HGT_factor) + " factor is: " + str(avg_number_of_generations)
        number_of_generations_per_factor.append(avg_number_of_generations)

    print "number_of_generations_per_factor: " + str(number_of_generations_per_factor)
def HGT_main():
    common_classes = CommonClassesCreator()

    length, epsilon, mutation_neighborhood, tolerance = common_classes.get_common_classes(
    )
    mutation_factor = 0.1
    HGT_factor = 1

    concept_class = MonotoneConjunction(length)
    performance = common_classes.get_perf_without_precomp(concept_class)

    HGT_process = HGTProcess(HGT_factor, length)
    neighborhood = NeighborhoodWithOtherRepresentations(
        length, mutation_neighborhood, mutation_factor, HGT_process)
    HGT_mutator = HGT_Mutator(neighborhood, performance, tolerance, epsilon,
                              HGT_process)
    mutation = HGTConjunctionAlgorithm(HGT_mutator, length, epsilon,
                                       performance)

    final_population = mutation.learn_ideal_function(concept_class)

    if len(final_population) <= 30:
        print final_population