JavaFX アプリケーション

JavaFX 11以上、Scene Builder、Eclipse を利用して


公平に分けるの利用方法

公平に分ける
公平に分ける

最新は1.1版です。

2人のプレイヤーP1とP2の複数の品物に対する選好順序が与えられた時、(厳密な、バランスの取れた、質問段階付きバランスの取れた)交互取りによる配分を求める。また、2人のプレイヤーの複数の品物に対する合計100点の評価が与えられた時、勝者調整法による配分を求める。解に至る途中経過も表示することができる。解法等に関しては「公平のあり方」(大学教育出版)を参考にして下さい。

公平に分ける

複数の品物を2人のプレイヤーP1とP2で分けようとしている。(1)各品物間の各プレイヤーの選好が順序だけしか分からない場合、(2)合計が100点となるように品物間の選好の程度まで分かっている場合、品物をいかに分けるべきか?

利用方法

交互取り(データ入力と解)

「交互取り」タブの「入力」タブには次の初期値が表示されている:5個の品物a、b、c、d、eに対して、プレイヤー1(P1)の選好順序はabcde(左にある方を右にある方よりも好む)であり、プレイヤー2(P2)の選好順序は正反対である。まず、(必要ならば)品物の個数をコンボボックスを利用して新しい値を指定し「変更」ボタンを押す。次に、(必要ならば)プレイヤーの品物に対する選好順序を「P1」または「P2」セルを左クリックし、現れたダイアログボックスにそのプレイヤーの新しい選好順序を入力し「はい」を押す。

交互取り Player 2 の選好を入力するところ
交互取り 入力タブ

「解」タブを押すと、入力されたデータが表示され「解く」ボタンを押すことにより、「Strict」、「Balanced」、「with Query」タブに各々「厳密な交互取り」、「バランスの取れた交互取り」、「質問段階付きバランスの取れた交互取り」による配分が、P1が先手の場合とP2が先手の場合に応じて表示される。「経過表示」をチェックすると、(表が長くなるが)途中経過も表示される。表の見方は「例A(交互取り)」を参考にして下さい。

交互取り 「解」タブ
交互取り 解タブ

例A(交互取り)

次の問題を解く。
6個の品物に対するプレイヤーの選好順序は次の表のとおりである。

順位 1 2 3 4 5 6
P1 a b c d e f
P2 b c a d e f
例A(交互取り) 「入力」タブ
交互取り 例 入力

「解」タブに移り、「解く」ボタンを押すと、「Strict」、「Balanced」、「with Query」タブに各々「厳密な交互取り」、「バランスの取れた交互取り」、「質問段階付きバランスの取れた交互取り」の解が表示される。最初にP1が先手の場合、次にP2が先手の場合である。例えば、「Strict」タブにある第1列の「*Strinc1」はこの行から3行が、P1が先手の場合の「厳密な交互取り」の配分であることを示している。「*P1」はP1が先手であることを意味している。

例A(交互取り) 「解」タブ 厳密な交互取り
厳密な交互取り 例
例A(交互取り) 「解」タブ バランスの取れた交互取り
バランスの取れた交互取り 例
例A(交互取り) 「解」タブ 質問段階付きバランスの取れた交互取り
質問段階付きバランスの取れた交互取り 例

更に、「with Query」タブにおいては、例えば、「*with Query1」と書かれた行の右には「競合したので脇へ置かれた」品物が順にcdefであることが示されている。

「経過表示」をチェックすると、「Strict」、「Balanced」、「with Query」タブに解に至る途中経過が表示される。上の方(例えば、Strict1と書かれた方)がP1が先手の場合、下の方(例えば、Strict2と書かれた方)がP2が先手の場合である。「*Strict1」の「*」はこの部分が解であることを意味している。「*P1」等はその行がP1が品物をとることによって得られた、ことを示している。

例A(交互取り) 「解」タブ 厳密な交互取り 経過表示
厳密な交互取り 経過表示1 厳密な交互取り 経過表示2
例A(交互取り) 「解」タブ バランスの取れた交互取り 経過表示
バランスの取れた交互取り 経過表示1 バランスの取れた交互取り 経過表示2
例A(交互取り) 「解」タブ 質問段階付きバランスの取れた交互取り 経過表示
質問大海付きバランスの取れた交互取り 経過表示1 質問段階付きバランスの取れた交互取り 経過表示2

