コード例 #1
0
 def test_reaction(self):
     #TODO: give specific net and specific values
     an = AdaptiveNetwork(self.sample)
     for _ in xrange(self.N):
         pack = [random.randint(0, 10) for _ in range(4)]
         out = np.array([w * ru.value_for(pack)
                         for ru, w in self.sample]).sum()
         self.assertEqual(an.reaction(pack), out)
コード例 #2
0
 def test_reaction(self):
     #TODO: give specific net and specific values
     an = AdaptiveNetwork(self.sample)
     for _ in xrange(self.N):
         pack = S([random.randint(0, 10) for _ in range(4)])
         out = np.array([w * ru.value_for(pack) for ru, w in
             self.sample]).sum()
         self.assertEqual(an.reaction(pack), out)
コード例 #3
0
    def setUp(self):
        self.N = 100

        self.sample = [(ReactiveUnit([1, 2, 3, 4]), 0.5),
                       (ReactiveUnit([1, 1, 1, 1]), 0.8),
                       (ReactiveUnit([2, 2, 2, 2]), 0.2),
                       (ReactiveUnit([3, 3, 3, 3]), 1)]
        self.an = AdaptiveNetwork(self.sample)
コード例 #4
0
    def test_forgetting(self):  # TODO set proper values
        an = AdaptiveNetwork(self.sample)
        an.forgetting()

        for ru, w in an.units:
            for ruw,  ww in self.sample:
                if ruw == ru:
                    self.assertTrue(w < ww or ww == 0)
コード例 #5
0
    def test_forgetting(self):  # TODO set proper values
        an = AdaptiveNetwork(self.sample)
        an.forgetting()

        for ru, w in an.units:
            for ruw, ww in self.sample:
                if ruw == ru:
                    self.assertTrue(w < ww or ww == 0)
コード例 #6
0
    def setUp(self):
        self.N = 100

        self.sample = [
            (ReactiveUnit(S([1, 2, 3, 4])), 0.5),
            (ReactiveUnit(S([1, 1, 1, 1])), 0.8),
            (ReactiveUnit(S([2, 2, 2, 2])), 0.2),
            (ReactiveUnit(S([3, 3, 3, 3])), 1)
        ]
        self.an = AdaptiveNetwork(self.sample)
コード例 #7
0
    def test_incrase_sample(self):
        for ru, _ in self.sample:
            an = AdaptiveNetwork(self.sample)
            an.increase_sample(ru.central_value)
            wwan = (an.units[an._index_of(ru)])[1]

            for wewru, weww in self.sample:
                print weww, (an.units[an._index_of(wewru)])[1]
                self.assertTrue(weww <= (an.units[an._index_of(wewru)])[1])
                if ru == wewru:
                    self.assertTrue(weww < wwan or weww == wwan == 1)
コード例 #8
0
    def test_incrase_sample(self):
        for ru, _ in self.sample:
            an = AdaptiveNetwork(self.sample)
            an.increase_sample(ru.central_value)
            wwan = (an.units[an._index_of(ru)])[1]

            for wewru, weww in self.sample:
                print weww, (an.units[an._index_of(wewru)])[1]
                self.assertTrue(weww <= (an.units[an._index_of(wewru)])[1])
                if ru == wewru:
                    self.assertTrue(weww < wwan or weww == wwan == 1)
コード例 #9
0
 def test__update_units_doubles(self):
     an = AdaptiveNetwork(self.sample)
     an._update_units(lambda u, w: (u,  w * 2))
     self.assertTrue(len(an.units) == len(self.sample) and
         len(an.units) > 0)
     self.assertEqual([(u, w * 2) for u, w in self.sample], an.units)
コード例 #10
0
 def test__update_units_to_None(self):
     an = AdaptiveNetwork(self.sample)
     an._update_units(lambda u, w:  None)
     self.assertEqual(an.units, [])
コード例 #11
0
 def test__index_of(self):
     self.assertEqual(-1, self.an._index_of(ReactiveUnit([6, 6, 6])))
     self.assertEqual(1, self.an._index_of(ReactiveUnit([1, 1, 1, 1])))
     self.assertEqual(-1,
                      AdaptiveNetwork()._index_of(ReactiveUnit([23, 4])))
コード例 #12
0
 def test__update_units_to_None(self):
     an = AdaptiveNetwork(self.sample)
     an._update_units(lambda u, w: None)
     self.assertEqual(an.units, [])
