เอดมันด์-คาร์ป อัลกอทรัม: การวิเคราะห์รายละเอียดเชิงอนิเมชัน
อัลกอริทึมของ Tybalds-Karp เป็นวิธีการเฉพาะของวิธีการสําหรับคํานวณการไหลของกระแสในเครือข่ายแบบ Foot-Fullkerson ในขณะที่วิธีการเดิมที่ใช้ค้นหาเพิ่มเติมเส้นทาง (ซึ่งสามารถนําไปสู่เวลาพิเศษในการประมวลผล) THD-FS-FS ได้บังคับใช้วิธีการค้นหาแบบ BFS แน่ใจว่าเส้นทางที่สั้นที่สุดที่เปลี่ยนไป (ในส่วนของขอบที่เรียงตามแกน) รับประกันได้ว่าทําได้ด้วยการเพิ่มแนวทางการทํางานแบบพาราเมทริก และทําให้อัลกอริทึมของโครงสร้างแบบ February เป็นแบบ fromregators
คําบรรยายแบบ Algorithilic และคุณสมบัติกุญแจ
ได้กําหนดกราฟ [FLT: 0]]] G= (V, E] [FLT: 1) โดยมีแหล่งกําเนิด ยุบ [FLTT: 4] ] ยุบ [FLTT: 4] ] – [FLTTT: 5] และตําแหน่ง [FLTT: 6]. access: ENGE (FLLE[FLLLLLT] [FLLT]]], อัลกอริทึมที่ตามมา: อัลกอริทึม:
- เริ่มการไหล [FLT: 0] f(e) = 0 สําหรับขอบทั้งหมด
- สร้างกราฟ [[FLT: 0] G f] (รวมขอบกลับหลังพร้อมความจุเท่ากับกระแสปัจจุบัน).
- เรียกใช้ BFS [FLT: 0]] G f จาก [FLT: 4] [FLT: ]] [FLTT: 5] เพื่อค้นหาเส้นทางที่สั้นที่สุดที่จะมุ่งไปยัง [FLT: 6] [FLT: 7] (จํานวนคน).
- หากไม่มีพาธอยู่ ให้จบการทํางาน; การไหลปัจจุบันเป็นพื้นที่สูงสุด
- ไม่ อย่าง นั้น จง กําหนด ความ จุ ของ คอ ขวด ตาม เส้น ทาง (ความ สามารถ ใน การ ใช้ งาน น้อย นิด).
- อัตราการไหลของกระแสด้วยปริมาณที่ตามแนวเส้นทางและการปรับปรุงความสามารถที่ ผิดปกติ
- ย้ําจากขั้นที่ 2
การใช้ BFS ทําให้แน่ใจว่าเส้นทางต่อเติมแต่ละเส้นทางเป็นเส้นทางที่สั้นที่สุดในกราฟที่ซ้ํากัน คุณสมบัติที่สําคัญคือ ระยะ (in left) จาก [FLT: 0] [FLT: 1) ถึง – [FT:2] –[FTTTT:3] ในกราฟที่ยังไม่ได้ลดลง และเพิ่ม [FTTTT: 4] (พ.ศ.
การวิเคราะห์ความซับซ้อน
เวลาทํางานของแต่ละ BFS คือ [FLT: 0] [V+E][FLT:] ซึ่งจะลดรูปเหลือ O (E สําหรับกราฟทั่วไป [FLT] ความท้าทายหลักคือ เชื่อมต่อตัวเลขของสารประกอบการต่อเติม (FT] –FL) เพราะแต่ละส่วนจะเรียบเรียงกันด้วยจํานวนที่น้อยที่สุด (ขอบขวด) และแต่ละเส้นสามารถเรียบลงได้ที่ [TH[2] [/F] [/F] [FFLE]]] [1] ] ระยะทางแต่ละเวลา (51] ระยะทาง (1] FELE]] (2] หน้า::: –1[1[1] หน้า 7] หน้า 7] หน้า 7] หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 หน้า 7 (.
การวิเคราะห์มาตรฐานจะปรากฏชัดขึ้นว่า จํานวนของการต่อเติมนั้นส่วนใหญ่แล้ว[FT: 0][FLT][FT:1] [FLT] เวลาโดยรวมคือ [FT] O[FT] (V] (FLT:3] (FT: 4) O (VE) (VE)[FLT+E] สําหรับความสมบูรณ์ของกราฟ (FTIT: – ⁇ (F) ที่ที่ หนาแน่น [FTIIF) = (F( ⁇ ) (F) (F) เป็น (F) (F) ) ) ) ] เครือข่ายที่ค่อนข้างช้า ซึ่งใหญ่กว่า การปฏิบัติอย่างมีประสิทธิภาพของเครือข่าย (FT[FT] อย่างไรก็ตาม กราฟของเครือข่ายที่เข้มงวดที่สุด หรือแบบจุลฯ โดยเฉพาะอย่างยิ่งเมื่อมีการจัดการเชื่อม (FTLE) – FEFELELELE- – FELE- – FEFFFE-FEFEFEFEFEFEFEFEFEFEFEFEFE).T).TE-FEFESTEST (L
เทียบ กับ อัล กอ ทิก ของ แมก ซ์ ฟลาย ส อื่น ๆ
อัล กอ ริ ทม ของ ดิ นิก
อัลกอริทึมของดินิกยังใช้ BFS เพื่อสร้างกราฟระดับด้วย แต่แล้วก็อนุญาตให้มีการต่อเติมเส้นทางในระยะเดียวผ่าน DFS บนกราฟระดับ ซึ่งจะช่วยลดจํานวนของ BFS ที่วิ่งบ่อย (FT: 0) V[FT: 1] V[จากระดับของพื้นที่เพิ่มระดับการดูดน้ํา] ความซับซ้อนของแต่ละระยะคือ [FLT: 2] [FL] [FLF] และลดจํานวน BF(FF] [FF]]] เครือข่ายย่อยของเครือข่ายย่อยที่เข้ากันได้มากที่สุด เนื่องจากเส้นทางเดินแบบพร้อม ๆ กันของไดร็็พพยัค (FTLEFS].
อัลกอริธึมของ Pusp
วิธีการกด- retribution เช่น อัลกอริทึมทั่วไป หรือ ขอบเขตที่ขีดเส้นกราฟสูงสุด ประสบความสําเร็จ [FLT: 0] O(V2 ⁇ E) [FLT: 1] หรือ O (V3) (FLT:3) ขอบเขตการไหลของเส้นรุ้งทํางานโดยดันเส้นรุ้งที่ไหลไปตามขอบบ้านที่มีขอบเขต และทําการขีดเส้นเส้นเส้นผ่านเพื่อรักษาความสมบูรณ์ อัลกอริทึมเหล่านี้มักทํางานมากขึ้น แต่มักจะทํางานเร็วขึ้นในการฝึกแบบหนา โดยเฉพาะในกราฟขนาดใหญ่ อัลกอริทึมที่นิยมการผลักดันสูงสุด (FT: 3) (FT: 3) ใช้อย่างกว้างขวางในระบบ flocal-Forldsingal-Forlds.
องค์ประกอบสําคัญอีกอย่างคือ อัลกอริทึม [FLT: 0] การปรับขนาด [FLT: 1) ซึ่งเพิ่มพารามิเตอร์การปรับขนาดเป็นวิธี Ford-Fulkerson, การให้ O (E2 LOLU) ที่ที่ [FLT: 4] U[FLT: 5] เป็นค่าสูงสุด แต่เป็นการผลักแบบพหุนามที่ง่ายกว่าการแทนค่า
เหตุ ผล ที่ เอ ดมันด์ - คาระ ป ยัง คง เป็น เรื่อง สําคัญ
แม้ว่ามันจะช้ากว่าไดนิกและจะลดความเหลื่อมล้ําลง แต่เอดมันด์-คาร์ปนั้นมีมูลค่าสูงตามหลักทฤษฎีแล้ว ความสามารถในการแก้ปัญหาของกลุ่มพหุนามอย่างง่าย และใช้ระยะเวลาการทํางานแบบย่อ (โดยอาศัยเส้นทางที่สั้นที่สุด) ก็จะทําให้การสอนแบบเดียวเป็นเครื่องมือพิเศษ เคอร์ริกาลาวิทยาศาสตร์คอมพิวเตอร์หลายเครื่องแนะนําเอดมันด์-คาร์ป ก่อนที่จะย้ายไปใช้วิธีการขั้นสูง นอกจากนี้ สําหรับเครือข่ายขนาดปานกลางขนาดเล็ก (เช่น เครือข่ายขนาดปานกลาง หรือ scritics และขอบ) ความแตกต่างที่ใช้ได้จริง อาจเกิดความไม่ต่อเนื่อง โดยเฉพาะกราฟ และระดับความแหลมต่ํา
การ ทํา ให้ เกิด การ จําลอง และ การ ใช้ กรณี ต่าง ๆ ที่ ใช้ ได้ จริง
ในโปรแกรมโลกแห่งความเป็นจริง การคัดเลือกอัลกอริทึมขึ้นอยู่กับข้อจํากัดของปัญหาอย่างมาก ตัวอย่างเช่น:
- [FLT: 0] Biparite : THELT-Karp ลดลงมาเป็นอัลกอริทึมของ Hopcroft-Karp เมื่อข้อมูลเป็นหน่วยและเครือข่ายเป็นไบพาร์ติต? จริง ๆ แล้วไม่มี - hopcroft-Krap เป็นอัลกอริทึมที่อุทิศให้กับ [FTTTIT:[FL] [ ⁇ เวลา] อย่างไรก็ตาม THELTH-K] โครงสร้างแบบย่อ: FOLE[F] – FOLLLE] entroffE[F] – FELE] เครือข่าย: FIFLELFLELE[FLLELV].FLELLLLELLELLLELLLELLELLLLLLELLLELLLLLELLELELLLLLLLLEEEELEEEEEEEEEEEESTESTEVEVESTESTESTELEEEEESTESTESTESTEEEST
- [FLT: 0] วิศวกรรมการพาณิชย์: ในการสื่อสารทางคมนาคมและเครือข่ายถนน สายน้ํามักจะมีขนาดใหญ่และกราฟบาง. ไดนิกหรือแรงกด ส่วนมากจะชื่นชอบการปรับขนาดที่ดีขึ้น
- [FLT: 0] ] อัลกอริธึมแยกส่วน : กราฟตัดอัลกอริทึมสําหรับการมองเห็นคอมพิวเตอร์ มักจะอาศัยการคํานวณแบบเต็มขั้น/ตัดงบ อัลกอริทึมบอยคอฟ-โคลโมรอฟ (Boykov) อัลกอริธึมแบบเสริมสร้างเส้นทาง มักจะใช้อัลกอริทึมทั่วไปสําหรับกราฟแบบตารางเหล่านี้ แต่ GDDD-Karp สามารถนําไปใช้สําหรับปัญหาที่มีขนาดเล็กลงได้
- [FLT: 0] การสอนและการออกเสียงแบบ prototyping : เมื่อความเรียบง่ายและความถูกต้องเป็นอันดับแรกในความเร็วดิบ, Egyls-Karp เป็นตัวเลือกที่ปลอดภัย พฤติกรรมของมันคาดเดาได้ และการดีบั๊กนั้นตรงไปตรงมาเพราะ BFS ใช้งานได้ง่าย
การ วัด ทาง ด้าน ศีล ธรรม
Benchmarks บนกราฟแสดงการสุ่มแสดง ว่าเอดมันด์-คาร์ปมักจะทํางานในเวลาใกล้เส้นตาย ในการดําเนินการเมื่อความแหลมของขอบมีขนาดเล็ก ([FLT: 0] O (1) [FT: 1) เพราะจํานวนการต่อเติมถูกผูกติดกับด้วยค่า flow สูงสุดซึ่งอาจจะมีขนาดเล็กมาก อย่างไรก็ตาม สําหรับเครือข่ายที่มีความสูงสูง อัลกอริทึมสามารถปรับความจุได้ ตัวอย่างเช่น ลองพิจารณาว่าเครือข่ายใดที่มีจํานวนเต็มขนาดใหญ่ และมูลค่าที่เพิ่มขึ้นอาจจะมาก ส่งผลให้มีการเพิ่มความจุสูงขึ้นได้ ในกรณีดังกล่าว วิธี Dinic จะมีความเข้มมาก
การ พิจารณา อย่าง ถี่ถ้วน
เมื่อมีการดําเนินการ GDML-Karp การจัดการกราฟที่ผิดพลาดนั้น จําเป็นโดยเพิ่มข้อมูลการสลับหน้าและท้ายให้สามารถปรับขยายและย้อนกลับได้ง่ายขึ้น โดยใช้รายการ adjaccess with points to retricords (หรือการจัดเก็บค่าขอบกลับ) การปรับปรุงให้ง่ายขึ้น BFS ยังต้องบันทึกการต่อเส้นทางต่อเติมด้วย ความจําคือ [FLT: 0] O (FLT: 1) อัลกอริทึมที่คล้ายกัน (FT)
การ มอง ใน แง่ ดี รวม ไป ถึง:
- ลดลงก่อนเวลา บีเอฟเอส ไม่สามารถเข้าถึง [FLT: 0] T.
- ใช้จํานวนเต็มและข้อมูลเพื่อหลีกเลี่ยงปัญหาจุดลอย
- การแบ่งส่วนเพิ่มเติมหลาย ๆ หากกราฟมีขอบขนานหลาย ๆ เส้น (แม้จะทั่วไปน้อย)
สําหรับเครือข่ายขนาดใหญ่ โปรดพิจารณาการใช้ระบบ บีเอฟเอส ที่ปรับระยะให้เร็วขึ้น แต่มักจะเพิ่มความซับซ้อน
การเชื่อมกับวิธีการดั้งเดิมของฟอร์ด-ฟลัฟเกอร์สัน
Jack Gimmans และริชาร์ด คาร์ป ตีพิมพ์อัลกอริทึมของพวกเขาในปี 1972 โดยแสดงให้เห็นว่าการใช้ BFS เกิดอัลกอริทึมการไหลสูงสุดของพหุนามในระยะยาว โดยก่อนหน้านั้น วิธีการ Ford-Fulkerson (1956) ไม่ได้ระบุวิธีการคัดเลือกเส้นทาง และทราบว่าตัวเลือกที่ยากจนสามารถนําไปสู่เวลาแบบเอกซ์โปเนนเชียลได้ งานของบีเอ็มพีและคาร์ปเป็นขั้นตอนพื้นฐานในการพัฒนาอัลกอริทึมของเครือข่ายที่แข็งแรงมาก กระดาษ[FT: 0] "การพัฒนาในระบบการคัดเลือกของ Alligi Aligraphic Effice for Netive Folues". สืบค้นเมื่อ FL: TL".
ส่วนขยายและเส้นการขยาย
ariants of Edmands-Karp รวม:
- [FLT: 0]. สืบค้นเมื่อ : แทนการต่อเติมตามเส้นทางที่สั้นที่สุด อัลกอริทึมนี้ทํางานกับพารามิเตอร์ขยาย ] ⁇ [FLTT:3]] และพิจารณาเพียงขอบด้วยความจุของโอลิมปิค นี้ให้ผล[FT: 4] OO (ELLLLOLOLU] [FTTL: 5].
- [FLT: 0] Uffit aboutimation : เมื่อทุกอณรรถภาพมี 1, อัลกอริทึมการต่อเติมแบบ BFS ผู้เชี่ยวชาญในอัลกอริทึม Hopcroft-Karp แม้ว่าอันหลังนี้จะใช้ oplish BFS/DFS อย่างระวัง เพื่อบรรลุความสําเร็จ [FT:2] O (EELLLV)[FLTT: 3].
- [FLT: 0] Intertrientity: อัลกอริทึมรักษาการไหลของอินทิกรัลตามธรรมชาติ เมื่อความจุเป็นอินทิกรัล ทําให้เหมาะสมกับปัญหาเกี่ยวกับโรคกระดูกพรุน
รูปแบบการวน
อัลกอริทึมของ THTML-Karp เป็นวิธีที่เชื่อถือได้และมีประสิทธิภาพสูงในการแก้ปัญหาการไหลสูงสุด ระบบ [FLT: 0] O (VE2) [FLT: 1) ความซับซ้อนของเวลาแย่ทําให้ไม่สามารถทํางานได้สําหรับเครือข่ายขนาดใหญ่หรือหนาแน่น แต่วิธีการของพหุนามอย่างง่ายและชัดเจน ได้จัดทําขึ้นเป็นระบบซีเมนต์ในคู่มืออัลกอริทึม สําหรับระบบโลกแห่งความเป็นจริงที่ต้องการประสิทธิภาพหรือวิธีการดันของทั่วไป อย่างไรก็ตาม การจัดระบบการศึกษา, การจัดระบบเล็ก ๆ, การจัดระบบ, หรือเส้นฐานพื้นฐานที่ถูกต้องของ ยังคงเป็นเครื่องมือสําหรับ KPRPPK ที่มีความสําคัญ
การอ่านเพิ่มเติมบนอัลกอริทึมการไหลขั้นสูง สามารถพบได้ใน [FLT: 0] บทความเกี่ยวกับวิกิพีเดีย[FLT: 1) และในตําราคลาสสิก Intertaination to Algoriths. สําหรับการวิเคราะห์อัลกอริทึมแบบไหลลึก ดู[FLT: 4] หมายเหตุการไหลของโครงการ (FETX: FTLTIF: 5).