Esempio n. 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)
Esempio n. 2
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)
Esempio n. 3
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)
Esempio n. 4
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)
Esempio n. 5
0
 def test_remove_low_units(self):
     an = AdaptiveNetwork(self.sample)
     an.remove_low_units(0.9)
     self.assertTrue(len(an.units) == 1)
Esempio n. 6
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)
Esempio n. 7
0
 def test__update_units_to_None(self):
     an = AdaptiveNetwork(self.sample)
     an._update_units(lambda u, w: None)
     self.assertEqual(an.units, [])
Esempio n. 8
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])))