fbpx
วิกิพีเดีย

ขั้นตอนวิธีของดีนิซ

ขั้นตอนวิธีของดีนิซ (อังกฤษ: Dinic's algorithm) เป็นขั้นตอนวิธีสำหรับการแก้ปัญหาการไหลมากสุด (อังกฤษ: Maximum flow) ในระบบเครือข่ายการไหล (อังกฤษ: Flow network) ถูกคิดขึ้นโดยเยฟิม ดีนิทซ์ (อังกฤษ: Yefim Dinitz) นักวิทยาศาสตร์คอมพิวเตอร์ชาวยิว (อดีตเป็นชาวรัสเซีย) ในปี ค.ศ. 1970 ขั้นตอนวิธีนี้จะใกล้เคียงกับขั้นตอนวิธีของเอ็ดมอนด์-คาป (อังกฤษ: Edmonds-Karp algorithm) ซึ่งใช้หลักการหาวิถีสั้นสุดและมีอัตราการเติบโตเป็นของเวลาทำงาน แต่ขั้นตอนวิธีของดีนิซจะมีอัตราการเติบโตที่น้อยกว่าคือ ซึ่งเป็นผลมาจากการนำแนวคิดเรื่อง กราฟระดับ และ กระแสที่จำกัดการไหล มาใช้

นิยาม

ให้   เป็นเน็ตเวิร์ก มีเส้นเชื่อมจาก   ไป   โดยอนุญาตให้กระแสไหลผ่านได้   และมีกระแสไหลผ่านแล้ว  

กราฟความจุคงเหลิอ (residual capacity) เป็นกราฟที่ได้จาก   นิยามโดย
  1. เมื่อ  ,
  2. :  
  3. :  
  4. นอกเหนือจากนี้  
กราฟความจุคงเหลิอ คือกราฟ   ที่มี
 .
วิถีแต่งเติม (augmenting path) คือวิถีจาก   ภายในกราฟความจุคงเหลิอ  .
ให้   แทนวิถีสั้นสุดจาก   ไป   ในกราฟ  
จะได้ว่า กราฟระดับ (level graph) ของ   คือกราฟ   ที่มี
 .
กระแสจำกัดการไหล คือกระแสจาก   ไป     ซึ่งทำให้   มี  และไม่มีวิถี  

ขั้นตอนวิธี

ขั้นตอนวิธีของดีนิซ

อินพุท: เน็ตเวิร์ค  .
เอาต์พุต: กระแส   ที่มีค่ากระแสสูงสุด  
  1. กำหนด  สำหรับทุก  .
  2. สร้าง   จาก   ของ   ถ้า   ให้หยุดและคืนค่า  .
  3. หากระแสจำกัดการไหล   ใน  .
  4. ขยายกระแส  ด้วย   จากนั้นกลับไปทำขั้นตอนที่ 2

วิเคราะห์

จะเห็นได้ว่าจำนวนของเส้นเชื่อมในทุก กระแสจำกัดการไหล จะเพิ่มขึ้นอย่างน้อยที่ละ 1 ในการวน 1 รอบ และจะเพิ่มจนมีค่าไม่เกิน   โดย   เป็นจำนวนปมทั้งหมดในเน็ตเวิร์ค กราฟระดับ   สามารถสร้างได้จาก การค้นตามแนวกว้าง ในเวลา   โดย   เป็นจำนวนเส้นเชื่อม และกระแสจำกัดการไหลในทุก ๆ กราฟระดับ จะสามารถหาได้ภายในเวลา   ดังนั้นขั้นตอนวิธีของดีนิซจึงใช้เวลาในการทำงานเป็น  

นอกจากนี้ยังสามารถทำให้ขั้นตอนวิธีของดีนิซมีประสิทธิภาพเพิ่มขึ้นด้วยการใช้โครงสร้างข้อมูลที่เรียกว่า ต้นไม้พลวัต (dynamic trees) ซึ่งจะทำให้เวลาการหากระแสจำกัดการไหลลดลงเป็น   ทำให้ขั้นตอนวิธีโดยรวมใช้ทำงานเพียง  

ตัวอย่าง

ให้ G เป็นเน็ตเวิร์คเริ่มต้น ซึ่งแต่ละเส้นเชื่อมจะมีขนาดของกระแสและความจุ   เป็นกราฟระดับ ปมที่มีเลขเป็นสีแดงคือค่าของ   และวิถีสีน้ำเงินคือกระแสจำกัดการไหล

     
1.      

กระแสจำกัดการไหลได้แก่

  1.   ด้วยกระแสขนาด 4 หน่วย
  2.   ด้วยกระแสขนาด 6 หน่วย และ
  3.   ด้วยกระแสขนาด 4 หน่วย

ดังนั้นกระแสจำกัดการไหลมีทั้งหมด 14 หน่วย และ กระแส   ทีค่าเท่ากับ 14 หมายเหตุ จะเห็นว่าทุก ๆ วิถีแต่งเติม ในกระแสจำกัดการไหลจะมี 3 เส้นเชื่อม

2.      

กระแสจำกัดการไหลได้แก่

  1.   ด้วยกระแสขนาด 5 หน่วย

ดังนั้นกระแสจำกัดการไหลมีทั้งหมด 5 หน่วย และ กระแส   ทีค่าเท่ากับ 14+5=19 หมายเหตุ จะเห็นว่าทุก ๆ วิถีแต่งเติม ในกระแสจำกัดการไหลจะมี 4 เส้นเชื่อม

3.      

จะเห็นว่าในกราฟ   ไม่มีวิถีที่จะไปถึง   ได้แล้ว ขั้นตอนวิธีก็จะจบลงและคืนค่ากระแสที่มีค่าสูงสุดนั้นก็คือ 19 หมายเหตุ จะเห็นว่าจำนวนเส้นเชื่อมในวิถีแต่งเติมจะเพิ่มขึ้นอย่างน้อย 1 ในทุก ๆ ครั้งที่หากระแสจำกัดการไหล

ดูเพิ่ม

บรรณานุกรม

  • Yefim Dinitz (2006). "Dinitz' Algorithm: The Original Version and Even's Version". ใน Oded Goldreich, Arnold L. Rosenberg, and Alan L. Selman (บ.ก.). Theoretical Computer Science: Essays in Memory of [[Shimon Even]] (PDF). Springer. pp. 218–240. ISBN 978-3540328803. URL–wikilink conflict (help)CS1 maint: multiple names: editors list (link)
  • Tarjan, R. E. (1983). Data structures and network algorithms.CS1 maint: ref=harv (link)
  • 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.

นตอนว, ของด, งก, ามภาษา, ในบทความน, ไว, ให, านและผ, วมแก, ไขบทความศ, กษาเพ, มเต, มโดยสะดวก, เน, องจากว, เด, ยภาษาไทยย, งไม, บทความด, งกล, าว, กระน, ควรร, บสร, างเป, นบทความโดยเร, วท, งกฤษ, dinic, algorithm, เป, นข, นตอนว, สำหร, บการแก, ญหาการไหลมากส, งกฤษ, max. lingkkhamphasa inbthkhwamni miiwihphuxanaelaphurwmaekikhbthkhwamsuksaephimetimodysadwk enuxngcakwikiphiediyphasaithyyngimmibthkhwamdngklaw krann khwrribsrangepnbthkhwamodyerwthisudkhntxnwithikhxngdinis xngkvs Dinic s algorithm epnkhntxnwithisahrbkaraekpyhakarihlmaksud xngkvs Maximum flow inrabbekhruxkhaykarihl xngkvs Flow network thukkhidkhunodyeyfim diniths xngkvs Yefim Dinitz nkwithyasastrkhxmphiwetxrchawyiw xditepnchawrsesiy inpi kh s 1970 khntxnwithinicaiklekhiyngkbkhntxnwithikhxngexdmxnd khap xngkvs Edmonds Karp algorithm sungichhlkkarhawithisnsudaelamixtrakaretibotepnkhxngewlathangan O V E 2 displaystyle O VE 2 aetkhntxnwithikhxngdiniscamixtrakaretibotthinxykwakhux O V 2 E displaystyle O V 2 E sungepnphlmacakkarnaaenwkhideruxng krafradb aela kraaesthicakdkarihl maich enuxha 1 niyam 2 khntxnwithi 3 wiekhraah 4 twxyang 5 duephim 6 brrnanukrmniyam aekikhih 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 c f V V R displaystyle c f V times V to R niyamody emux u v E displaystyle u v in E c f u v c u v f u v displaystyle c f u v c u v f u v c f v u f u v displaystyle c f v u f u v nxkehnuxcakni c f u v 0 displaystyle c f u v 0 krafkhwamcukhngehlix khuxkraf G f V E f c f E f s t displaystyle G f V E f c f E f s t thimiE f u v V V c f 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 G f displaystyle G f ih dist v displaystyle operatorname dist v aethnwithisnsudcak s displaystyle s ip v displaystyle v inkraf G f displaystyle G f caidwa krafradb level graph khxng G f displaystyle G f khuxkraf G L V E L c f E L s t displaystyle G L V E L c f E L s t thimiE L u v E f 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 E L s t displaystyle G V E L s t mi E L u v f u v lt c f E L u v displaystyle E L u v f u v lt c f E L u v aelaimmiwithi s t displaystyle s t khntxnwithi aekikhkhntxnwithikhxngdinis xinphuth entewirkh 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 G L displaystyle G L cak G f displaystyle G f khxng G displaystyle G tha dist t displaystyle operatorname dist t infty ihhyudaelakhunkha f displaystyle f hakraaescakdkarihl f displaystyle f in G L displaystyle G L khyaykraaes f displaystyle f dwy f displaystyle f caknnklbipthakhntxnthi 2wiekhraah aekikhcaehnidwacanwnkhxngesnechuxminthuk kraaescakdkarihl caephimkhunxyangnxythila 1 inkarwn 1 rxb aelacaephimcnmikhaimekin V 1 displaystyle V 1 ody V displaystyle V epncanwnpmthnghmdinentewirkh krafradb G L displaystyle G L samarthsrangidcak karkhntamaenwkwang inewla O E displaystyle O E ody E displaystyle E epncanwnesnechuxm aelakraaescakdkarihlinthuk krafradb casamarthhaidphayinewla O V E displaystyle O VE dngnnkhntxnwithikhxngdiniscungichewlainkarthanganepn O V 2 E displaystyle O V 2 E nxkcakniyngsamarththaihkhntxnwithikhxngdinismiprasiththiphaphephimkhundwykarichokhrngsrangkhxmulthieriykwa tnimphlwt dynamic trees sungcathaihewlakarhakraaescakdkarihlldlngepn O E log V displaystyle O E log V thaihkhntxnwithiodyrwmichthanganephiyng O V E log V displaystyle O VE log V twxyang aekikhih G epnentewirkherimtn sungaetlaesnechuxmcamikhnadkhxngkraaesaelakhwamcu G L displaystyle G L epnkrafradb pmthimielkhepnsiaedngkhuxkhakhxng dist v displaystyle operatorname dist v aelawithisinaenginkhuxkraaescakdkarihl G displaystyle G G f displaystyle G f G L 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 hnwydngnnkraaescakdkarihlmithnghmd 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 hnwydngnnkraaescakdkarihlmithnghmd 5 hnwy aela kraaes f displaystyle f thikhaethakb 14 5 19 hmayehtu caehnwathuk withiaetngetim inkraaescakdkarihlcami 4 esnechuxm3 caehnwainkraf G f displaystyle G f immiwithithicaipthung t displaystyle t idaelw khntxnwithikcacblngaelakhunkhakraaesthimikhasungsudnnkkhux 19 hmayehtu caehnwacanwnesnechuxminwithiaetngetimcaephimkhunxyangnxy 1 inthuk khrngthihakraaescakdkarihlduephim aekikhkhntxnwithikhxngfxrd efxlekxsn khntxnwithikhxngexdmxnd khapbrrnanukrm aekikhYefim Dinitz 2006 Dinitz Algorithm The Original Version and Even s Version in Oded Goldreich Arnold L Rosenberg and Alan L Selman b k Theoretical Computer Science Essays in Memory of Shimon Even PDF Springer pp 218 240 ISBN 978 3540328803 URL wikilink conflict help CS1 maint multiple names editors list link Tarjan R E 1983 Data structures and network algorithms CS1 maint ref harv link 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 ekhathungcak https th wikipedia org w index php title khntxnwithikhxngdinis amp oldid 4703400, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม