การค้นหารอบผสมในกราฟผสมนั้นเทียบเท่ากับการค้นหารอบชี้นำเบื้องต้น (ความยาว> = 3) ในกราฟกำกับที่สอดคล้องกัน กราฟกำกับที่สอดคล้องกันนั้นได้มาจากกราฟผสมโดยแทนที่แต่ละขอบที่ไม่ได้ทิศทางด้วยสองขอบชี้นำที่ชี้ไปในทิศทางตรงกันข้าม พิสูจน์: (1) แต่ละรอบการชี้นำเบื้องต้น (ความยาว> = 3) ใน digraph ตรงกับรอบการผสมในกราฟผสม (2) แต่ละรอบผสมในกราฟผสมมีวงจรผสมระดับประถมศึกษาที่มีความยาว> = 3 และแต่ละรอบดังกล่าวสอดคล้องกับวงจรกำกับโดยตรง (ยาว> = 3) ในกราฟกำกับ (1) และ (2) ร่วมกันพิสูจน์ได้ทั้งสองทิศทางของคำสั่ง, QED. ดังนั้นเรากำลังมองหาวิธีอ้างอิงในการคำนวณ (ทั้งหมด?) รอบประถม (ความยาว> = 3) ในกราฟกำกับ
ความคิดเห็นที่ระบุว่า cs.stackexchange มีบาง คำตอบสำหรับคำถามนี้ แต่มันก็ไม่มีความชัดเจนว่าจะจัดระเบียบผลลัพธ์ที่เป็นคำตอบที่รัดกุม โพสต์บล็อกนี้น่าจะสรุปการอ้างอิงที่สำคัญ (มากที่สุด) อย่างดี:
อัลกอริทึมโดย R. Tarjan
อัลกอริทึมที่เก่าที่สุดที่ฉันรวมถูกเผยแพร่โดย R. Tarjan ในปี 1973
Enumeration of the elementary circuits of a directed graph
R. Tarjan, SIAM Journal on Computing, 2 (1973), pp. 211-216
http://dx.doi.org/10.1137/0202017
อัลกอริทึมโดย DB Johnson
อัลกอริทึมโดย DB Johnson จาก 1975 ปรับปรุงบนอัลกอริทึมของ Tarjan ด้วยความซับซ้อน
Finding all the elementary circuits of a directed graph.
D. B. Johnson, SIAM Journal on Computing 4, no. 1, 77-84, 1975.
http://dx.doi.org/10.1137/0204007
ในกรณีที่เลวร้ายที่สุดอัลกอริทึมของ Tarjan มีความซับซ้อนของเวลา O (n⋅e (c + 1)) ในขณะที่อัลกอริทึมของ Johnson ควรจะอยู่ใน O ((n + e) (c + 1)) โดยที่ n คือจำนวน จุดยอด e คือจำนวนขอบและ c คือจำนวนรอบในกราฟ
อัลกอริทึมโดย KA Hawick และ HA James
อัลกอริทึมโดย KA Hawick และ HA James จากปี 2008 ปรับปรุงเพิ่มเติมเกี่ยวกับอัลกอริทึมของ Johnson และทำไปด้วยข้อ จำกัด
Enumerating Circuits and Loops in Graphs with Self-Arcs and Multiple-Arcs.
Hawick and H.A. James, In Proceedings of FCS. 2008, 14-20
www.massey.ac.nz/~kahawick/cstn/013/cstn-013.pdf
http://complexity.massey.ac.nz/cstn/013/cstn-013.pdf
ตรงกันข้ามกับอัลกอริทึมของจอห์นสันอัลกอรึทึมของ KA Hawick และ HA James สามารถจัดการกราฟที่มีขอบที่เริ่มต้นและสิ้นสุดที่จุดยอดเดียวกันและหลายขอบที่เชื่อมต่อจุดยอดสองจุดเดียวกัน
การทดสอบวงจรนั้นดูเหมือนจะง่าย: คำนวณส่วนประกอบที่เชื่อมต่ออย่างยิ่งของกราฟ รอบใด ๆ (ระดับประถมศึกษา) จะมีอยู่อย่างสมบูรณ์ในองค์ประกอบที่เชื่อมต่ออย่างยิ่ง องค์ประกอบที่เชื่อมต่ออย่างยิ่งประกอบด้วยรอบประถมถ้ามันไม่ได้เป็นต้นไม้ที่ไม่ได้อ้อม
อัลกอริธึมที่นำเสนอของ David Eppstein ยังคำนวณรอบประถมหนึ่งรอบเพื่อเป็นหลักฐาน จุดยอดหรือขอบใด ๆ ที่ไม่มีอยู่ในวัฏจักรพื้นฐานสามารถลบได้เป็นขั้นตอนการประมวลผลล่วงหน้าเพื่อปรับปรุงความเร็วของอัลกอริทึมด้านบน อัลกอริทึมของ David Eppstein สามารถนำมาใช้เพื่อจุดประสงค์นั้นได้แม้ว่าจะใช้เฉพาะกับส่วนประกอบที่เชื่อมต่ออย่างรุนแรงเท่านั้น แต่จะไม่ลบจุดสุดยอดหรือขอบที่เป็นไปได้ทั้งหมดที่สามารถลบได้ แต่ถึงแม้ว่ามันจะสามารถขยายออกไปทำเช่นนั้นได้ ( อย่างน้อยการคำนวณต้นไม้บล็อกตัดช่วยให้สามารถลบจุดสุดยอดที่เป็นไปได้ที่สามารถลบได้) มันก็ไม่มีความชัดเจนว่ามันจะปรับปรุงความเร็วของอัลกอริทึมข้างต้นหรือไม่