def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.randomizer = Randomizer(Random()) selector_configuration = [ EvolutionRandomSelectorConfiguration.create(), EvolutionRouletteSelectorConfiguration.create() ] self.configuration = EvolutionConfiguration.create( selector_configuration, inversion_chance=0, mutation_chance=0, crossover_chance=0) self.create_rule_population() self.create_grammar_statistics() self.create_rule_adding() self.sut = EvolutionService(self.randomizer) self.rules = [ Rule(Symbol('S'), Symbol('NP'), Symbol('VP')), Rule(Symbol('VP'), Symbol('VP'), Symbol('PP')), Rule(Symbol('VP'), Symbol('V'), Symbol('NP')), TerminalRule(Symbol('VP'), Symbol('eats')), Rule(Symbol('PP'), Symbol('P'), Symbol('NP')), Rule(Symbol('NP'), Symbol('Det'), Symbol('N')), TerminalRule(Symbol('NP'), Symbol('she')), TerminalRule(Symbol('V'), Symbol('eats')), TerminalRule(Symbol('P'), Symbol('with')), TerminalRule(Symbol('N'), Symbol('fish')), TerminalRule(Symbol('N'), Symbol('fork')), TerminalRule(Symbol('Det'), Symbol('a')) ]
def common_configuration(statistics_configuration, algorithm_variant): ga_selectors_configuration = [] evolution_configuration = EvolutionConfiguration.create( selectors=ga_selectors_configuration, inversion_chance=0, mutation_chance=0, crossover_chance=0 ) induction_configuration = CykConfiguration.create( should_correct_grammar=False, terminal_chance=0, universal_chance=0, aggressive_chance=0, starting_chance=0, full_chance=0 ) rule_configuration = RuleConfiguration.create( crowding_factor=0, crowding_size=0, elitism_size=0, starting_symbol=1, universal_symbol=None, max_non_terminal_symbols=32, random_starting_population_size=20, max_non_terminal_rules=40 ) configuration = AlgorithmConfiguration.create( induction_configuration, evolution_configuration, rule_configuration, max_algorithm_steps=1, should_run_evolution=True, max_execution_time=900, satisfying_fitness=1, statistics=statistics_configuration, max_algorithm_runs=50, algorithm_variant=algorithm_variant ) return configuration