Geyl-Shapli algoritmi - Gale–Shapley algorithm

Yilda matematika, iqtisodiyot va Kompyuter fanlari, Geyl-Shapli algoritmi (shuningdek,. nomi bilan ham tanilgan kechiktirilgan qabul qilish algoritmi) an algoritm ga echim topish uchun barqaror mos kelish muammosi uchun nomlangan Devid Geyl va Lloyd Shapli.Bunga .. Vaqt ketadi polinom vaqti va vaqt chiziqli algoritmga kiritish hajmida. Qanday ishlatilishiga qarab, u mos keladigan tomonning bir tomonida yoki boshqa tomonning ishtirokchilari uchun maqbul echimni topishi mumkin. Bu haqiqat mexanizmi u optimal echimni ta'minlaydigan ishtirokchilar nuqtai nazaridan.

Fon

Barqaror mos keladigan muammo, eng asosiy ko'rinishida, ikki turdagi ishtirokchilarning teng sonlarini kiritadi (n erkaklar va n ayollar yoki n tibbiyot talabalari va n stajirovkalar, masalan) va boshqa turdagi ishtirokchilar orasida kimga mos kelishini afzal ko'rgan har bir ishtirokchi uchun buyurtma. Mos keladigan narsa emas barqaror, agar:

  1. Element mavjud A berilgan elementni afzal ko'rgan birinchi mos to'plam B element ustiga o'rnatilgan ikkinchi mos to'plam A allaqachon mos kelgan va
  2. B shuningdek afzal ko'radi A qaysi element ustiga B allaqachon mos kelgan.

Boshqacha qilib aytganda, hech qanday mos kelmasa, mos keladigan narsa barqaror bo'ladi (A, B) ikkalasi ham mos keladigan bir-birlarini hozirgi sherigidan ustun qo'yishadi.Agar barqaror moslik doimo mavjud bo'lsa va Geyl-Shapli algoritmi tomonidan hal qilingan algoritmik muammo ulardan birini topishdir.

Qaror

Geyl-Shapli algoritmining namunasini ko'rsatuvchi animatsiya

1962 yilda, Devid Geyl va Lloyd Shapli har qanday teng miqdordagi erkaklar va ayollar uchun SMPni hal qilish va barcha nikohlarni barqaror qilish har doim ham mumkin ekanligini isbotladi. Ular taqdim etdi algoritm buni qilish.[1][2] 1984 yilda, Alvin E. Roth deyarli bir xil algoritm 1950-yillarning boshlaridan beri amalda qo'llanilganligini kuzatdi Milliy rezidentlarni moslashtirish dasturi.[3]

