マッチングアルゴリズムへのコンピューティングソリューションで利用可能なコード


15

マッチング手順の設計の問題(高校と学生、医療インターンと病院、腎臓提供者と受信者、...)は、経済学者によって広く研究されており、ロスで経済学でノーベル記念価格を受け取ることに貢献しました。

文献で提案されているいくつかの最も有名なアルゴリズムの主要な種類のマッチング問題の解決策計算できる、自由に利用可能なコード(理想的には比較的高レベルの言語)を知っているかどうか疑問に思いました。私はそれを書くことを考えていますが、私はむしろそれがすでに存在しないことを望みます。

私はに、学校選択の問題における遅延受理アルゴリズムの解を計算するコードに興味がありますが、他のことはありがたいです。


アルゴリズムのマッチングのためにRパッケージを検討しましたか?例についてはこちらをご覧ください(JSS paper)。これはあなたの例の問題を正確に解決するものではありませんが、始める場所かもしれません。
CompEcon 14

QuantEcon Webサイトでの関連する講義(コードを含む)。
cc7768

ReplicationWikiでは、多くの方法の複製資料を見つけることができます。マッチングを使用した実証研究の概要については、こちらをご覧ください。また、レプリケーションが既に知られているかどうかも確認できます。データとコードのケースのみが必要で、使用されたソフトウェアを確認したい場合は、次のような検索フォームを使用できます。MATLABの例とR / ConGの例があります。
ヤン・ホフラー

1
私が取り組んでいるReplicationWikiでは、多くの方法の複製資料を見つけることができます。マッチングを使用した実証研究の概要については、こちらをご覧ください。また、レプリケーションが既に知られているかどうかも確認できます。データとコードのケースのみが必要で、使用されたソフトウェアを確認したい場合は、次のような検索フォームを使用できます。MATLABの例とR / ConGの例があります。
ヤン・ホフラー

回答:


11

コメントに答えている間、私はポストワースの応答があることに気付きました。Rは、多くの計算研究統計の「デフォルト言語」になっています(多くの理由により、NYTの素晴らしい記事がここにあります)。高レベルで無料のオープンソースであり、統計アルゴリズムを公開するための密接に関連したジャーナルがあります。学術論文の引用と査読は重要であるため、JStatに投稿された説明とともに、Rアーカイブ(CRAN)に投稿された多くの明確なコードを取得できます。これは、多くのブログや簡単なデモコードの投稿にあふれています。

つまり、Rには膨大な量のユーザー作成コードベースがあります。オンラインでアルゴリズムを見つける必要があるときは、最初に大規模なRコードベースに目を向けることがよくあります。Rコードをすばやく検索すると、次のことがわかりました。

Rブロガーから、コード付き(要点リンクを参照):

Deferred Acceptance Algorithm(DAA)は、Gale and Shapley(1962)に遡ります。彼らは、大学入学や結婚市場などで安定したマッチングを見つけるかなり単純なアルゴリズムを導入しています。...このアルゴリズムのバリエーションは、米国の病院の割り当てで使用されます。これにより、最近卒業した医師は病院よりも好みを提出し、病院は卒業生よりも好みを提出します。...ここでは、Rを使用して、これの小さなシミュレーションを作成します。

一致する市場のインストール可能なgithubリポジトリから:

RパッケージにmatchingMarketsは、2つの推定器が付属しています。

  • stabit:選択プロセスが片側マッチングゲーム(グループ形成)の場合、エージェントの選好を推定し、マッチング市場でのサンプル選択を修正するベイズ推定器を実装します。

  • stabit2:両面マッチングゲーム(大学入学安定した結婚問題)のベイズ推定量を実装します。

一致するデータをシミュレートするために使用できる3つのアルゴリズム:

  • hri:病院/居住者の問題の制約モデル。両側マッチング市場ですべての安定したマッチングを検索ます。安定した結婚問題(1対1のマッチング)と病院/居住者の問題、別名大学入学問題(多対1のマッチング)の両方に実装されています。

  • sri:安定したルームメイト問題の制約モデル。ルームメイト問題(一方的なマッチング市場)ですべての安定したマッチングを検索します。

  • ttc:トップトレーディングサイクルアルゴリズム。住宅市場の問題で安定したマッチングを見つけます

機能hrisri不完全な優先リスト(一部のエージェントは特定のエージェントが受け入れられないと判断する)および不均衡なインスタンス(両側のエージェントの数が等しくない)を許可します

これらのいずれかが役立つことを願っています。特に2番目のものは、特に経験的な推定量を提供する場合に非常に便利に見えます。


1

私はこれが少し時代遅れであることを知っていますが、CRANで利用可能な新しいパッケージがあり、「matchingR」と呼ばれています。でインストールできます

install.packages('matchingR')

また、ソースへのリンクもあります

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