คำตอบ:
สัญชาตญาณการกระทำกราฟที่เหลือในปัญหาการไหลสูงสุดจะถูกนำเสนอได้ดีมากในการบรรยายนี้ คำอธิบายจะเป็นดังนี้
สมมติว่าเรากำลังพยายามที่จะแก้ปัญหาการไหลสูงสุดสำหรับเครือข่ายต่อไปนี้ (ซึ่งแต่ละป้ายฉE / C Eหมายถึงทั้งการไหลฉอีผลักดันให้ผ่านขอบอีและจุคอีขอบนี้):
แนวทางโลภที่เป็นไปได้วิธีหนึ่งคือ:
นั่นคือค้นหาพา ธ ที่มีความจุที่ใช้ได้ส่งโฟลว์ไปตามเส้นทางนั้นและทำซ้ำ
ในการดำเนินการฮิวริสติกที่เป็นไปได้จะพบเส้นทางการเติมสามเส้นทางคือP 1 , P 2และP 3ตามลำดับนี้ เส้นทางเหล่านี้มีการไหล 2, 2 และ 1 หน่วยตามลำดับสำหรับการไหลรวม 5:
การเลือกเส้นทางในคำสั่งนี้จะนำไปสู่ทางออกที่ดีที่สุด แต่สิ่งที่เกิดขึ้นถ้าเราเลือกครั้งแรก (กล่าวคือก่อนที่P 1และP 2 )?
การเข้ารหัสการดำเนินงานได้รับอนุญาตให้ยกเลิกเหล่านี้เป็นเป้าหมายหลักของกราฟที่เหลือ
ตัวอย่างเช่นพิจารณากราฟที่เหลือที่ได้รับหลังจากการวนซ้ำครั้งแรกของฮิวริสติกแบบโลภเมื่อฮิวริสติกเลือกก่อน (นั่นคือเมื่อได้รับโฟลว์การบล็อก):
โปรดทราบว่าการดำเนินการเลิกทำที่ผลัก 2 หน่วยการไหลจากถึงถูกเข้ารหัสเป็นเส้นทางไปข้างหน้า (การเพิ่ม) เส้นทางจากถึงใน :
โดยทั่วไป:
เมื่อเลือกเส้นทางการเติมในกราฟที่เหลือ :
- ขอบทุกอันในที่สอดคล้องกับขอบด้านหน้าในเพิ่มการไหลโดยใช้ขอบที่มีความจุที่มีอยู่
- ขอบทุกอันในที่สอดคล้องกับขอบไปข้างหลังในการไหลที่ถูกผลักไปในทิศทางไปข้างหน้าในอดีต
นี่คือแนวคิดหลักที่อยู่เบื้องหลังวิธีการฟอร์ด Fulkerson
วิธีฟอร์ด - ฟุลเกอร์สันดำเนินการในลักษณะเดียวกับวิธีโลภที่อธิบายไว้ข้างต้น แต่มันจะหยุดก็ต่อเมื่อไม่มีเส้นทางเพิ่มเติมในกราฟที่เหลือ (ไม่ใช่ในเครือข่ายดั้งเดิม) วิธีการที่ถูกต้อง (เช่นมันมักจะคำนวณการไหลสูงสุด) เพราะกราฟที่เหลืออยู่สร้างเงื่อนไข optimalityต่อไปนี้:
ให้เครือข่าย , การไหลเป็นค่าสูงสุดในหากไม่มีเส้นทางในกราฟที่เหลือ
สัญชาตญาณที่อยู่เบื้องหลังเครือข่ายที่เหลือคือมันช่วยให้เราสามารถ "ยกเลิก" การไหลที่ได้รับมอบหมายแล้วถ้าเราได้กำหนด 2 หน่วยการไหลจากถึงแล้วผ่าน 1 หน่วยการไหลจากถึงถูกตีความว่าเป็นการยกเลิกหนึ่งหน่วย ของการไหลต้นฉบับจากไปB