JavaFX アプリケーション

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


協力ゲームの利用方法

協力ゲーム
図 協力ゲーム

最新は1.4版です。協力ゲーム ヘルプ が正常に表示されない点も修正しました。

協力ゲーム(提携形ゲーム)の解(シャープレイ値、仁、タウ値、団結値、最小二乗準仁、ニュー値、比例配分値、等)を求める。解法に関しては「公平のあり方」(大学教育出版)を参考にして下さい。

協力ゲーム(提携形ゲーム)

プレイヤー$1, 2, \cdots, n$からなる$n$人のプレイヤーが全員($N=\left\{ 1, 2, \cdots, n \right\}$)で協力して利益((全体)提携値)$v(N)$を得た。$N$の部分集合である$S \left( \subset N \right)$のメンバーで協力した時の利益((部分)提携値)は$v(S)$である。これらの部分提携値$v(S) \left( S \subset N \right)$を利用して、全体提携値$v(N)$を$n$人のメンバーにどのように分けるか?

利用方法

以下では、例として、次の提携形ゲームを利用して説明する。

提携ABCABACBCABC
提携値551020203050
提携形ゲーム

特性関数(提携値)の入力

「特性関数の入力」タブで必要なデータを入力する。

データの入力
図 データの入力

例は3人ゲームなので、必要ならばプレイヤーの人数を「3」にして、「変更」ボタンを押す。プレイヤーは「A」から始まるので、3人の場合、「A」、「B」、「C」の3人である。各提携の提携値をウィンドウの下部にある入力欄に記入し「追加」ボタンを押す。上の図は提携「A」の提携値「5」を入力し、「追加」ボタンを押したところである。提携を入力するときは、大文字小文字のどちらでもよく、また、複数人の提携の場合、入力する順番は問わない。すなわち、例えば、提携「AB」を入力するときは、「ba」や「Ba」等でも良く、自動的に大文字に変換される。提携値は有理数(「5」等の整数、または、「1/2」や「5/3」や「1+2/3」等の分数、または、1.5等の小数)を入力できる。入力を省略した提携の提携値は0とみなされる。

「1人提携」の左に「右向き三角」が表示されるが、これをクリックすると「1人提携」の具体的な提携値が表示される。全てのデータを入力すると(そして、全ての「右向き三角」をクリックすると)、

データの入力(完了時)
図 データの入力(完了時)

となる。入力した提携値を「変更」または「削除」したい時は、その部分を右クリックし表示されるポップアップメニューに従う。

値の計算

「値の計算」タブを開く。

値の計算
図 値(解)の計算

上の方に「シャープレイ値」、「仁」、「タウ値」、「団結値」、「LS準仁」(最小二乗準仁)、「ニュー値」、「比例配分値」のボタンがある。これらのボタンを押すと、その解が表示される。「比例配分値」はすべての提携値が正である必要があるので、非正のものが存在すれば、その旨表示される。これらのボタンを押した結果が次の図である。

全ての値の計算
図 (全ての)値(解)の計算

結果が帯分数表示されているが、「表示(S)」メニューから「分数(F)」または「小数(D)」を選択することにより、仮分数表示、または、小数表示に変えることができる。

0-1正規化された3人ゲームのコア

「Core」タブを押す。0-1正規化できないゲームはその旨表示される。今の例の場合は、$v(ABC)=50>v(A)+v(B)+v(C)=20$なので、0-1正規化可能である。その結果、

コア
図 コア

0-1正規化されたゲームwとその仁と共に、コアが図示される。

施設維持費配分問題(Cost Allocation)

次の例で説明する。

施設名ABCD
維持費200300450100
利用人数10015301
施設維持費配分問題

「Cost Allocation」タブを開く。

CostAllocation
図 Cost Allocation タブ

必要ならば「施設の個数」を「4」に変更し、「変更」ボタンを押す。維持費と利用人数を入力する。維持費は有理数まで入力できる。利用人数は整数値である。結果として、各々の施設に関して、その施設を利用している1人当たりの負担費用(シャープレイ値「Sh」とタウ値「Tau」)が表示される。

シャープレイ値とタウ値
図 シャープレイ値とタウ値

結果が帯分数表示されているが、「表示(S)」メニューから「分数(F)」または「小数(D)」を選択することにより、仮分数表示、または、小数表示に変えることができる。