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

    number_of_activations, population_factors, \
    HGT_factors, mutation_factors = common_classes.get_simulation_variables()
    HGT_factor = 0.2

    number_of_generations_per_factor = list()

    for population_factor in population_factors:
        generation_number = 0
        common_classes.create_next_HGT_process(HGT_factor)

        for _ in xrange(number_of_activations):
            generation_number += get_number_of_generations_of_single_run(
                common_classes, population_factor)

        avg_number_of_generations = float(
            generation_number) / number_of_activations

        print "number_of_generations for " + str(
            population_factor) + " population 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)
Пример #2
0
def HGT_simulations_main__performance_rate():
    common_classes = CommonClassesCreator()
    number_of_activations, population_factors, \
    HGT_factors, mutation_factors = common_classes.get_simulation_variables()
    HGT_factor = 0.5

    avg_performance_rate = list()
    for i in xrange(1000):
        avg_performance_rate.append((0, [0] * i))

    common_classes.create_next_HGT_process(HGT_factor)

    for _ in xrange(number_of_activations):
        current_performance_rate = get_performance_rate_of_single_run(
            common_classes)

        performance_rate_with_same_generation = avg_performance_rate[len(
            current_performance_rate)]
        avg_performance_rate[len(current_performance_rate)] = (
            performance_rate_with_same_generation[0] + 1, [
                a + b for a, b in zip(performance_rate_with_same_generation[1],
                                      current_performance_rate)
            ])

    for i in xrange(len(avg_performance_rate)):
        if avg_performance_rate[i][0] is not 0:
            average_rate_for_generation_i = [
                avg_rate / avg_performance_rate[i][0]
                for avg_rate in avg_performance_rate[i][1]
            ]
            print "performance rate for " + str(i) + " generation is: " + str(
                average_rate_for_generation_i)
Пример #3
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)
Пример #6
0
def HGT_simulations_main__HGT_factor():
    common_classes = CommonClassesCreator()
    number_of_activations, population_factors, \
    HGT_factors, mutation_factors = common_classes.get_simulation_variables()
    number_of_generations_per_factor = list()

    for HGT_factor in HGT_factors:
        generation_number = 0
        common_classes.create_next_HGT_process(HGT_factor)

        for _ in xrange(number_of_activations):
            generation_number += get_number_of_generations_of_single_run(common_classes)

        avg_number_of_generations = float(generation_number) / number_of_activations

        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 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
Пример #9
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 run_models_without_precomp():
    pr = cProfile.Profile()

    pr.enable()

    common_classes = CommonClassesCreator(False)
    compare_with_HGT_factors(common_classes)
    compare_with_mutation_factors(common_classes)
    compare_with_population_factors(common_classes)

    pr.disable()

    pstats.Stats(pr).sort_stats("time").print_stats()
Пример #11
0
def HGT_simulations_main__performance_rate():
    common_classes = CommonClassesCreator()
    number_of_activations, population_factors, \
    HGT_factors, mutation_factors = common_classes.get_simulation_variables()
    HGT_factor = 0.5

    avg_performance_rate = list()
    for i in xrange(1000):
        avg_performance_rate.append((0, [0]*i))

    common_classes.create_next_HGT_process(HGT_factor)

    for _ in xrange(number_of_activations):
        current_performance_rate = get_performance_rate_of_single_run(common_classes)

        performance_rate_with_same_generation = avg_performance_rate[len(current_performance_rate)]
        avg_performance_rate[len(current_performance_rate)] = (performance_rate_with_same_generation[0]+1,
                                                               [a+b for a, b in zip(performance_rate_with_same_generation[1],current_performance_rate)])

    for i in xrange(len(avg_performance_rate)):
        if avg_performance_rate[i][0] is not 0:
            average_rate_for_generation_i = [avg_rate / avg_performance_rate[i][0] for avg_rate in avg_performance_rate[i][1]]
            print "performance rate for " + str(i) + " generation is: " + str(average_rate_for_generation_i)
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