「with Query」タブにおいて、例えば、「with Query2」と書かれた行の右にある「cde」は(この回を含む)それまでに「競合したために脇へ置かれた」品物を示す。

勝者調整法(データ入力と解)

「勝者調整法」タブの「入力」タブには次の初期値が表示されている:品物の個数はa、b、c、d、eの5個で、それらに対する2人のプレイヤー(P1とP2)の評価は不明なので0としてある。まず、(必要ならば)品物の個数をコンボボックスを利用して新しい値を指定し「変更」ボタンを押す。次に、各品物に対する各プレイヤーの評価を対応するセルに入力する。入力できる数値は、例えば、10、25などの整数、1.5等の小数、または、1/6、5/3、1+2/3等の分数である。P1とP2の品物に対する評価の合計が共に100になれば、入力が完了したことになり、「解」タブを押し、「解」タブを表示することができる。「解」タブでは「解く」ボタンを押すことにより、勝者調整法による配分を求めることができ、「経過表示」をチェックすれば、解に至る途中経過も表示される。「解」タブに関しては、以下の例、例AW1(勝者調整法)例AW2(勝者調整法)例AW3(勝者調整法)、を参照して下さい。

勝者調整法 「入力」タブ
勝者調整法 入力

例AW1(勝者調整法)

次の問題を解く。
3個の品物に対するプレイヤーの評価は次の表のとおりである。

評価 a b c 合計
P1 40 35 25 100
P2 30 55 15 100

品物の個数を3個に「変更」し、(合計以外の)評価を対応するセルに入力する。

例AW1(勝者調整法) 「入力」タブ
勝者調整法 例1 入力

「解」タブを押し、「解」タブを表示させる。

例AW1(勝者調整法) 「解」タブ 解答前
勝者調整法 例1 解答前

「解く」ボタンを押すと、勝者調整法による配分が表示される。「経過表示」をチェックすると、途中経過も表示される。

例AW1(勝者調整法) 「解」タブ 解答済
勝者調整法 例1 解
例AW1(勝者調整法) 「解」タブ 解答済 経過表示
勝者調整法 例1 解 経過表示

(「経過表示」がチェックされていない)最終的な解だけが表示されている場合、第1列の「(3)*」は(「公平のあり方」(大学教育出版)160ページにある3つのステップ(1)、(2)、(3)の)ステップ(3)で解が求まったことを意味している。「途中経過」が表示されている場合、第1列にある(1)、(2)、(3)はステップを示し、その行の右にある「*」はそのステップでプレイヤーに配分された品物を表す。

例AW2(勝者調整法)

次の問題を解く。
ステップ(1)で解が求まる例である。4個の品物に対するプレイヤーの評価は次の表のとおりである。

評価 a b c d 合計
P1 40 30 20 10 100
P2 10 20 30 40 100
例AW2(勝者調整法) 「入力」タブ
勝者調整法 例2 入力

(必要ならば)品物の個数を4個に「変更」し、(合計以外の)評価を対応するセルに入力し、「解」タブを表示し、「解く」ボタンを押す 。途中経過を表示させるには「経過表示」をチェックする。

例AW2(勝者調整法) 「解」タブ 解答済
勝者調整法 例2 解
例AW2(勝者調整法) 「解」タブ 解答済 経過表示
勝者調整法 例2 解 経過表示

例AW3(勝者調整法)

次の問題を解く。
ステップ(2)で解が求まる例である。4個の品物に対するプレイヤーの評価は次の表のとおりである。

評価 a b c d 合計
P1 40 30 20 10 100
P2 10 30 20 40 100
例AW3(勝者調整法) 「入力」タブ
勝者調整法 例3 入力

(必要ならば)品物の個数を4個に「変更」し、(合計以外の)評価を対応するセルに入力し、「解」タブを表示し、「解く」ボタンを押す 。途中経過を表示させるには「経過表示」をチェックする。

例AW3(勝者調整法) 「解」タブ 解答済
勝者調整法 例3 解
例AW3(勝者調整法) 「解」タブ 解答済 経過表示
勝者調整法 例3 解 経過表示

ステップ(2)で解が求まっている。この例の場合、解は一意ではない。品物bとCを半分ずつに分けているが、品物cを一方に全部与え、そのプレイヤーに品物bの1/6を与え、残りの品物bの5/6をもう一人のプレイヤーに与える、のも他の解である。