The Geyl-Shapli algoritmi qator "turlar" ni o'z ichiga oladi (yoki "takrorlash "):

  • Birinchi bosqichda, birinchi a) har bir ishsiz erkak o'zini afzal ko'rgan ayolga, keyin esa taklif qiladi b) har bir ayol o'zi ma'qul ko'rgan sovchilariga "balki" deb javob beradi va boshqa barcha sovchilarga "yo'q". Keyin u hozirgacha eng yaxshi ko'rgan sovchi bilan vaqtincha "unashtirilgan" va o'sha sovchi ham u bilan vaqtincha unashtirilgan.
  • Har bir keyingi turda, avval a) har bir ishsiz erkak o'zi taklif qilmagan (ayol allaqachon unashtirilganligidan qat'i nazar) eng ma'qul bo'lgan ayolga taklif qiladi va keyin b) har bir ayol, agar u hozirda unashtirilmagan bo'lsa yoki u bu odamni hozirgi vaqtinchalik sherigidan ustun qo'ysa ", ehtimol" deb javob beradi (bu holda, u jazosiz qoladigan hozirgi sherigidan voz kechadi). Shartnomalarning vaqtinchalik xususiyati allaqachon turmush qurgan ayolning "savdo-sotiq qilish" huquqini saqlab qoladi (va shu bilan birga, o'sha paytgacha sherigini "jilt" qilish).
  • Bu jarayon hamma band bo'lguncha takrorlanadi.

Ushbu algoritmning ishlash muddati murakkabligi qayerda bu erkaklar yoki ayollar soni.[4]

Ushbu algoritm quyidagilarni kafolatlaydi:

Hamma turmushga chiqadi
Oxir-oqibat, erkak va ayol ikkalasi ham ishtirok etishi mumkin emas, chunki u biron vaqt unga taklif qilgan bo'lishi kerak (chunki erkak, agar kerak bo'lsa, oxir-oqibat hammaga taklif qiladi) va unga taklif qilinsa, u albatta shug'ullanishi kerak edi ( keyin kimgadir).
Nikohlar barqaror
Elis va Bob ikkalasi ham unashtirilsin, lekin bir-biriga emas. Algoritmni tugatgandan so'ng, Elis ham, Bob ham hozirgi sheriklaridan ko'ra bir-birlarini afzal ko'rishlari mumkin emas. Agar Bob Elisni hozirgi sherigidan afzal ko'rsa, u hozirgi sherigiga taklif qilishdan oldin Elisga taklif qilgan bo'lishi kerak. Agar Elis uning taklifini qabul qilgan bo'lsa-da, oxir-oqibat u bilan turmush qurmagan bo'lsa, u uni ko'proq yoqtirgan odam uchun tashlab yuborgan bo'lishi kerak va shuning uchun Bobni hozirgi sherigidan ko'proq sevmaydi. Agar Elis uning taklifini rad etgan bo'lsa, u Bobdan ham ko'proq yoqadigan odam bilan birga edi.

Algoritm

algoritm barqaror_matching bu    Hammasini boshlang m ∈ M va w ∈ V dan ozod    esaozod kishi m hanuzgacha taklif qiladigan ayol bor qil        w: = m ro'yxatidagi m hali taklif qilmagan birinchi ayol agar w ozod keyin            (m, w) bo'ladi unashtirilgan        boshqa ba'zi juftliklar (m ', w) allaqachon mavjud agar w m dan m 'ga afzal keyin                m 'bo'ladi ozod                (m, w) bo'ladi unashtirilgan             boshqa                (m ', w) qoladi unashtirilgan            tugatish agar        tugatish agar    takrorlang

Qarorning maqbulligi

Kechiktirilgan qabul qilish erkaklar uchun maqbuldir

Turli xil barqaror mosliklarning mavjudligi savol tug'diradi: Geyl-Shapli algoritmi qaysi moslikni qaytaradi? Bu erkaklar uchun yaxshiroqmi, ayollar uchunmi yoki oraliqmi? Yuqoridagi misolda, algoritm erkaklar uchun eng maqbul echim bo'yicha bitta turga yaqinlashadi, chunki har bir ayol aynan bitta taklifni qabul qiladi va shu sababli ushbu taklifni eng yaxshi tanlovi sifatida tanlaydi va har bir erkakning qabul qilingan taklifiga ega bo'lishini ta'minlaydi va o'yin tugaydi.

Bu umumiy haqiqat: erkaklar ayollarga taklif qiladigan Geyl-Shapli algoritmi har doim barqaror mos keladigan natijani beradi barcha erkaklar uchun eng yaxshisi barcha barqaror o'yinlar orasida. Xuddi shunday, agar ayollar taklif qilsa, natijada mos keladigan narsa barcha ayollar uchun eng yaxshisi barcha barqaror o'yinlar orasida. Ushbu ikkita moslik barcha barqaror mosliklar bo'yicha katta strukturaning yuqori va pastki elementlari hisoblanadi barqaror uyg'unliklarning panjarasi.

Buni ko'rish uchun o'ngdagi rasmni ko'rib chiqing. A erkaklar taklif qiladigan algoritm tomonidan ishlab chiqilgan va B kamida bitta erkak uchun yaxshiroq bo'lgan muqobil barqaror mos keladigan bo'lsin m0. Aytaylik m0 ayol bilan B ga mos keladi w1, u A dagi o'yinini afzal ko'radi, demak A da, m0 tashrif buyurgan w1, lekin u uni rad etdi (bu yashil o'q bilan belgilanadi m0 ga w1). w1 uni aytmoqchi bo'lgan biron bir odam foydasiga rad etdi m2. Shunday qilib Bda, w1 ga mos keladi m0 ammo "intiladi" (istaydi, lekin tengsiz) m2 (bu qizil o'q bilan belgilanadi w1 ga m2).

