示例#1
0
 def test_make_game(self):
     game1 = ShapleyFactory.make_game(*self.args1)
     self.assertTrue(
         equalpayoffs(get_payoff(game1), [
             np.array([[6., 6.], [2., 4.]]),
             np.array([[4., 4.], [2., 4.]])
         ]))
示例#2
0
 def test_make_game(self):
     g1 = self.game1
     game = CongestionFactory.make_game(**g1)
     self.assertTrue(
         equalpayoffs(get_payoff(game), [
             np.array([[3., 3.], [1., 2.]]),
             np.array([[2., 2.], [1., 2.]])
         ]))
     self.assertEqual(game.pcover([[0], [0, 1]]), [(0, [0, 1]), (1, [1])])
示例#3
0
 def test_players(self):
     players = self.game1.players
     self.assertEqual([p.name for p in players], ['0', '1'])
     self.assertEqual([a for p in players for a in p.actions], [0, 1, 0, 1])
     self.assertTrue(equalpayoffs(get_payoff(self.game1), self.pay1))
     for i in [0, 1]:
         for j in [0, 1]:
             self.assertEqual(self.game1.U_i(0, [i, j]), self.pay1[0][i, j])
             self.assertEqual(self.game1.U_i(1, [i, j]), self.pay1[1][i, j])
示例#4
0
 def test_several_payoffs(self):
     pay2 = [
         np.array([[2, 0, 1], [3, 1, 0]]),
         np.array([[2, 3, 1], [0, 1, 0]])
     ]
     game2 = StrategicFactory.make_game(pay2)
     self.assertTrue(
         equalpayoffs(game2.payoffs, [
             np.array([[2, 0, 1], [3, 1, 0]]),
             np.array([[2, 3, 1], [0, 1, 0]])
         ]))
     self.assertTrue(equalpayoffs(get_payoff(game2), pay2))
     self.assertTrue([ac.actions
                      for ac in game2.actions] == [[0, 1], [0, 1, 2]])
     pay3 = [
         np.array([[2, 0, 1], [3, 1, 0], [2, 3, 4]]),
         np.array([[2, 3, 1], [0, 1, 0], [4, 3, 2]])
     ]
     game3 = StrategicFactory.make_game(pay3)
     self.assertTrue(equalpayoffs(get_payoff(game3), pay3))
示例#5
0
 def test_make_game(self):
     g1 = self.game1
     pay1 = [np.array([[5., 4.], [1., 2.]]), np.array([[4., 2.], [2., 2.]])]
     self.assertTrue(equalpayoffs(get_payoff(g1), pay1))
示例#6
0
 def test_make_game(self):
     g1 = self.game1
     w1 = np.array([[3., 3.], [3., 1.]])
     pay1 = [np.array([[5., 4.], [1., 2.]]), np.array([[4., 2.], [2., 2.]])]
     self.assertTrue((w1 == BrutePoA.game_to_welfare(g1)).all())
     self.assertTrue(equalpayoffs(get_payoff(g1), pay1))