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): configuration = ClassicalStatisticsConfiguration.default() configuration.base_fitness = 5 configuration.classical_fitness_weight = 1 configuration.fertility_weight = 1 configuration.positive_weight = 1 configuration.negative_weight = 1 self.grammar_statistics = GrammarStatistics( configuration, self.randomizer, ClassicRuleStatistics(), ClassicFitness())
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.rule_statistics_mock = create_autospec(PasiekaRuleStatistics) self.empty_statistics_visitor = [] self.fitness = create_autospec(Fitness) self.randomizer_mock = create_autospec(Randomizer) self.sut = GrammarStatistics(ClassicalStatisticsConfiguration.default(), self.randomizer_mock, self.rule_statistics_mock, self.fitness) self.sut.statistics_visitors = [] self.rule = Rule(Symbol(hash('A')), Symbol(hash('B')), Symbol(hash('C')))
def default(): return AlgorithmConfiguration.common_configuration( ClassicalStatisticsConfiguration.default(), AlgorithmVariant.gcs)