B barqaror mos keladiganligi sababli, m2 B-da u afzal ko'rgan ayolga mos kelishi kerak w1, demoq w3. Bu shuni anglatadiki, A, m2 tashrif buyurgan w3 kelishidan oldin w1, bu shuni anglatadiki w3 uni rad etdi. Shunga o'xshash fikrlarga ko'ra va grafika cheklangan bo'lgani uchun, biz oxir-oqibat har bir erkakni tsikldagi navbatdagi ayol tomonidan A da rad etgan va uni tsikldagi keyingi odam foydasiga rad etgan yo'naltirilgan tsiklga ega bo'lishimiz kerak. Ammo bu mumkin emas, chunki bunday "rad etish tsikli" hech qayerda boshlana olmaydi: qarama-qarshilik tufayli u masalan boshlanadi. m0 - qo'shni ayol rad etgan birinchi erkak (w1). Taxminlarga ko'ra, bu rad etish faqat keyin sodir bo'ladi m2 keladi w1. Ammo bu faqat keyin sodir bo'lishi mumkin w3 rad etadi m2 - qarama-qarshilik m0 birinchi bo'lish.

Strategik mulohazalar

GS algoritmi a haqiqat mexanizmi erkaklar nuqtai nazaridan (taklif qiluvchi tomon). Ya'ni, hech kim o'z afzalliklarini noto'g'ri talqin qilib, o'ziga mos keladigan mos kelmaydi. Bundan tashqari, GS algoritmi teng guruh-strategiyani isbotlash erkaklar uchun, ya'ni erkaklarning biron bir koalitsiyasi o'zlarining afzalliklari haqidagi noto'g'ri ma'lumotni koalitsiyadagi barcha erkaklar qat'iy ravishda moddiy jihatdan ta'minlay oladigan darajada muvofiqlashtira olmaydi.[5] Biroq, ba'zi bir koalitsiya o'zlarining afzalliklarini noto'g'ri talqin qilishi mumkin, chunki ba'zi erkaklar moddiy jihatdan yaxshi, boshqalari esa bir xil sherik bo'lib qoladilar.[6]

