Kode yang tersedia untuk solusi komputasi untuk algoritma yang cocok?

15

Pertanyaan merancang prosedur pencocokan (antara sekolah menengah dan siswa, dokter magang dan rumah sakit, donor ginjal dan penerima, ...) telah banyak dipelajari oleh para ekonom dan sangat berkontribusi pada Roth dan Shapley yang menerima harga peringatan Nobel dalam bidang ekonomi.

Saya bertanya-tanya apakah Anda tahu tentang kode yang tersedia secara bebas di luar sana (idealnya dalam bahasa tingkat tinggi) mampu menghitung solusi untuk masalah pencocokan jenis utama untuk beberapa algoritma paling terkenal yang diusulkan dalam literatur. Saya sedang berpikir untuk menulis satu, tetapi saya lebih suka tidak ada.

Saya terutama tertarik pada beberapa kode untuk menghitung solusi untuk algoritma Ditangguhkan Penerimaan dalam masalah pilihan sekolah , tetapi hal lain akan dihargai.

Martin Van der Linden
sumber
Sudahkah Anda melihat paket R untuk algoritma yang cocok? Lihat di sini misalnya ( kertas JSS ). Ini tidak persis mengatasi masalah contoh Anda, tetapi mungkin merupakan tempat untuk memulai.
CompEcon
Kuliah yang relevan (dengan beberapa kode) di situs web QuantEcon.
cc7768
Dalam ReplicationWiki kami, Anda dapat menemukan bahan replikasi untuk banyak metode. Gambaran umum studi empiris yang menggunakan pencocokan dapat ditemukan di sini . Anda juga dapat melihat apakah replikasi sudah diketahui. Jika Anda hanya ingin kasus dengan data dan kode dan ingin melihat perangkat lunak apa yang digunakan, Anda dapat menggunakan formulir pencarian seperti di sini , ada contoh dengan MATLAB dan satu dengan R / ConG.
Jan Höffler
1
Dalam ReplicationWiki (yang saya kerjakan) Anda dapat menemukan bahan replikasi untuk banyak metode. Gambaran umum studi empiris yang menggunakan pencocokan dapat ditemukan di sini . Anda juga dapat melihat apakah replikasi sudah diketahui. Jika Anda hanya ingin kasus dengan data dan kode dan ingin melihat perangkat lunak apa yang digunakan, Anda dapat menggunakan formulir pencarian seperti di sini , ada contoh dengan MATLAB dan satu dengan R / ConG.
Jan Höffler

Jawaban:

11

Saat menjawab komentar, saya menyadari bahwa saya memiliki respons pascabayar. R telah menjadi "bahasa default" untuk banyak statistik penelitian komputasi (karena sejumlah alasan; artikel NYT yang bagus di sini ). Ini tingkat tinggi, gratis dan open-source, dan memiliki jurnal terkait erat untuk penerbitan algoritma statistik. Kutipan dan peer review adalah kunci untuk akademisi, sehingga Anda mendapatkan banyak kode yang dijelaskan dengan baik diposting ke arsip R (CRAN) dengan deskripsi diposting ke JStat. Ini menyebar ke banyak blog dan posting kode demonstrasi cepat.

Artinya, ada basis kode pengguna-buat yang sangat besar untuk R. Ketika saya perlu menemukan algoritma online, saya akan sering melihat dulu ke basis kode R besar. Pencarian cepat untuk kode R muncul sebagai berikut:

Dari seorang blogger R , dengan kode (lihat tautan inti):

Algoritma Penerimaan Ditangguhkan (DAA) kembali ke Gale dan Shapley (1962). Mereka memperkenalkan algoritma yang agak sederhana yang menemukan kecocokan yang stabil misalnya untuk penerimaan di perguruan tinggi atau di pasar pernikahan. ... Variasi dari algoritma ini digunakan dalam penugasan Rumah Sakit di AS, di mana dokter yang baru lulus mengajukan preferensi daripada rumah sakit, dan rumah sakit mengajukan preferensi daripada lulusan. ... Di sini saya akan menggunakan R untuk membuat simulasi kecil ini

Dari repositori github yang dapat diinstal untuk pasar yang cocok :

Paket R matchingMarketsdilengkapi dengan dua penduga:

  • stabit: Menerapkan penaksir Bayes yang memperkirakan preferensi agen dan mengoreksi untuk pemilihan sampel di pasar yang cocok ketika proses seleksi adalah permainan pencocokan satu sisi (yaitu pembentukan kelompok).

  • stabit2: Menerapkan penaksir Bayes untuk permainan mencocokkan dua sisi (yaitu penerimaan di perguruan tinggi dan masalah pernikahan yang stabil ).

dan tiga algoritma yang dapat digunakan untuk mensimulasikan data yang cocok:

  • hri: Model kendala untuk masalah rumah sakit / penghuni. Temukan semua pencocokan stabil di pasar pencocokan dua sisi. Diimplementasikan untuk masalah pernikahan yang stabil (pencocokan satu-ke-satu) dan masalah rumah sakit / penghuni , alias masalah penerimaan di perguruan tinggi (pencocokan banyak-ke-satu).

  • sri: Model kendala untuk masalah teman sekamar yang stabil. Menemukan semua kecocokan stabil dalam masalah teman sekamar (pasar pencocokan satu sisi).

  • ttc: Algoritma Siklus Perdagangan Top. Menemukan kecocokan yang stabil dalam masalah pasar perumahan .

Fungsi hridan srimemungkinkan daftar preferensi yang tidak lengkap (beberapa agen menemukan agen tertentu tidak dapat diterima) dan contoh yang tidak seimbang (jumlah agen yang tidak sama di kedua sisi).

Semoga salah satunya dapat membantu. Yang kedua khususnya terlihat sangat berguna, terutama jika ia menyediakan penduga empiris.

CompEcon
sumber
1

Saya tahu ini agak ketinggalan zaman, tetapi ada paket baru yang tersedia di CRAN sekarang disebut 'matchingR' yang saya percaya jauh lebih cepat daripada paket yang direkomendasikan di atas. Anda dapat menginstalnya dengan

install.packages('matchingR')

Juga, inilah tautan ke sumbernya .

NickJ
sumber