Python でゲーム理論シミュレーションを書いています。シミュレーションの一環として、世代ごとに 2 人のプレーヤーがペアになり、互いに対戦します (各プレーヤーはPlayer1
またはPlayer2
クラスのインスタンスです)。少し簡略化すると、コードは次のようになります。
pool1 = [Player1() for _ in range(50)]
pool2 = [Player2() for _ in range(50)]
assignments = range(50)
random.shuffle(assignments)
pairs = []
for i, assignment in enumerate(assignments):
pairs.append((pool1[i], pool2[assignment]))
for player1, player2 in pairs:
repeat = True
while repeat:
repeat = play_game(player1, player2)
ペイオフはプレイヤーの属性として保持されます。各ラウンドの終わりに、プレイヤーの動きに応じて、ゲームは続行または終了します (play_game
それぞれ True または False を返します)。
このコードを並行して実行するにはどうすればよいですか? つまり、一度に複数のペアをプレイするにはどうすればよいですか? 少しグーグルで調べたところ、Pythonマルチプロセッシングライブラリが見つかりましたが、それをこのコード スニペットに適用する方法がわかりません。
ありがとう!