ปัญหาวิถีสั้นสุด

จากวิกิพีเดีย สารานุกรมเสรี
กราฟซึ่งมี 6 จุดยอด และ 7 เส้นเชื่อม

ในทฤษฎีกราฟ ปัญหาวิถีสั้นสุด (อังกฤษ: shortest path problem)​ เป็นปัญหาที่ต้องการหาวิถีระหว่างจุดยอด 2 จุดภายในกราฟ โดยที่ผลรวมของน้ำหนักในเส้นเชื่อมแต่ละเส้นรวมกันแล้วน้อยที่สุด ตัวอย่างปัญหานี้เช่นการหาวิธีเดินทางจากจุดหนึ่งไปอีกจุดหนึ่งในแผนที่ ในกรณีนี้ จุดยอดแทนด้วยสถานที่ต่างๆ ส่วนเส้นเชื่อมแทนด้วยถนนหรือเส้นทาง และน้ำหนักบนเส้นเชื่อมแทนด้วยเวลาในการเดินทางด้วยถนนหรือเส้นทางนั้นๆ


ปัญหาวิถีสั้นสุดมีอยู่ 3 รูปแบบ

  • ปัญหาวิถีสั้นสุดแบบแหล่งต้นทางเดียว เป็นปัญหาที่ต้องการหาวิถีสั้นสุดจากจุดยอด v ไปจุดยอดอื่นๆทั้งหมดในกราฟ
  • ปัญหาวิถีสั้นสุดแบบแหล่งปลายทางเดียว เป็นปัญหาที่ต้องการหาวิถีสั้นสุดจากจุดยอดทั้งหมดมาที่จุดยอด v ปัญหานี้ในกรณีของกราฟไม่ระบุทิศทางสามารถแก้ได้ทันทีโดยมองปลายทางเป็นต้นทาง แล้วแก้ไขปัญหาวิถีสั้นสุดแบบแหล่งต้นทางเดียวแทน ในกรณีกราฟระบุทิศทางก็สามารถลดรูปปัญหามาเป็นปัญหาวิถีสั้นสุดแบบแหล่งต้นทางเดียวได้เช่นกัน โดยกลับเส้นเชื่อมจากจุดยอด a ไป b เป็น b ไป a ก่อน แล้วแก้ไขปัญหาวิถีสั้นสุดแบบแหล่งต้นทางเดียวจาก v แทน
  • ปัญหาวิถีสั้นสุดแบบทุกคู่ เป็นปัญหาที่ต้องการหาวิถีสั้นสุดจาก u ไป v สำหรับทุกๆจุดยอด u , v ภายในกราฟ

เนื้อหา

[แก้] ขั้นตอนวิธี

ขั้นตอนวิธีในการแก้ปัญหาที่ได้รับความนิยมและสำคัญมีดังนี้

[แก้] ปัญหาวิถีสั้นสุดแบบแหล่งต้นทางเดียว

ขั้นตอนวิธี ความซับซ้อนทางด้านเวลา ผู้คิดค้น
O(V4) Shimbel 1955
O(V2EL) Ford 1956
ขั้นตอนวิธีของเบลแมน-ฟอร์ด O(VE) Bellman 1958, Moore 1959
O(V2 log V) Dantzig 1958, Dantzig 1960, Minty (cf. Pollack & Wiebenson 1960), Whiting & Hillier 1960
ขั้นตอนวิธีของไดค์สตรา O(V2) Leyzorek et al. 1957, Dijkstra 1959
... ... ...
ขั้นตอนวิธีของไดค์สตราพร้อมใช้ฮีปฟีโบนัชชี O(E + V log V) Fredman & Tarjan 1984, Fredman & Tarjan 1987
O(E log log L) Johnson 1982, Karlsson & Poblete 1983
Gabow's algorithm O(V logE/V L) Gabow 1983b, Gabow 1985b
O(E + V√log L) Ahuja et al. 1990

[แก้] ปัญหาวิถีสั้นสุดแบบทุกคู่

  • ขั้นตอนวิธีของฟลอยด์-วอร์แชล ใช้เวลา O(V3)
  • ขั้นตอนวิธีของจอห์นสัน ใช้เวลา O(V2log V + VE)

[แก้] เนื้อหาที่เกี่ยวข้อง

[แก้] อ้างอิง

[แก้] ดูเพิ่ม

เครื่องมือส่วนตัว

สิ่งที่แตกต่าง
การกระทำ
ป้ายบอกทาง
มีส่วนร่วม
พิมพ์/ส่งออก
เครื่องมือ
ภาษาอื่น