安定マッチングの表示サイト
研究に必要なため,安定マッチングを表示するサイトを作りました.
安定マッチングを求めるメカニズムを中心にいくつかのメカニズムが実装してあります.
- DA (Deferred Acceptance): いわゆるGale-Shapleyアルゴリズム.男性が順に自分にとって最も好ましい女性に告白し,振られたらまだ告白していない中で最も好ましい女性に告白する.
- DA sim: 上の同時告白版.
- Boston mechanism: 男性は同時告白DAと同様に進めるが,女性は最初に決めたパートナーから変更しない.
- SD (Serial Dictatorship): ランクの高い男性から順に,まだ相手のいない女性の中で最も好ましい相手を手に入れる
- EADA (Efficiency-Adjusted Deferred Acceptance): DAを行った後,最後にマッチしたペアを固定し,DAをやり直すという操作を繰り返すメカニズム
- TTC (Top Trading Cycle): 男女がそれぞれ最も好ましい相手を指さし合い,閉路ができればそれに従い割り当てる
- DA+TTC (DA+Top Trading Cycle): DAを行った後,男性同士で最も好ましい女性とくっついた男性を指さし合い,閉路ができれば女性を交換する
- Rotation: vNM-stable set上での極大鎖を1つ表示
(男女のマッチングで説明をすると倫理的に問題があるメカニズムもありますが,研究室配属のような状況なら問題ないです.)
使い方の説明は何も書いていないが,以下のような機能があります.
- 再生ボタンでメカニズムのステップを進める(最初に戻る,1ステップ戻る,1ステップ進む,最後まで進めるの4つのボタンあり)
- 男女の人数の変更可能
- 中央下部のボタンで男女を入れ替え(女性告白DAを行いたい場合は男女を入れ替えてください)
- json形式での選好リストの保存読み込みが可能
- 選好リストはドラッグで変更可能
- 男女の順番もドラッグで入れ替えられる
- 右クリック(タブレットの場合は長押し)で選好リストから1人削除できる
- 選好リストの人が欠けているところを右クリックで,マッチできなかった相手をすべて追加
- space keyでメカニズムのステップ数を表示
- 「d」キーでアニメーション(duration)のオンオフ切り替え
- 「i」キーでvNM-stable setでマッチするペアを表示切り替え(タブレットの場合は真ん中を長押し)
他に追加すると良い機能があれば教えてください.