ขั้นตอนวิธีของดีนิซ (อังกฤษ: Dinic's algorithm) เป็นขั้นตอนวิธีสำหรับการแก้ปัญหาการไหลมากสุด (อังกฤษ: Maximum flow) ในระบบเครือข่ายการไหล (อังกฤษ: Flow network) ถูกคิดขึ้นโดย (ฮีบรู: יפים (חיים) א 'דיניץ; อังกฤษ: Yefim (Chaim) A. Dinitz) นักวิทยาศาสตร์คอมพิวเตอร์ชาวยิว (อดีตเป็นชาวรัสเซีย) ในปี ค.ศ. 1970 ขั้นตอนวิธีนี้จะใกล้เคียงกับขั้นตอนวิธีของเอ็ดมอนด์-คาป (อังกฤษ: Edmonds-Karp algorithm) ซึ่งใช้หลักการหาวิถีสั้นสุดและมีอัตราการเติบโตเป็นของเวลาทำงาน แต่ขั้นตอนวิธีของดีนิซจะมีอัตราการเติบโตที่น้อยกว่าคือ ซึ่งเป็นผลมาจากการนำแนวคิดเรื่อง กราฟระดับ และ กระแสที่จำกัดการไหล มาใช้
ประวัติ
เยฟิม ดีนิทซ์ คิดค้นขั้นตอนวิธีนี้เพื่อตอบโจทย์แบบฝึกหัดก่อนชั้นเรียนในการเรียน ในขณะนั้นเขาไม่รู้ข้อเท็จจริงพื้นฐานเกี่ยวกับขั้นตอนวิธีของฟอร์ด-เฟิลเกอร์สัน
ดีนิทซ์กล่าวว่าการประดิษฐ์ขั้นตอนวิธีของเขาเกิดขึ้นในเดือนมกราคม พ.ศ. 2512 และได้รับการตีพิมพ์ในปี พ.ศ. 2513 ในวารสาร Доклады Академии Наук СССР (Doklady Akademii Nauk SSSR ) ในปี พ.ศ. 2517 (שמעון אבן) และ (אלון איתי , ซึ่งกำลังศึกษาปริญญาเอกในขณะนั้น) ที่สถาบันเทคโนโลยีอิสราเอล (מכון טכנולוגי לישראל - הטכניון) ในไฮฟา มีความสนใจและประทับใจกับขั้นตอนวิธีของดีนิทซ์ รวมถึงแนวคิดที่เกี่ยวข้องกับการปิดกั้นการไหลของ (Александр Викторович Карзанов) อย่างไรก็ตาม มันยากสำหรับพวกเขาที่จะถอดรหัสเอกสารทั้งสองฉบับนี้ โดยแต่ละฉบับมีเพียงสี่หน้าเพื่อให้เป็นไปตามข้อจำกัดของวารสาร Doklady Akademii Nauk SSSR โดยไม่ท้อถอยหลังจากสามวันของความพยายามก็สามารถทำความเข้าใจเอกสารทั้งสองฉบับได้ ยกเว้นปัญหาการบำรุงรักษาเครือข่ายแบบชั้น ในอีกสองสามปีต่อมาอีเวน ได้บรรยายเกี่ยวกับ "ขั้นตอนวิธีของ Dinic" โดยออกเสียงชื่อผู้เขียนผิดในขณะที่เผยแพร่ให้เป็นที่รู้จัก อีเวนและอีไตมีส่วนร่วมในขั้นตอนวิธีนี้ด้วยการรวมการค้นหาในแนวกว้าง (BFS) และ (DFS) ซึ่งปัจจุบันเป็นวิธีที่นำเสนอขั้นตอนวิธีนี้โดยทั่วไป
เป็นเวลาประมาณ 10 ปีหลังจากที่ขั้นตอนวิธีของฟอร์ด-เฟิลเกอร์สัน ถูกประดิษฐ์ขึ้น ไม่มีใครรู้ว่ามันสามารถมีจุดสิ้นสุดในเวลาพหุนามในกรณีทั่วไปของความจุที่มีค่าขอบเป็นจำนวนอตรรกยะได้หรือไม่ สิ่งนี้ทำให้ไม่มีขั้นตอนวิธีเวลาพหุนามที่รู้จักสำหรับการแก้ปัญหาการไหลสูงสุดในกรณีทั่วไป ขั้นตอนวิธีของดีนิทซ์ และขั้นตอนวิธีของเอ็ดมอนด์-คาป (เผยแพร่ในปี พ.ศ. 2515) ทั้งสองแบบต่างแสดงให้เห็นว่าในขั้นตอนวิธีของฟอร์ด-เฟิลเกอร์สัน หากแต่ละเส้นสั้นที่สุด ความยาวของวิถีแต่งเติมจะไม่มีการลดลงและขั้นตอนวิธีจะมีจุดสิ้นสุดเสมอ
นิยาม
ให้ เป็นเน็ตเวิร์ก มีเส้นเชื่อมจาก ไป โดยอนุญาตให้กระแสไหลผ่านได้ และมีกระแสไหลผ่านแล้ว
- กราฟความจุคงเหลิอ (residual capacity) เป็นกราฟที่ได้จาก นิยามโดย
- เมื่อ ,
- :
- :
- นอกเหนือจากนี้
- กราฟความจุคงเหลิอ คือกราฟ ที่มี
- วิถีแต่งเติม (augmenting path) คือวิถีจาก ภายในกราฟความจุคงเหลิอ
- ให้ แทนวิถีสั้นสุดจาก ไป ในกราฟ
- จะได้ว่า กราฟระดับ (level graph) ของ คือกราฟ ที่มี
- กระแสจำกัดการไหล คือกระแสจาก ไป ซึ่งทำให้ มี และไม่มีวิถี
ขั้นตอนวิธี
ขั้นตอนวิธีของดีนิซ
- อินพุต : เน็ตเวิร์ก
- เอาต์พุต : กระแส ที่มีค่ากระแสสูงสุด
- กำหนด สำหรับทุก
- สร้าง จาก ของ ถ้า ให้หยุดและคืนค่า
- หากระแสจำกัดการไหล ใน
- ขยายกระแส ด้วย จากนั้นกลับไปทำขั้นตอนที่ 2
วิเคราะห์
จะเห็นได้ว่าจำนวนของเส้นเชื่อมในทุก กระแสจำกัดการไหล จะเพิ่มขึ้นอย่างน้อยที่ละ 1 ในการวน 1 รอบ และจะเพิ่มจนมีค่าไม่เกิน โดย เป็นจำนวนปมทั้งหมดในเน็ตเวิร์ก กราฟระดับ สามารถสร้างได้จาก การค้นตามแนวกว้าง ในเวลา โดย เป็นจำนวนเส้นเชื่อม และกระแสจำกัดการไหลในทุก ๆ กราฟระดับ จะสามารถหาได้ภายในเวลา ดังนั้นขั้นตอนวิธีของดีนิซจึงใช้เวลาในการทำงานเป็น
นอกจากนี้ยังสามารถทำให้ขั้นตอนวิธีของดีนิซมีประสิทธิภาพเพิ่มขึ้นด้วยการใช้โครงสร้างข้อมูลที่เรียกว่า ต้นไม้พลวัต () ซึ่งจะทำให้เวลาการหากระแสจำกัดการไหลลดลงเป็น ทำให้ขั้นตอนวิธีโดยรวมใช้ทำงานเพียง
กรณีพิเศษ
ในเน็ตเวิร์กที่มีความจุเอกลักษณ์ จะมีขอบเขตของเวลามากขึ้น แต่ละขั้นตอนการปิดกั้นการไหลสามารถพบได้ในเวลา และสามารถแสดงให้เห็นว่าจำนวนเฟสไม่เกิน และ ดังนั้นขั้นตอนวิธีจะทำงานในเวลา
ในเน็ตเวิร์กที่เกิดจากปัญหาบบการจับคู่สองส่วน]] จำนวนเฟสจะถูกจำกัดด้วย จึงนำไปสู่ขอบเขตเวลา ขั้นตอนวิธีที่ได้นั้นเรียกอีกอย่างว่า โดยทั่วไป ขอบเขตนี้มีไว้สำหรับเน็ตเวิร์กเอกลักษณ์ใด ๆ — เครือข่ายที่จุดยอดแต่ละจุด ยกเว้นต้นทางและปลายทาง อาจมีวิถีของความจุขาเข้าเดียว หรือวิถีความจุของขาออกเดียว และความจุอื่นทั้งหมดเป็นจำนวนเต็มใด ๆ
ตัวอย่าง
ให้ G เป็นเน็ตเวิร์กเริ่มต้น ซึ่งแต่ละเส้นเชื่อมจะมีขนาดของกระแสและความจุ เป็นกราฟระดับ ปมที่มีเลขเป็นสีแดงคือค่าของ และวิถีสีน้ำเงินคือกระแสจำกัดการไหล
1. | |||
---|---|---|---|
กระแสจำกัดการไหลได้แก่
ดังนั้นกระแสจำกัดการไหลมีทั้งหมด 14 หน่วย และ กระแส ทีค่าเท่ากับ 14 หมายเหตุ จะเห็นว่าทุก ๆ วิถีแต่งเติม ในกระแสจำกัดการไหลจะมี 3 เส้นเชื่อม | |||
2. | |||
กระแสจำกัดการไหลได้แก่
ดังนั้นกระแสจำกัดการไหลมีทั้งหมด 5 หน่วย และ กระแส ทีค่าเท่ากับ 14+5=19 หมายเหตุ จะเห็นว่าทุก ๆ วิถีแต่งเติม ในกระแสจำกัดการไหลจะมี 4 เส้นเชื่อม | |||
3. | |||
จะเห็นว่าในกราฟ ไม่มีวิถีที่จะไปถึง ได้แล้ว ขั้นตอนวิธีก็จะจบลงและคืนค่ากระแสที่มีค่าสูงสุดนั้นก็คือ 19 หมายเหตุ จะเห็นว่าจำนวนเส้นเชื่อมในวิถีแต่งเติมจะเพิ่มขึ้นอย่างน้อย 1 ในทุก ๆ ครั้งที่หากระแสจำกัดการไหล |
ดูเพิ่ม
เชิงอรรถ
- หมายถึงกราฟย่อยที่เกิดจากการลบวิถีที่อิ่มตัวทั้งหมด (วิถี โดย ) ไม่มีวิถีใด ๆ จาก ถึง กล่าวอีกนัยหนึ่งคือ การปิดกั้นการไหล นั้นทุกเส้นทางที่เป็นไปได้จาก ถึง มีวิถีอิ่มตัว
- การค้นหาการปิดกั้นการไหลสามารถทำได้ใน รายวิถีโดยผ่านลำดับของการดำเนินการเดินหน้าและถอยกลับ (Advance and Retreat operations) ดูเพิ่มเติมที่ Blocking flows in unit-capacity graphs
อ้างอิง
- Yefim Dinitz (1970). "Algorithm for solution of a problem of maximum flow in a network with power estimation" (PDF). Doklady Akademii Nauk SSSR. 11: 1277–1280.
- Ilan Kadar; Sivan Albagli (27 พฤศจิกายน 2009). "Dinitz's algorithm for finding a maximum flow in a network".
- Yefim Dinitz. (PDF). คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2016-08-20. สืบค้นเมื่อ 2011-09-08.
- Tarjan 1983, p. 102.
- Yefim Dinitz (2006). (PDF). ใน Oded Goldreich; Arnold L. Rosenberg; Alan L. Selman (บ.ก.). Theoretical Computer Science: Essays in Memory of Shimon Even. Springer. pp. 218–240. ISBN . คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2016-08-20. สืบค้นเมื่อ 2011-09-08.
- Even, Shimon; Tarjan, R. Endre (1975). "Network Flow and Testing Graph Connectivity". SIAM Journal on Computing. 4 (4): 507–518. doi:10.1137/0204043. ISSN 0097-5397.
บรรณานุกรม
- Yefim Dinitz (2006). "Dinitz' Algorithm: The Original Version and Even's Version". ใน Oded Goldreich; Arnold L. Rosenberg; Alan L. Selman (บ.ก.). (PDF). Springer. pp. 218–240. ISBN . คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2016-08-20. สืบค้นเมื่อ 2011-09-08.
- Tarjan, R. E. (1983). Data structures and network algorithms. Society for Industrial and Applied Mathematics. ISBN . . doi:10.1137/1.9781611970265.
- B. H. Korte; Jens Vygen (2008). "8.4 Blocking Flows and Fujishige's Algorithm". Combinatorial Optimization: Theory and Algorithms (Algorithms and Combinatorics, 21). Springer Berlin Heidelberg. pp. 174–176. ISBN .
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
khntxnwithikhxngdinis xngkvs Dinic s algorithm epnkhntxnwithisahrbkaraekpyhakarihlmaksud xngkvs Maximum flow inrabbekhruxkhaykarihl xngkvs Flow network thukkhidkhunody hibru יפים חיים א דיניץ xngkvs Yefim Chaim A Dinitz nkwithyasastrkhxmphiwetxrchawyiw xditepnchawrsesiy inpi kh s 1970 khntxnwithinicaiklekhiyngkbkhntxnwithikhxngexdmxnd khap xngkvs Edmonds Karp algorithm sungichhlkkarhawithisnsudaelamixtrakaretibotepnkhxngewlathangan O VE2 displaystyle O VE 2 aetkhntxnwithikhxngdiniscamixtrakaretibotthinxykwakhux O V2E displaystyle O V 2 E sungepnphlmacakkarnaaenwkhideruxng krafradb aela kraaesthicakdkarihl maichprawtieyfim diniths khidkhnkhntxnwithiniephuxtxbocthyaebbfukhdkxnchneriyninkareriyn inkhnannekhaimrukhxethccringphunthanekiywkbkhntxnwithikhxngfxrd efilekxrsn dinithsklawwakarpradisthkhntxnwithikhxngekhaekidkhunineduxnmkrakhm ph s 2512 aelaidrbkartiphimphinpi ph s 2513 inwarsar Doklady Akademii Nauk SSSR Doklady Akademii Nauk SSSR inpi ph s 2517 שמעון אבן aela אלון איתי sungkalngsuksapriyyaexkinkhnann thisthabnethkhonolyixisraexl מכון טכנולוגי לישראל הטכניון inihfa mikhwamsnicaelaprathbickbkhntxnwithikhxngdiniths rwmthungaenwkhidthiekiywkhxngkbkarpidknkarihlkhxng Aleksandr Viktorovich Karzanov xyangirktam mnyaksahrbphwkekhathicathxdrhsexksarthngsxngchbbni odyaetlachbbmiephiyngsihnaephuxihepniptamkhxcakdkhxngwarsar Doklady Akademii Nauk SSSR odyimthxthxyhlngcaksamwnkhxngkhwamphyayamksamarththakhwamekhaicexksarthngsxngchbbid ykewnpyhakarbarungrksaekhruxkhayaebbchn inxiksxngsampitxmaxiewn idbrryayekiywkb khntxnwithikhxng Dinic odyxxkesiyngchuxphuekhiynphidinkhnathiephyaephrihepnthiruck xiewnaelaxiitmiswnrwminkhntxnwithinidwykarrwmkarkhnhainaenwkwang BFS aela DFS sungpccubnepnwithithinaesnxkhntxnwithiniodythwip epnewlapraman 10 pihlngcakthikhntxnwithikhxngfxrd efilekxrsn thukpradisthkhun immiikhrruwamnsamarthmicudsinsudinewlaphhunaminkrnithwipkhxngkhwamcuthimikhakhxbepncanwnxtrrkyaidhruxim singnithaihimmikhntxnwithiewlaphhunamthirucksahrbkaraekpyhakarihlsungsudinkrnithwip khntxnwithikhxngdiniths aelakhntxnwithikhxngexdmxnd khap ephyaephrinpi ph s 2515 thngsxngaebbtangaesdngihehnwainkhntxnwithikhxngfxrd efilekxrsn hakaetlaesnsnthisud khwamyawkhxngwithiaetngetimcaimmikarldlngaelakhntxnwithicamicudsinsudesmxniyamih G V E c s t displaystyle G V E c s t epnentewirk miesnechuxmcak u displaystyle u ip v displaystyle v odyxnuyatihkraaesihlphanid c u v displaystyle c u v aelamikraaesihlphanaelw f u v displaystyle f u v krafkhwamcukhngehlix residual capacity epnkrafthiidcak cf V V R displaystyle c f V times V to R niyamody emux u v E displaystyle u v in E cf u v c u v f u v displaystyle c f u v c u v f u v cf v u f u v displaystyle c f v u f u v nxkehnuxcakni cf u v 0 displaystyle c f u v 0 krafkhwamcukhngehlix khuxkraf Gf V Ef cf Ef s t displaystyle G f V E f c f E f s t thimiEf u v V V cf u v gt 0 displaystyle E f u v in V times V c f u v gt 0 dd withiaetngetim augmenting path khuxwithicak s t displaystyle s t phayinkrafkhwamcukhngehlix Gf displaystyle G f ih dist v displaystyle operatorname dist v aethnwithisnsudcak s displaystyle s ip v displaystyle v inkraf Gf displaystyle G f caidwa krafradb level graph khxng Gf displaystyle G f khuxkraf GL V EL cf EL s t displaystyle G L V E L c f E L s t thimiEL u v Ef dist v dist u 1 displaystyle E L u v in E f operatorname dist v operatorname dist u 1 dd kraaescakdkarihl khuxkraaescak s displaystyle s ip t displaystyle t f displaystyle f sungthaih G V EL s t displaystyle G V E L s t mi EL u v f u v lt cf EL u v displaystyle E L u v f u v lt c f E L u v aelaimmiwithi s t displaystyle s t khntxnwithikhntxnwithikhxngdinis xinphut entewirk G V E c s t displaystyle G V E c s t exatphut kraaes s t displaystyle s t thimikhakraaessungsud f displaystyle f kahndf e 0 displaystyle f e 0 sahrbthuk e E displaystyle e in E srang GL displaystyle G L cak Gf displaystyle G f khxng G displaystyle G tha dist t displaystyle operatorname dist t infty ihhyudaelakhunkha f displaystyle f hakraaescakdkarihl f displaystyle f in GL displaystyle G L khyaykraaes f displaystyle f dwy f displaystyle f caknnklbipthakhntxnthi 2wiekhraahcaehnidwacanwnkhxngesnechuxminthuk kraaescakdkarihl caephimkhunxyangnxythila 1 inkarwn 1 rxb aelacaephimcnmikhaimekin V 1 displaystyle V 1 ody V displaystyle V epncanwnpmthnghmdinentewirk krafradb GL displaystyle G L samarthsrangidcak karkhntamaenwkwang inewla O E displaystyle O E ody E displaystyle E epncanwnesnechuxm aelakraaescakdkarihlinthuk krafradb casamarthhaidphayinewla O VE displaystyle O VE dngnnkhntxnwithikhxngdiniscungichewlainkarthanganepn O V2E displaystyle O V 2 E nxkcakniyngsamarththaihkhntxnwithikhxngdinismiprasiththiphaphephimkhundwykarichokhrngsrangkhxmulthieriykwa tnimphlwt sungcathaihewlakarhakraaescakdkarihlldlngepn O Elog V displaystyle O E log V thaihkhntxnwithiodyrwmichthanganephiyng O VElog V displaystyle O VE log V krniphiess inentewirkthimikhwamcuexklksn camikhxbekhtkhxngewlamakkhun aetlakhntxnkarpidknkarihlsamarthphbidinewla O E displaystyle O E aelasamarthaesdngihehnwacanwnefsimekin O E displaystyle O sqrt E aela O V2 3 displaystyle O V 2 3 dngnnkhntxnwithicathanganinewla O min V2 3 E1 2 E displaystyle O min V 2 3 E 1 2 E inentewirkthiekidcakpyhabbkarcbkhusxngswn canwnefscathukcakddwy O V displaystyle O sqrt V cungnaipsukhxbekhtewla O VE displaystyle O sqrt V E khntxnwithithiidnneriykxikxyangwa odythwip khxbekhtnimiiwsahrbentewirkexklksnid ekhruxkhaythicudyxdaetlacud ykewntnthangaelaplaythang xacmiwithikhxngkhwamcukhaekhaediyw hruxwithikhwamcukhxngkhaxxkediyw aelakhwamcuxunthnghmdepncanwnetmid twxyangih G epnentewirkerimtn sungaetlaesnechuxmcamikhnadkhxngkraaesaelakhwamcu GL displaystyle G L epnkrafradb pmthimielkhepnsiaedngkhuxkhakhxng dist v displaystyle operatorname dist v aelawithisinaenginkhuxkraaescakdkarihl G displaystyle G Gf displaystyle G f GL displaystyle G L 1 kraaescakdkarihlidaek s 1 3 t displaystyle s 1 3 t dwykraaeskhnad 4 hnwy s 1 4 t displaystyle s 1 4 t dwykraaeskhnad 6 hnwy aela s 2 4 t displaystyle s 2 4 t dwykraaeskhnad 4 hnwy dngnnkraaescakdkarihlmithnghmd 14 hnwy aela kraaes f displaystyle f thikhaethakb 14 hmayehtu caehnwathuk withiaetngetim inkraaescakdkarihlcami 3 esnechuxm2 kraaescakdkarihlidaek s 2 4 3 t displaystyle s 2 4 3 t dwykraaeskhnad 5 hnwy dngnnkraaescakdkarihlmithnghmd 5 hnwy aela kraaes f displaystyle f thikhaethakb 14 5 19 hmayehtu caehnwathuk withiaetngetim inkraaescakdkarihlcami 4 esnechuxm3 caehnwainkraf Gf displaystyle G f immiwithithicaipthung t displaystyle t idaelw khntxnwithikcacblngaelakhunkhakraaesthimikhasungsudnnkkhux 19 hmayehtu caehnwacanwnesnechuxminwithiaetngetimcaephimkhunxyangnxy 1 inthuk khrngthihakraaescakdkarihlduephimkhntxnwithikhxngfxrd efxlekxsn khntxnwithikhxngexdmxnd khapechingxrrthhmaythungkrafyxythiekidcakkarlbwithithiximtwthnghmd withi u v displaystyle u v ody f u v cf EL u v displaystyle f u v c f E L u v immiwithiid cak s displaystyle s thung t displaystyle t klawxiknyhnungkhux karpidknkarihl nnthukesnthangthiepnipidcak s displaystyle s thung t displaystyle t miwithiximtw karkhnhakarpidknkarihlsamarththaidin O E displaystyle O E raywithiodyphanladbkhxngkardaeninkaredinhnaaelathxyklb Advance and Retreat operations duephimetimthi Blocking flows in unit capacity graphsxangxingYefim Dinitz 1970 Algorithm for solution of a problem of maximum flow in a network with power estimation PDF Doklady Akademii Nauk SSSR 11 1277 1280 Ilan Kadar Sivan Albagli 27 phvscikayn 2009 Dinitz s algorithm for finding a maximum flow in a network Yefim Dinitz PDF khlngkhxmulekaekbcakaehlngedim PDF emux 2016 08 20 subkhnemux 2011 09 08 Tarjan 1983 p 102 Yefim Dinitz 2006 PDF in Oded Goldreich Arnold L Rosenberg Alan L Selman b k Theoretical Computer Science Essays in Memory of Shimon Even Springer pp 218 240 ISBN 978 3 540 32880 3 khlngkhxmulekaekbcakaehlngedim PDF emux 2016 08 20 subkhnemux 2011 09 08 Even Shimon Tarjan R Endre 1975 Network Flow and Testing Graph Connectivity SIAM Journal on Computing 4 4 507 518 doi 10 1137 0204043 ISSN 0097 5397 brrnanukrmYefim Dinitz 2006 Dinitz Algorithm The Original Version and Even s Version in Oded Goldreich Arnold L Rosenberg Alan L Selman b k PDF Springer pp 218 240 ISBN 978 3540328803 khlngkhxmulekaekbcakaehlngedim PDF emux 2016 08 20 subkhnemux 2011 09 08 Tarjan R E 1983 Data structures and network algorithms Society for Industrial and Applied Mathematics ISBN 978 0 89871 187 5 978 1 61197 026 5 doi 10 1137 1 9781611970265 B H Korte Jens Vygen 2008 8 4 Blocking Flows and Fujishige s Algorithm Combinatorial Optimization Theory and Algorithms Algorithms and Combinatorics 21 Springer Berlin Heidelberg pp 174 176 ISBN 978 3 540 71844 4