def testNumericReplicator4(self): """Little noise should only matter a little""" for i in xrange(50): p = Dynamics.RandomDistribution(100) f = array([random.random() for k in xrange(100)]) r = Dynamics._numeric_QuickReplicator(p, f) r2 = Dynamics._numeric_Replicator(p, f, 0.01) self.failUnless(AlmostEqual(r, r2, 0.0101))
def testNumericReplicator2(self): """Replicator should yield the same results as QR if noise = 0.0""" for i in xrange(50): p = Dynamics.RandomDistribution(20) f = array([random.random() for k in xrange(20)]) r = Dynamics._numeric_QuickReplicator(p, f) r2 = Dynamics._numeric_Replicator(p, f, 0.0) self.failUnless(AlmostEqual(r, r2))
def testNumericReplicator3(self): """Noise should matter""" for i in xrange(50): p = Dynamics.RandomDistribution(100) f = array([random.random() for k in xrange(100)]) r = Dynamics._numeric_QuickReplicator(p, f) r2 = Dynamics._numeric_Replicator(p, f, 0.5) self.failIf(AlmostEqual(r, r2))
def testNumericReplicator1(self): """Results of Replicator should be sound""" for i in xrange(50): p = Dynamics.RandomDistribution(50) f = array([random.random() for k in xrange(50)]) r = Dynamics._numeric_Replicator(p, f, random.random()) for x in r: self.failIf(x < 0.0 or x > 1.0) self.failUnless(AlmostEqual(sum(r), 1.0))