GS algoritmi ayollar uchun haqiqatga mos kelmaydi (ko'rib chiquvchi tomon): har bir ayol o'z afzalliklarini noto'g'ri talqin qilishi va yaxshi moslashishga qodir bo'lishi mumkin.

Dasturiy ta'minot paketlarida amalga oshirish

  • R: Geyl-Shapli algoritmi (shuningdek, keyinga qoldirilgan qabul qilish algoritmi deb ataladi) barqaror nikoh va kasalxonalar / aholi muammosi ning bir qismi sifatida mavjud mos keladigan bozorlar[7][8] va mos keladigan R[9] paketlar.
  • API: MatchingTools API Geyl-Shapley algoritmi uchun bepul dasturlash interfeysini taqdim etadi.[10]
  • Python: Geyl-Shapli algoritmi bir qator taniqli o'yinlarning algoritmlari qatoriga kiritilgan taalukli kutubxona,[11] va QuantEcon / MatchingMarkets.py paket[12] umumlashtirilgan o'yin o'yinlari uchun bir nechta boshqalarni o'z ichiga oladi.
  • MATLAB: Geyl-Shapli algoritmi tayinlash2DStable qismi bo'lgan funktsiya Amerika Qo'shma Shtatlari dengiz tadqiqot laboratoriyasi bepul Tracker Component Library.[13]

Ilova

1980-yillarda Roth tibbiyot stajyorlari va shifoxonalar o'rtasidagi moslikni o'rganib chiqdi va algoritm keyinchalik ishlatilganligini ko'rsatdi Milliy rezidentlarni moslashtirish dasturi - shifoxonalarda istiqomat qiluvchilar bilan mos keladigan kliring markazi muvaffaqiyatli bo'ldi, chunki u Geyl-Shapli algoritmi bilan kodlangan printsiplarga amal qildi. 1990-yillarning o'rtalarida Roth NRMP algoritmini moslashtirishni samaraliroq qilish va ikkita shifoxonadagi juftlarni bitta kasalxonaga joylashtirish kabi maxsus ehtiyojlarni qondirish uchun takomillashtirishga chaqirildi. Roth Kanadada joylashgan Toronto shahridagi National Matching Services Inc kompaniyasining asoschisi Elliott Peranson bilan hamkorlikda takomillashtirilgan algoritmni taqdim etdi.[14]

Shuningdek qarang

Adabiyotlar

  1. ^ Geyl, D.; Shapli, L. S. (1962). "Kollejga kirish va nikoh barqarorligi". Amerika matematik oyligi. 69 (1): 9–14. doi:10.2307/2312726. JSTOR  2312726.
  2. ^ Garri Meyson: "Barqaror turmush muammosi", Brandeis sharhi 12, 1992 (onlayn ).
  3. ^ Bergstrom, Teodor C. (iyun 1992). "Sharh Ikki tomonlama mos kelish: O'yin-nazariy modellashtirish va tahlil qilish bo'yicha tadqiqot A. E. Roth va M. A. O. Sotomayor tomonidan ". Iqtisodiy adabiyotlar jurnali. 30 (2): 896–898. JSTOR  2727713.
  4. ^ Ivama, Kazuo; Miyazaki, Shuichi (2008). "Barqaror nikoh muammosi va uning turlarini o'rganish" (PDF). Bilimlarni aylanuvchi jamiyat uchun informatika ta'limi va tadqiqotlari bo'yicha xalqaro konferentsiya (icks 2008): 131–136. doi:10.1109 / ICKS.2008.7. hdl:2433/226940. ISBN  978-0-7695-3128-1.
  5. ^ Dubins, L. E.; Fridman, D. A. (1981). "Makiavelli va Geyl-Shapli algoritmi". Amerika matematik oyligi. 88 (7): 485–494. doi:10.2307/2321753. JANOB  0628016.
  6. ^ Xuang, Chien-Chung (2006). "Geyl-Shapli barqaror mos algoritmida erkaklar tomonidan aldash". Azarda, Yossi; Erlebax, Tomas (tahr.). Algoritmlar - ESA 2006 yil, 14-yillik Evropa simpoziumi, Tsyurix, Shveytsariya, 2006 yil 11-13 sentyabr, Ish yuritish.. Kompyuter fanidan ma'ruza matnlari. 4168. Springer. 418-431 betlar. doi:10.1007/11841036_39. JANOB  2347162.
  7. ^ Klein, T. (2015). "R-dagi barqaror o'yinlarning tahlili: to'plamlarga mos keladigan bozorlar" (PDF). Vignette to R Package MatchingMarkets.
  8. ^ "matchingMarkets: barqaror o'yinlarning tahlili". R loyihasi.
  9. ^ "matchingR: R va C ++ da mos algoritmlar". R loyihasi.
  10. ^ "MatchingTools API".
  11. ^ Uayld, H.; Ritsar, V .; Gillard, J. (2020). "Matching: mos keladigan o'yinlarni echish uchun Python kutubxonasi". Ochiq kodli dasturiy ta'minot jurnali. doi:10.21105 / joss.02169.
  12. ^ "matchingMarkets.py". Python to'plami.
  13. ^ "Tracker Component Library". Matlab ombori. Olingan 5-yanvar, 2019.
  14. ^ "Iqtisodiyot bo'yicha Nobel mukofotining eng zo'r o'yinlari". Ilmiy Mag. Olingan 5 dekabr, 2020.

Tashqi havolalar