เส้นทางแบบง่ายบน dag ที่มีขอบด้านหลัง


10

ความซับซ้อนของปัญหาต่อไปนี้คืออะไร ( P? NP-hard?):

การป้อนข้อมูล:กำกับวัฏจักรกราฟชุดของขอบย้อนหลังและโหนดที่แตกต่างกันสองและเสื้อD=(V,E)EV×Vst

คำถาม: Letแสดงกราฟที่เกิดขึ้นจากการเพิ่มขอบจากE'มีเส้นทางง่าย ๆ จากถึงในที่ใช้อย่างน้อยหนึ่งขอบถอยหลัง?G=(V,EE)DEstG

หมายเหตุ: 0) เส้นทางแบบง่ายคือเส้นทางที่ไม่มีจุดสุดยอดซ้ำขอบด้านหลังเป็นขอบที่ขัดแย้งกับลำดับบางส่วนที่บ่งบอกถึงโดย DAG 1) ปัญหาเป็นเรื่องง่ายถ้าเราขอเส้นทางง่าย ๆ ที่จะใช้หนึ่งขอบย้อนหลัง (หรือจำนวนคงที่) โดยการลดลงเล็กน้อยเพื่อแก้ไขปัญหาเส้นทางที่แยกจากกันซึ่งยอมรับวิธีการแก้ปัญหาแบบ PTime อย่างง่ายใน DAG ( Perl และ Shiloach, JACM'78 ) 2) ปัญหาเส้นทางที่แยกออกจากกันนั้นเป็นปัญหาที่ทำให้สมบูรณ์ในกราฟทั่วไป ( Fortune et al., TCS'80 )


1
สิ่งนี้ไม่เหมาะสม แต่ก็เพียงพอที่จะแสดงให้เห็นว่าปัญหาของคุณเป็น P (ยกเว้นว่าฉันเข้าใจผิดบางอย่าง): ให้เป็นขอบของ ; ใช้ขั้นตอนวิธีเส้นทางที่สั้นที่สุดจากไปกราฟสำหรับม. ในคำอื่น ๆ เก็บเพิ่มขอบหยิบมาจากกราฟจนกว่าคุณจะพบเส้นทางจากไปทีe1,...,emEstGi=(V,Ej=1i{ej})i=1,2,...,mEG=(V,E)st
Marzio De Biasi

1
Marzio: แต่ถ้าเส้นทางที่คุณพบใช้ขอบในและไม่มีใน ? อาจมีเส้นทางที่แตกต่างซึ่งรวมถึงขอบของด้วย EEE
David Eppstein

สิ่งที่น่ารำคาญมากเกี่ยวกับปัญหาของคุณคือปัญหาที่เกี่ยวข้องดังต่อไปนี้สามารถมองเห็นได้ยากว่า NP-hard: ให้กราฟและสองคู่ยอด (s, t), (s ', t') เพื่อตรวจสอบว่ามีจุดยอด -joint เส้นทางจาก s ถึง t และจาก s 'ถึง t' แม้ในขณะที่ t = s 'และแม้แต่บนกราฟที่มีการรวมกันของ DAG สองตัว ถึงกระนั้นสิ่งนี้ดูเหมือนจะไม่ช่วยคำถามที่คุณถาม
a3nm

1
ปัญหาการแยกทางคือ W [1] - ถึงแม้จะอยู่บน DAG และเป็นการทำการบ้านเพื่อแสดงว่ามันเป็นปัญหา NP-Hard ใน DAG อัลกอริทึม Shiloach สำหรับปัญหาพา ธ ที่แยกกันสองทางและในลักษณะที่คล้ายกันก็ใช้ได้กับปัญหาพา ธ ที่แยกออกจากกันใน DAG แต่ใช้เวลา n ^ k แต่อย่างน้อยก็ยอมรับอัลกอริทึม XP สำหรับปัญหาของคุณ
Saeed
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.