delivering a shortest-paths tree when the graph has some negative-weight edges. The Bellman- Ford algorithm works in a more-general case than Dijkstra’s algorithm. It solves the shortest-paths tree problem even when the graph has negative-weight edges. If there is a negative-weight cycle, the algorithm indicates that no solution exists.
Recall that Dijkstra’s algorithm only relaxes those edges incident to the chosen vertex with the minimum shortest-path estimate. The failure of Dijkstra’s algorithm for graphs with negative- weight edges is due to the fact that it does not calculate the domino effect caused by negative edges. Take a look at Figure 16 once again. In that figure, if we push the negative-edge effect forward, a correct shortest-paths tree can then be built. This inspires the design of the Bellman-Ford algorithm which relaxes all edges in each iteration.
Initially, the shortest-path estimates of all vertices other than the source are set to be ∞. Then
the algorithm makes n−1 passes over all the edges of the graph. In each pass, if δ[v] > δ[u]+w(u, v),
then we set the value of δ[v] to be δ[u] + w(u, v), and modify the predecessor of vertex v. A notable
feature of the Bellman-Ford algorithm is that in the kth iteration, the shortest-path estimate for vertex v, i.e., δ[v], equals the length of the shortest path from the source to v with at most k edges.
If, after n − 1 passes, there exists an edge (u, v) such that δ[v] > δ[u] + w(u, v), then a negative cycle
has been detected. Otherwise, for all vertices other than the source, we build the shortest-paths
tree by adding the edges from their predecessors to them.
ส่งต้นไม้เส้นทางที่สั้นที่สุดเมื่อกราฟมีน้ำหนักลบขอบบาง อัลกอริทึมบริการฟอร์ดทำงานในกรณีทั่วไปมากขึ้นกว่าวิธีของไดค์ มันแก้ปัญหาแผนภูมิเส้นทางที่สั้นที่สุดเมื่อกราฟมีน้ำหนักลบขอบ ถ้ามีวงจรลบน้ำหนัก อัลกอริทึมบ่งชี้ว่า โซลูชันที่ไม่มีอยู่นึกว่า ของไดค์ก็ขอบเหล่านั้นแก้ไขปัญหากับจุดยอดที่ท่านมีการประเมินเส้นทางสั้นที่สุดน้อยที่สุดเท่านั้น ความล้มเหลวของวิธีของไดค์สำหรับกราฟที่มีขอบน้ำหนักลบได้เนื่องจากข้อเท็จจริงที่ว่ามันไม่สามารถคำนวณผลกระทบต่อเนื่องที่เกิดจากค่าลบขอบ มาดูรูป 16 ครั้ง ในรูปนั้น ถ้าเราผลักผลลบขอบ ต้นไม้ต้องสั้นที่สุดเส้นทางสามารถแล้วสามารถสร้าง นี้แรงบันดาลใจการออกแบบของอัลกอริทึมบริการฟอร์ดซึ่งก็ขอบทั้งหมดเนื่องการประเมินเส้นทางสั้นที่สุดของจุดยอดทั้งหมดไม่ใช่แหล่งจะตั้งค่าเริ่มต้นได้∞แล้วอัลกอริทึมทำผ่าน n−1 ผ่านขอบทั้งหมดของกราฟ ในแต่ละรอบ ถ้าδ [v] > δ [u] + w (u, v),แล้ว เราสามารถตั้งค่าของδ [v] [u] δ + w (u, v), และปรับเปลี่ยนรุ่นก่อนของจุดยอด v ความโดดเด่นลักษณะการทำงานของอัลกอริทึมบริการฟอร์ดเป็นที่ในการเกิดซ้ำ kth ประเมินเส้นทางสั้นที่สุดสำหรับจุดยอด v เช่น δ [v], เท่ากับความยาวของเส้นทางที่สั้นที่สุดจากแหล่งไป v กับขอบ k ที่มากที่สุดถ้า หลังจากผ่านไป n − 1 มีขอบ (u, v) เช่นδที่ [v] > [u] δ + w (u, v), จากนั้นวงจรลบพบ มิฉะนั้น สำหรับจุดยอดทั้งหมดไม่ใช่แหล่งที่มา เราสร้างสั้นเส้นทางแผนภูมิ โดยการเพิ่มขอบจากบรรดาลูกหลานเหล่านั้น
การแปล กรุณารอสักครู่..

ซึ่งเป็นเส้นทางสั้นที่สุด ต้นไม้ เมื่อกราฟมีขอบบางน้ำหนักเชิงลบ พนักงาน - ขั้นตอนวิธีฟอร์ดทำงานในคดีทั่วไปมากกว่าขั้นตอนวิธีของไดค์สตรา . มันแก้ปัญหาเส้นทางสั้นที่สุด ต้นไม้ถึงแม้กราฟมีน้ำหนักเชิงลบขอบ หากมีวงจรน้ำหนักเชิงลบ ขั้นตอนวิธีการ พบว่า ไม่มีวิธีแก้ปัญหาที่มีอยู่ .
จำได้ว่าขั้นตอนวิธีของไดค์สตราเพียงผ่อนคลายขอบที่เกิดขึ้นให้เลือกเส้นทางที่สั้นที่สุดยอดกับขั้นต่ำประมาณ ความล้มเหลวของขั้นตอนวิธีของไดค์สตราสำหรับกราฟกับลบ - ขอบน้ำหนักเนื่องจากข้อเท็จจริงที่ว่ามันไม่คำนวณผลกระทบโดมิโนจากขอบที่เป็นลบ มาดูรูปที่ 16 อีกครั้ง ในรูป ถ้าเราผลักดันผลขอบลบไปข้างหน้าที่ถูกต้องเส้นทางสั้นที่สุดต้นไม้ก็สามารถสร้าง นี้เป็นแรงบันดาลใจในการออกแบบของพนักงานฟอร์ดขั้นตอนวิธีที่ใช้ขอบในแต่ละ iteration .
ตอนแรก สั้นประมาณเส้นทางทุกจุดอื่นที่ไม่ใช่แหล่งจะตั้งเป็น∞ . งั้น
n − 1 วิธีทำให้ผ่านไปทุกขอบของกราฟ ในการผ่านแต่ละ ถ้าδ [ V ] > δ [ u ] w ( U , V )
แล้วเราตั้งค่าของδ [ V ] เป็นδ [ u ] w ( U , V ) และปรับเปลี่ยนบรรพบุรุษของจุดยอด V . คุณลักษณะเด่นของพนักงานฟอร์ด
ขั้นตอนวิธีใน kth ซ้ำ , เส้นทางที่สั้นที่สุดประมาณจุดยอด V , I , δ [ V ] เท่ากับความยาว ของเส้นทางที่สั้นที่สุดจากแหล่งในที่ที่สุดขอบ K .
ถ้าหลังจาก n − 1 ผ่านไป มีขอบ ( u , v ) เช่นที่δ [ V ] > δ [ u ] w ( u , v )แล้วรอบลบ
ถูกตรวจพบ ไม่งั้นทุกจุดอื่นที่ไม่ใช่แหล่งที่เราสร้างเส้นทางสั้นที่สุด
ต้นไม้โดยการเพิ่มขอบจากรุ่นก่อนของพวกเขาเพื่อพวกเขา .
การแปล กรุณารอสักครู่..
