def learn_single_time__HGT(common_classes): neighborhood, performance_oracle, natural_process = get_params_for_mutator(common_classes) length, epsilon, mutation_neighborhood, tolerance = common_classes.get_common_classes() population_size, population_factor = common_classes.get_population_size_and_factor() HGT_mutator = HGT_Mutator(neighborhood, performance_oracle, tolerance, epsilon, natural_process) algorithm = ConstantPopulationMutationConjunctionAlgorithm(HGT_mutator, length, epsilon, performance_oracle, population_size, population_factor) return algorithm.learn_ideal_function_until_match()
def learn_DNF__HGT(): dnf = DNF() length = 58 epsilon = 2 ** -53 tau = (epsilon / length) ** 3 * log(1 / epsilon) tolerance = ConjunctionTolerance(length, epsilon) conjunction_performance_oracle = OneSidedPerformanceOracleWithTolerance(dnf, tau) performance_oracle = DNFOneSidePerformanceOracleWithTolerance(dnf, tau, epsilon, conjunction_performance_oracle) mutation_neighborhood = MonotoneConjunctionNeighborhood() natural_process = HGTProcess(0.35, length) neighborhood = NeighborhoodWithOtherRepresentations(length, mutation_neighborhood, 0.1, natural_process) HGT_mutator = HGT_Mutator(neighborhood, performance_oracle, tolerance, epsilon, natural_process) algorithm = ConstantPopulationMutationConjunctionAlgorithm(HGT_mutator, length, epsilon, performance_oracle, 75) print algorithm.learn_ideal_function_until_match()
def learn_DNF__HGT(): dnf = DNF() length = 58 epsilon = (2**-53) tau = (epsilon / length)**3 * log(1/epsilon) tolerance = ConjunctionTolerance(length, epsilon) conjunction_performance_oracle = OneSidedPerformanceOracleWithTolerance(dnf, tau) performance_oracle = DNFOneSidePerformanceOracleWithTolerance(dnf, tau, epsilon, conjunction_performance_oracle) mutation_neighborhood = MonotoneConjunctionNeighborhood() natural_process = HGTProcess(0.35, length) neighborhood = NeighborhoodWithOtherRepresentations(length, mutation_neighborhood, 0.1, natural_process) HGT_mutator = HGT_Mutator(neighborhood, performance_oracle, tolerance, epsilon, natural_process) algorithm = ConstantPopulationMutationConjunctionAlgorithm(HGT_mutator, length, epsilon, performance_oracle, 75) print algorithm.learn_ideal_function_until_match()