Пример #1
0
    def test_delete_a_classifier_decrease_numerosity(self, cfg):
        # given
        cl_1 = Classifier(action=1, cfg=cfg)
        cl_2 = Classifier(action=2, numerosity=3, cfg=cfg)
        cl_3 = Classifier(action=3, cfg=cfg)
        cl_4 = Classifier(action=4, cfg=cfg)
        action_set = ClassifiersList(*[cl_1, cl_2], cfg=cfg)
        match_set = ClassifiersList(*[cl_2], cfg=cfg)
        population = ClassifiersList(*[cl_1, cl_2, cl_3, cl_4], cfg=cfg)

        # when
        action_set.delete_a_classifier(match_set,
                                       population,
                                       randomfunc=RandomMock(
                                           [0.5, 0.1, 0.5, 0.5]))

        expected_action_set = ClassifiersList(
            *[cl_1, Classifier(action=2, numerosity=2, cfg=cfg)], cfg=cfg)
        expected_match_set = ClassifiersList(
            *[Classifier(action=2, numerosity=2, cfg=cfg)], cfg=cfg)
        expected_population = ClassifiersList(
            *[cl_1,
              Classifier(action=2, numerosity=2, cfg=cfg), cl_3, cl_4],
            cfg=cfg)

        # then
        assert expected_action_set == action_set
        assert expected_match_set == match_set
        assert expected_population == population
Пример #2
0
    def test_delete_a_classifier_delete(self, cfg):
        # given
        cl_1 = Classifier(action=1, cfg=cfg)
        cl_2 = Classifier(action=2, cfg=cfg)
        cl_3 = Classifier(action=3, cfg=cfg)
        cl_4 = Classifier(action=4, cfg=cfg)
        action_set = ClassifiersList(*[cl_1, cl_2], cfg=cfg)
        match_set = ClassifiersList(*[cl_2], cfg=cfg)
        population = ClassifiersList(*[cl_1, cl_2, cl_3, cl_4], cfg=cfg)

        # when
        action_set.delete_a_classifier(match_set,
                                       population,
                                       randomfunc=RandomMock(
                                           [0.5, 0.1, 0.5, 0.5]))

        # then
        assert ClassifiersList(*[cl_1], cfg=cfg) == action_set
        assert ClassifiersList(cfg=cfg) == match_set
        assert ClassifiersList(*[cl_1, cl_3, cl_4], cfg=cfg) == population