oTree:不均等にグループサイズを設定し、エージェントが不定期にラウンドを行う方法


1

Nash Demandゲームの結果に関するさまざまなグループサイズの結果を調査する実験を設計しています。

この実験はzTreeで一度プログラミングしたことがあり、そこで実験室環境で実験を行いました。今、私はこれをoTree(「マルチプレイヤー意思決定戦略ゲームを実装するためのDjangoベースのフレームワーク」)に移行し、Amazon Turkでオンライン実験を行うことを検討しています。

私が遭遇した問題は次のとおりです。グループが互いに(排他的に)相互作用しているため、グループサイズが等しくないゲームを設定するにはどうすればよいですか?

通常、グループのサイズは中程度になります(多数派グループで6、少数派グループで2など)が、最も単純なケースを考えてみましょう:大きいグループには2つのメンバーがあり、小さいグループには1つのメンバーがあり、各ラウンドで各グループのメンバーはランダムに選択され、互いにナッシュデマンドゲームをプレイします。

したがって、プレーヤー1を少数グループ(G1)に、プレーヤー2、3を多数グループ(G2)に入れると、一致するシーケンスは次のようになります。ラウンド1:プレーヤー1(G1)はプレーヤー2(G2)、ラウンド2:プレーヤー1(G1)はプレーヤー3(G2)で、ラウンド3:プレーヤー1(G1)はプレーヤー3(G2)で、など…

この種のランダムマッチングでは、大多数のプレイヤーが時折座らなければならないことに注意してください。この例では、プレーヤー3はラウンド1で座っており、プレーヤー2はラウンド2および3で座っていました。ここでは、少数グループのプレーヤーであるプレーヤー1は最終的に多数グループのメンバーの2倍のラウンドでプレーします。

zTreeでは、一致するデータを含むスプレッドシートをインポートすることでこれを行うことができました。各プレイヤーは、各ラウンドのどのプレイヤーとどのプレイヤーを一致させるかについてParameters Table、その環境にインポートしました。私の問題は、oTreeで同じことを達成する方法が明確でないことです。

私はmodels.py次のようにグループサイズを確立できることを知っています

class Constants(BaseConstants): 
players_per_group = [x,y] # Where x, y are the Minority and Majority group sizes, respectively.

また、同じクラスの一致するパラメーターに対応する定数を確立できることは承知していますが、通常は8プレイヤーが120ラウンドのゲームをプレイします。それには、少なくとも480個の一意の順序付きペアを指定する必要があります。また、グループサイズを変更するため、これも実験実験から変更されます。これは、ハンドコーディングするのは実用的ではありません。

前の実験から適切にランダム化されたマッチングテーブルを含むスプレッドシート(​​.csvファイル)を既に持っています。oTreeにこれらのスプレッドシートを読み取らせ、それらの値に基づいてマッチングを実行する方法はありますか?

そして、進め方の提案は大歓迎です。歓声と暖かさ。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.