เส้นทางที่สั้นที่สุดไม่อนุญาตให้แต่ละขอบ


9

ฉันขอขอบคุณพอยน์เตอร์หรือคำศัพท์ใด ๆ ที่ทำให้ฉันเริ่มต้นในทิศทางที่ถูก

เรามีกราฟกำกับ G=(V,E) และความยาว lij สำหรับแต่ละขอบ ijที่สามารถถือว่าเป็นบวก มีโหนดเริ่มต้นพิเศษs และโหนดสิ้นสุด t.

สำหรับแต่ละขอบ ijเราต้องการคำนวณความยาวของเส้นทางที่สั้นที่สุดจาก s ถึง t ที่ไม่ได้ใช้ขอบ ij.

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

ขอบคุณล่วงหน้า.

คำตอบ:


18

ปัญหาที่คุณพูดถึงเรียกว่า "เส้นทางการเปลี่ยน" นี่คือการอ้างอิงไม่กี่:

  1. Gotthilf และ Lewenstein อัลกอริทึมที่ได้รับการปรับปรุงสำหรับเส้นทางที่สั้นที่สุด k อย่างง่ายและปัญหาเส้นทางทดแทน Inf พร ตัวอักษร, 109 (7): 352–355, 2009.บทความนี้ให้อัลกอริทึมที่แน่นอนที่สุดที่เร็วที่สุดสำหรับปัญหาพา ธ การแทนที่ที่รันในเวลาO(mn+n2loglogn) เวลาในกราฟด้วย n โหนดและ m ขอบ
  2. A. Bernstein อัลกอริธึมที่เหมาะสมที่สุดสำหรับการประมาณเส้นทางทดแทนและเส้นทางที่สั้นที่สุดที่สั้นที่สุดในกราฟทั่วไป ในพรอ. SODA, หน้า 742–755, 2010เอกสารนี้ให้รูปแบบการประมาณเวลา quasilinear อย่างน่าอัศจรรย์สำหรับปัญหา
  3. J. Hershberger, S. Suri, และ A. Bhosle ในความยากลำบากของปัญหาเส้นทางที่สั้นที่สุด ในพรอ. STACS หน้า 343–354, 2003เอกสารนี้แสดงให้เห็นว่าอัลกอริทึมการเปรียบเทียบพา ธใด ๆ ที่แก้ปัญหาพา ธการแทนที่ต้องใช้เวลาอย่างน้อยที่สุดΩ(mn) เวลา.
  4. V.Vassilevska W. , R. Williams Subcubic Equivalences ระหว่างปัญหา Path, Matrix และ Triangle ในพรอ. FOCS, หน้า 645-654, 2010เราแสดงให้เห็นว่าหากคุณได้รับO(n3ε) อัลกอริทึมที่แน่นอนเวลาสำหรับเส้นทางทดแทนสำหรับค่าคงที่ใด ๆ ε>0จากนั้นสิ่งนี้สามารถแปลงเป็น O(n3ε) อัลกอริธึมเวลาสำหรับทุกเส้นทางที่สั้นที่สุดสำหรับคู่คงที่ ε>0. อัลกอริทึม subcubic อย่างแท้จริงสำหรับทุกเส้นทางที่สั้นที่สุดของคู่เป็นปัญหาเปิดที่ยาวนาน
  5. O. Weimann, R. Yuster เส้นทางการเปลี่ยนผ่านการคูณเมทริกซ์รวดเร็ว ในพรอ. FOCS, หน้า 655-662, 2010และV. Vassilevska W. เส้นทางการเปลี่ยนที่เร็วขึ้น ในพรอ. SODA, หน้า 1337-1346, 2011เอกสารเหล่านี้แสดงวิธีใช้การคูณเมทริกซ์อย่างรวดเร็วเพื่อค้นหาเส้นทางการแทนที่ในกราฟที่มีน้ำหนักขอบจำนวนเต็มในช่วงเวลา{M,,M}. กระดาษหลังให้รันไทม์ที่รู้จักกันดีที่สุดจนถึงO~(Mnω).

8

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


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