1
ปัญหาการแต่งงานที่มั่นคง
พื้นหลัง สมมติว่ามี2*nคนแต่งงานและสมมติว่าแต่ละคนจะถูกดึงดูดให้nคนอื่น ๆ ภายใต้ข้อ จำกัด ที่: สถานที่น่าสนใจคือสมมาตร ; เช่นถ้าคนที่Aจะดึงดูดให้คนBคนนั้นเป็นที่ดึงดูดให้กับบุคคลBA แรงดึงดูดใจคือการต่อต้าน ; เช่นถ้าบุคคลAและบุคคลBแต่ละคนดึงดูดให้บุคคลCแล้วบุคคลAและบุคคลBจะไม่ดึงดูดซึ่งกันและกัน ดังนั้นเครือข่ายของสถานที่ท่องเที่ยวรูปแบบ (ไม่มีทิศทาง) ฝ่ายกราฟสมบูรณ์ Kn,nนอกจากนี้เรายังสมมติว่าแต่ละคนจัดอันดับคนที่พวกเขาสนใจ สิ่งเหล่านี้อาจแสดงเป็นน้ำหนักขอบในกราฟ การแต่งงานคือการจับคู่(A,B)ที่AและBดึงดูดซึ่งกันและกัน การแต่งงานไม่แน่นอนหากมีการแต่งงานอีกครั้งที่คน ๆ หนึ่งจากการแต่งงานแต่ละครั้งสามารถหย่าร้างคู่ครองของพวกเขาและแต่งงานกันและทั้งสองจบลงด้วยคนที่พวกเขาอันดับสูงกว่าอดีตคู่ของพวกเขา เป้าหมาย งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่สมบูรณ์ซึ่งใช้ความชอบของแต่ละคนในฐานะอินพุตและเอาท์พุตการแต่งงานสำหรับแต่ละคนเช่นว่าการแต่งงานแต่ละครั้งมีเสถียรภาพ อินพุต อินพุตอาจอยู่ในรูปแบบที่สะดวก เช่นกราฟถ่วงน้ำหนักรายการการตั้งค่าเรียงลำดับพจนานุกรม / การมอบหมาย ฯลฯ คุณสามารถเลือกที่จะใส่จำนวนผู้ใช้ทั้งหมดเป็นอินพุต แต่ไม่อนุญาตให้ป้อนข้อมูลอื่น เอาท์พุต เอาต์พุตยังสามารถอยู่ในรูปแบบที่สะดวกได้ เช่นรายการของสิ่งอันดับ, ปกขอบน้อยที่สุด, ฟังก์ชั่นที่เชื่อมโยงกับคู่ของพวกเขาแต่ละคน, ฯลฯ โปรดทราบว่าข้อ จำกัด เพียงอย่างเดียวคือการแต่งงานแต่ละครั้งมีเสถียรภาพ, ไม่มีข้อกำหนดอื่น ๆ หมายเหตุ คุณสามารถค้นหาข้อมูลเพิ่มเติมและO(n^2)อัลกอริทึมเพื่อแก้ปัญหานี้ในWikipediaหรือวิดีโอ Numberphileนี้ อย่างไรก็ตามคุณสามารถใช้อัลกอริทึมใด ๆ ได้ฟรี ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม นี่คือรหัสกอล์ฟ …