ฉันพยายามค้นหาอัลกอริธึมเพื่อหาจุดสุดยอดวงรอบสูงสุดของกราฟกำกับ - นั่นคือชุดของวงรอบที่แยกจากกันซึ่งมีจุดยอดทั้งหมดในกับรอบที่มากที่สุดเท่าที่จะเป็นไปได้ (เราไม่พิจารณา จุดยอดบุคคลรอบที่นี่) ฉันรู้ว่าปัญหาในการค้นหาจุดสุดยอดวงรอบขั้นต่ำเช่นเดียวกับการค้นหาจุดสุดยอดวงรอบที่มีรอบคือ NP-complete แต่กรณีสูงสุดคืออะไร?G k
ในขณะที่ฉันจะหาคำตอบสำหรับสิ่งที่น่าสนใจนี้โดยทั่วไปกราฟที่ฉันต้องการใช้สำหรับสิ่งนี้ถูก จำกัด โดยการก่อสร้างของพวกเขาดังนั้นแม้ว่าปัญหานั้นจะเกิดจากปัญหา NP-complete อาจจะมีคำตอบพหุนามสำหรับอินสแตนซ์เหล่านี้
เรามีรายการจำนวนเต็ม , องค์ประกอบและเราจะใช้ , องค์ประกอบเพื่ออ้างถึงหลังจากเรียงลำดับแล้ว ตัวอย่างเช่น:ลิตรฉัน S s ฉัน L
จุดยอดของกราฟจะถูกระบุด้วยคู่เช่นว่าและn กราฟมีขอบกำกับและถ้าหากn (วัฏจักรในกราฟนี้สอดคล้องกับชุดของค่าที่สามารถเปลี่ยนรูปแบบแบบวนรอบซึ่งจะสิ้นสุดในตำแหน่งที่เรียงลำดับ)l i = n s i ≠ n ( n , i ) → ( m , j ) s j = n
ตัวอย่างข้างต้นจะให้กราฟต่อไปนี้ (โดยใช้ดัชนีที่อิง 1):
สิ่งหนึ่งที่ไม่ได้ผลคือวิธีโลภในการลบรอบที่เล็กที่สุดซ้ำแล้วซ้ำอีก (ดังตัวอย่างนี้แสดง)
โปรดทราบว่าปัญหานี้คือ (ถ้าฉันไม่ได้ทำผิดพลาดใด ๆ ) เทียบเท่ากับการถามจำนวนแลกเปลี่ยนที่คุณต้องการเรียงลำดับรายการที่กำหนด (สิ่งที่เป็นแรงบันดาลใจให้มองปัญหานี้ตั้งแต่แรก)
.) นั่นคือน้ำหนักขึ้นอยู่กับขนาดของรอบไม่ใช่ขอบโดยเฉพาะ แต่นี่อาจทำให้คนอื่นคิดว่าจะลดปัญหาได้อย่างไร
นอกจากนี้ยังปรากฏว่าการจำกัด ขนาดของรอบทำให้เกิดปัญหา APX-hard สำหรับกราฟทั่วไป สิ่งนี้ไม่ได้หมายความว่าสิ่งนั้นจะเป็นจริงสำหรับงานของการเพิ่มจำนวนรอบสูงสุดหรือสำหรับกราฟที่เฉพาะเจาะจงภายใต้การพิจารณาที่นี่ แต่ดูเหมือนว่าจะเกี่ยวข้องอย่างใกล้ชิดพอที่จะมีความสำคัญ
โดยสรุป: สามารถพบความครอบคลุมสูงสุดของจุดยอดรอบสำหรับกราฟที่สร้างจากกระบวนการข้างต้นได้หรือไม่
ในฐานะที่เป็นผู้ช่วยสองคนฉันยังสนใจด้วยว่าจุดยอดสูงสุดของวงรอบ disjoint cycle นั้นมีวิธีแก้ปัญหาที่มีประสิทธิภาพสำหรับกราฟตามอำเภอใจที่ยอมรับอย่างน้อยหนึ่งรอบวงรอบ (ซึ่งอาจจะเป็นคำตอบสำหรับคำถามหลัก) เพียงแค่กำหนดจำนวนรอบในการครอบคลุมสูงสุด (ตรงข้ามกับขอบจริงที่มีอยู่ในแต่ละ) ทำให้ปัญหาง่ายขึ้น ฉันยินดีที่จะโพสต์คำถามเหล่านี้แยกต่างหากหากผู้คนคิดว่าพวกเขาสมควรได้รับคำตอบแบบเต็มเปี่ยมด้วยตนเอง