Example #1
0
    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'))
        ])
Example #2
0
    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')))
Example #4
0
 def default():
     return AlgorithmConfiguration.common_configuration(
         ClassicalStatisticsConfiguration.default(), AlgorithmVariant.gcs)