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 learn_DNF__recombination(): 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() recomb_rate = 0.35 natural_process = RecombinationProcess(recomb_rate) neighborhood = NeighborhoodWithOtherRepresentations(length, mutation_neighborhood, 0.1, natural_process) recombinator = Recombinator(neighborhood, performance_oracle, tolerance, epsilon) algorithm = ConstantPopulationMutationConjunctionAlgorithm(recombinator, length, epsilon, performance_oracle, 75) print algorithm.learn_ideal_function_until_match()
def setUp(self): self.process = RecombinationProcess()
def create_recombination_process(self): self.natural_process = RecombinationProcess()