コード例 #13
0
class TestAdaptiveNetwork(unittest.TestCase):

    def setUp(self):
        self.N = 100

        self.sample = [
            (ReactiveUnit(S([1, 2, 3, 4])), 0.5),
            (ReactiveUnit(S([1, 1, 1, 1])), 0.8),
            (ReactiveUnit(S([2, 2, 2, 2])), 0.2),
            (ReactiveUnit(S([3, 3, 3, 3])), 1)
        ]
        self.an = AdaptiveNetwork(self.sample)

    def test__index_of(self):
        self.assertEqual(-1, self.an._index_of(ReactiveUnit(S([6, 6, 6]))))
        self.assertEqual(1, self.an._index_of(ReactiveUnit(S([1, 1, 1, 1]))))
        self.assertEqual(-1,
            AdaptiveNetwork()._index_of(ReactiveUnit(S([23, 4]))))

    def test_add_reactive_unit(self):

        for _ in xrange(2):
            self.an.add_reactive_unit(ReactiveUnit(S([1, 1])))
            self.assertTrue(-1 != self.an._index_of(ReactiveUnit(S([1, 1]))))
            self.assertTrue(-1 == self.an._index_of(ReactiveUnit(S([1, 1, 1]))))

    def test_reaction(self):
        #TODO: give specific net and specific values
        an = AdaptiveNetwork(self.sample)
        for _ in xrange(self.N):
            pack = S([random.randint(0, 10) for _ in range(4)])
            out = np.array([w * ru.value_for(pack) for ru, w in
                self.sample]).sum()
            self.assertEqual(an.reaction(pack), out)

    def test__update_units_to_None(self):
        an = AdaptiveNetwork(self.sample)
        an._update_units(lambda u, w:  None)
        self.assertEqual(an.units, [])

    def test__update_units_doubles(self):
        an = AdaptiveNetwork(self.sample)
        an._update_units(lambda u, w: (u,  w * 2))
        self.assertTrue(len(an.units) == len(self.sample) and
            len(an.units) > 0)
        self.assertEqual([(u, w * 2) for u, w in self.sample], an.units)

    def test_remove_low_units(self):
        an = AdaptiveNetwork(self.sample)
        an.remove_low_units(0.9)
        self.assertTrue(len(an.units) == 1)

    def test_incrase_sample(self):
        for ru, _ in self.sample:
            an = AdaptiveNetwork(self.sample)
            an.increase_sample(ru.central_value)
            wwan = (an.units[an._index_of(ru)])[1]

            for wewru, weww in self.sample:
                print weww, (an.units[an._index_of(wewru)])[1]
                self.assertTrue(weww <= (an.units[an._index_of(wewru)])[1])
                if ru == wewru:
                    self.assertTrue(weww < wwan or weww == wwan == 1)

    def test_forgetting(self):  # TODO set proper values
        an = AdaptiveNetwork(self.sample)
        an.forgetting()

        for ru, w in an.units:
            for ruw,  ww in self.sample:
                if ruw == ru:
                    self.assertTrue(w < ww or ww == 0)
コード例 #14
0
 def test__update_units_doubles(self):
     an = AdaptiveNetwork(self.sample)
     an._update_units(lambda u, w: (u, w * 2))
     self.assertTrue(
         len(an.units) == len(self.sample) and len(an.units) > 0)
     self.assertEqual([(u, w * 2) for u, w in self.sample], an.units)
コード例 #15
0
 def test_remove_low_units(self):
     an = AdaptiveNetwork(self.sample)
     an.remove_low_units(0.9)
     self.assertTrue(len(an.units) == 1)
コード例 #16
0
class TestAdaptiveNetwork(unittest.TestCase):
    def setUp(self):
        self.N = 100

        self.sample = [(ReactiveUnit([1, 2, 3, 4]), 0.5),
                       (ReactiveUnit([1, 1, 1, 1]), 0.8),
                       (ReactiveUnit([2, 2, 2, 2]), 0.2),
                       (ReactiveUnit([3, 3, 3, 3]), 1)]
        self.an = AdaptiveNetwork(self.sample)

    def test__index_of(self):
        self.assertEqual(-1, self.an._index_of(ReactiveUnit([6, 6, 6])))
        self.assertEqual(1, self.an._index_of(ReactiveUnit([1, 1, 1, 1])))
        self.assertEqual(-1,
                         AdaptiveNetwork()._index_of(ReactiveUnit([23, 4])))

    def test_add_reactive_unit(self):

        for _ in xrange(2):
            self.an.add_reactive_unit(ReactiveUnit([1, 1]))
            self.assertTrue(-1 != self.an._index_of(ReactiveUnit([1, 1])))
            self.assertTrue(-1 == self.an._index_of(ReactiveUnit([1, 1, 1])))

    def test_reaction(self):
        #TODO: give specific net and specific values
        an = AdaptiveNetwork(self.sample)
        for _ in xrange(self.N):
            pack = [random.randint(0, 10) for _ in range(4)]
            out = np.array([w * ru.value_for(pack)
                            for ru, w in self.sample]).sum()
            self.assertEqual(an.reaction(pack), out)

    def test__update_units_to_None(self):
        an = AdaptiveNetwork(self.sample)
        an._update_units(lambda u, w: None)
        self.assertEqual(an.units, [])

    def test__update_units_doubles(self):
        an = AdaptiveNetwork(self.sample)
        an._update_units(lambda u, w: (u, w * 2))
        self.assertTrue(
            len(an.units) == len(self.sample) and len(an.units) > 0)
        self.assertEqual([(u, w * 2) for u, w in self.sample], an.units)

    def test_remove_low_units(self):
        an = AdaptiveNetwork(self.sample)
        an.remove_low_units(0.9)
        self.assertTrue(len(an.units) == 1)

    def test_incrase_sample(self):
        for ru, _ in self.sample:
            an = AdaptiveNetwork(self.sample)
            an.increase_sample(ru.central_value)
            wwan = (an.units[an._index_of(ru)])[1]

            for wewru, weww in self.sample:
                print weww, (an.units[an._index_of(wewru)])[1]
                self.assertTrue(weww <= (an.units[an._index_of(wewru)])[1])
                if ru == wewru:
                    self.assertTrue(weww < wwan or weww == wwan == 1)

    def test_forgetting(self):  # TODO set proper values
        an = AdaptiveNetwork(self.sample)
        an.forgetting()

        for ru, w in an.units:
            for ruw, ww in self.sample:
                if ruw == ru:
                    self.assertTrue(w < ww or ww == 0)
コード例 #17
0
 def test_remove_low_units(self):
     an = AdaptiveNetwork(self.sample)
     an.remove_low_units(0.9)
     self.assertTrue(len(an.units) == 1)