มีอัลกอริทึมที่รู้จักกันดีในการจัดตารางการแข่งขันของทัวร์นาเมนต์หรือไม่?


10

เพียงแค่สงสัยว่ามีอัลกอริทึมการจัดตารางทัวร์นาเมนต์ออกมาแล้วหรือไม่ที่ฉันสามารถใช้หรือปรับตัวได้เล็กน้อย

นี่คือความต้องการของฉัน:

  • จำนวนตัวแปรของคู่ต่อสู้ที่อยู่ในจำนวนตัวแปรของทีม / สโมสรแต่ละอันจะต้องจับคู่กับคู่ต่อสู้
  • ฝ่ายตรงข้ามสองคนไม่สามารถมาจากสโมสรเดียวกันได้
  • หากมีผู้เล่นจำนวนคี่หนึ่งในนั้นจะถูกสุ่มเลือกเพื่อรับการลาก่อน

อัลกอริทึมใด ๆ ที่เกี่ยวข้องกับชุดข้อกำหนดประเภทนี้จะได้รับการชื่นชม

แก้ไข:ฉันต้องการเรียกใช้มากที่สุดครั้งเดียวเท่านั้นสร้างการจับคู่สำหรับ 'รอบแรก' ของทัวร์นาเมนต์


คุณอาจต้องการที่จะมองเข้าไปจับคู่สูงสุด
svick

คำตอบ:


10

อย่างที่ฉันเห็นคุณต้องการค้นหาการจับคู่สูงสุดในกราฟ ในความเป็นจริงแล้วโหนดเป็นผู้เล่นพวกเขาเชื่อมต่อซึ่งกันและกันถ้าพวกเขาไม่ได้อยู่ในสโมสรเดียวกันตอนนี้คุณควรหาจำนวนสูงสุดของขอบที่ไม่มีจุดยอดเดียวกัน ดูวิธีการจับคู่เอ็ดมันด์สูงสุด


1

จากช่วงเวลาสั้น ๆ ในวิกิพีเดียเมื่อยี่สิบวินาทีที่ผ่านมาดูเหมือนว่าคุณจะต้องตัดสินใจเกี่ยวกับกลยุทธ์การกำจัดเสียก่อน ดูที่ Wikipedia:

  1. สวิสระบบ
  2. เดี่ยว elimination_tournament
  3. ดับเบิล elimination_tournament

บทความเดียวขจัดอธิบายเพาะเทคนิค (อัลกอริทึมที่คุณกำลังมองหา) สวยทั่วไปและมันดูเป็นประโยชน์แม้จะไม่ได้ค่อนข้างอัลกอริทึม


ฉันชอบชาวสวิสซึ่งให้อันดับกลางไม่เหมือนการกำจัดแบบดับเบิ้ล / ซิงเกิลและค้นหาผู้เล่น N อันดับต้น ๆ ในจำนวนรอบเดียวกับการแข่งขันแบบ N-elimination
Mooing Duck

1

เมื่อทำเช่นนี้ดูเหมือนว่าอัลกอริทึมการจับคู่เริ่มต้นจะค่อนข้างง่าย:

While two or more clubs have at least one member not paired  
    select the two clubs with the most unpaired members
    select a random unpaired member from each club
    pair those members

หากมีใครเหลือคนหนึ่งมันจะเป็นคนที่สุ่มโดยมีข้อยกเว้นหนึ่งข้อ หากสโมสรหนึ่งมีสมาชิกมากกว่าผู้เล่นฝ่ายตรงข้ามทั้งหมดรวมกันส่วนที่เหลือจะมาจากสโมสรนั้นเสมอ แนบเนียนว่าเป็นสถานการณ์ที่ซุปเปอร์หายากและการเลือกซื้อจากสโมสรอื่น ๆ จะออกมากยิ่งขึ้นคนที่เหลือ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.