เราสามารถหาเส้นทางที่สั้นที่สุดระหว่างทุกคู่ได้เร็วกว่าการแก้ปัญหาที่เกิดขึ้นซ้ำ ๆ กันหรือไม่?


9

ฉันต้องการสร้างเส้นทางที่สั้นที่สุด (จะน้อยกว่า 10) ระหว่างคู่ทั้งหมดในกราฟ กราฟคือ (จริง ๆ แล้วเป็นแผนที่รถไฟใต้ดิน):kk

  • ถ่วงน้ำหนักในเชิงบวก
  • ไม่มีทิศทาง
  • เบาบาง
  • มีประมาณ 100 โหนด

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


3
จริงๆแล้วสำหรับ 100 ยอดดูเหมือนว่าคุณไม่ต้องการอะไรที่มีประสิทธิภาพมากกว่าการแก้ปัญหา 45,000 คู่แต่ละปัญหา
David Richerby

คำตอบ:


6

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

ปัญหาเส้นทางแบบง่าย ๆทุกคู่ -shortestk

ดูเหมือนว่าจะเป็นงานวิจัยที่ค่อนข้างใหม่ รายงานล่าสุดโดย Agarwal และ Ramachandran สามารถพบได้ใน ArXiv [1] ส่วนงานก่อนหน้านี้จะให้ข้อมูลเชิงลึกเกี่ยวกับประวัติของปัญหาด้วย

ปัญหาเส้นทางทั้งหมด -shortestk

นี่เป็นทางเลือกที่ดีที่สุดในการใช้อัลกอริธึม Eppsteins ซ้ำ ๆ [2] การสังเกตโดยทั่วไปว่าการใช้อัลกอริทึมซ้ำ ๆ สำหรับปัญหาที่เกิดจากแหล่งเดียวคือวิธีที่เร็วที่สุดในปี 1977 โดย EL Lawler [3]; Eppstein มอบอัลกอริทึมที่เร็วที่สุดให้กับวันที่สำหรับปัญหาย่อยนี้

อ้างอิง

[1] Agarwal, U. และ Ramachandran, V. การค้นหาเส้นทางและรอบสั้นที่ง่ายที่สุดของarXiv: 1512.02157 [cs.DS] https://arxiv.org/pdf/1512.02157.pdfk

[2] Eppstein, D. การค้นหาเส้นทางที่สั้นที่สุด k วารสารสยามคอมพิวเตอร์ 28, 2 (1999), 652–673

[3] Lawler, EL แสดงความคิดเห็นในการคำนวณเส้นทางที่สั้นที่สุด k ในกราฟ การสื่อสารของ ACM, 20 (8): 603–605, 1977


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

น่าสนใจและน่าประหลาดใจมากที่เห็นได้ชัดว่ามี 10,000 กรณีของปัญหาที่ไม่สามารถแก้ไขได้เร็วกว่าแก้เพียง 10,000 เคสเดียวหลังจากนั้นอีกหนึ่งปัญหา
gnasher729

ความคิดเกี่ยวกับเส้นทางที่มีลูปรวมอยู่ใน "เส้นทางที่สั้นที่สุด" ดูเหมือนจะขัดกับ & ผิดปกติเพราะดูเหมือนว่ามี "เส้นทาง" ที่เทียบเท่ากับการเอาลูปออกและหนึ่งยังสงสัยว่าสิ่งเหล่านี้สามารถสร้างได้อย่างมีประสิทธิภาพจากเส้นทางที่เรียบง่าย ฯลฯ ...
vzn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.