def setUp(self): super().setUp() self.statistics_configuration = ClassicalStatisticsConfiguration.default() self.service_creator = CykService self.statistics = GrammarStatistics.default(self.randomizer, self.statistics_configuration) self.empty_rule_population = self.create_rules([]) self.example_rule_population = self.create_rules([ Rule(Symbol('S'), Symbol('A'), Symbol('B')), Rule(Symbol('S'), Symbol('A'), Symbol('C')), Rule(Symbol('C'), Symbol('S'), Symbol('B')), Rule(Symbol('B'), Symbol('B'), Symbol('B')) ]) self.random_rules = self.create_rules([ Rule(Symbol('S'), Symbol('NP'), Symbol('VP')), Rule(Symbol('VP'), Symbol('VP'), Symbol('PP')), Rule(Symbol('VP'), Symbol('V'), Symbol('NP')), Rule(Symbol('PP'), Symbol('P'), Symbol('NP')), Rule(Symbol('NP'), Symbol('Det'), Symbol('N')), Rule(Symbol('S'), Symbol('A'), Symbol('B')), Rule(Symbol('S'), Symbol('A'), Symbol('C')), Rule(Symbol('C'), Symbol('S'), Symbol('B')), Rule(Symbol('B'), Symbol('B'), Symbol('B')) ])
def create_grammar_statistics(self, randomizer, statistics_configuration): if not statistics_configuration.negative_sentence_learning: return GrammarStatistics.sgcs_variant(randomizer, statistics_configuration) else: return GrammarStatistics.default(randomizer, statistics_configuration)