การไหลสูงสุดที่เพิ่มขึ้นในกราฟแบบไดนามิก


12

ฉันกำลังมองหาอัลกอริทึมที่รวดเร็วเพื่อคำนวณโฟลว์สูงสุดในกราฟแบบไดนามิก เช่นให้กราฟและเรามีการไหลสูงสุดในจากไปทีแล้วใหม่ / เก่าโหนดเพิ่ม / ลบที่มีขอบสอดคล้องกันในรูปแบบของกราฟ 1 โฟลว์สูงสุดในกราฟที่สร้างขึ้นใหม่คืออะไร มีวิธีป้องกันการคำนวณการไหลสูงสุดอีกครั้งหรือไม่s , t V F G s t u G 1G=(V,E)s,tVFGstuG1

การประมวลผลล่วงหน้าที่ไม่ได้ใช้เวลามาก / การใช้หน่วยความจำจะได้รับการชื่นชม

แนวคิดที่ง่ายที่สุดคือคำนวณการไหลของข้อมูลใหม่

อีกหนึ่งความคิดง่ายๆคือเช่นนี้บันทึกทุกเส้นทาง augmenting ซึ่งใช้ในการคำนวณการไหลสูงสุดก่อนหน้านี้สำหรับการเพิ่มจุดสุดยอดเราสามารถหาเส้นทางที่ง่าย (ในกราฟความจุปรับปรุงตามขั้นตอนก่อนหน้า) ซึ่งเริ่มต้นจากต้นทางไปที่ไปแล้ว ไปยังปลายทาง แต่ปัญหาคือเส้นทางนี้ควรจะง่ายฉันไม่พบดีกว่าสำหรับกรณีนี้สำหรับ. (โปรดทราบว่าหากเป็นเพียงเส้นทางเดียวก็สามารถทำได้ในแต่ไม่เป็นเช่นนั้น)v O ( n m ) m = | E | O ( n + m )vvO(nm)m=|E|O(n+m)

นอกจากนี้สำหรับการลบโหนดด้านบนความคิดไม่ทำงาน

นอกจากนี้ฉันได้เห็นเอกสารเช่นวิธีเพิ่มค่าสำหรับขอบแล้ว แต่ดูเหมือนว่าพวกเขาจะไม่ดีพอในกรณีนี้มันมากกว่าสำหรับแต่ละขอบและดูเหมือนว่าไม่เหมาะสมในกรณีนี้ (เราเพิ่งคำนวณการไหล) ตอนนี้ฉันกำลังใช้อัลกอริธึมการไหลสูงสุดของ Ford-Fulkersonถ้ามีตัวเลือกที่ดีกว่าสำหรับอัลกอริทึมออนไลน์มันเป็นการดีที่จะรู้O(m)


คุณช่วยอธิบายให้กระจ่างได้ "แต่ปัญหาคือเส้นทางนี้ควรเป็นส่วนที่ง่าย" หรือไม่? ฉันไม่เข้าใจ
Dmytro Korduban

@ maldini.ua อันที่จริงฉันหมายถึงเส้นทางที่ไปจากแหล่งที่มาถึงแล้วเส้นทางจากไปยังปลายทางไม่ควรมีจุดสุดยอดทั่วไป (ยกเว้น ) สมมติว่าเป็นโหนดที่เพิ่มใหม่ หากไม่ใช่เพื่อให้เราสามารถข้ามการตรวจสอบบางอย่างและเราสามารถมีอัลกอริทึมที่เร็วขึ้น (โดยเฉลี่ยหรืออาจไม่แสดงอาการ) v v vvvvv
Saeed

ได้มัน แต่เป็นสำหรับฉันมันไม่ได้เป็นสิ่งที่พิเศษเกี่ยวกับโวลต์ผมคิดว่าความคิดคำนวณง่ายที่สุดคือต่อไปนี้: 1) เพิ่มยอดใหม่ที่มีขอบกับกราฟที่เหลือ ; 2) ค้นหาการไหลสูงสุดในกราฟที่เหลืออยู่ที่อัปเดตโดยใช้อัลกอริทึมการไหลสูงสุดที่คุณเลือก กรณีที่คุณแนะนำจะถูกประมวลผล "อัตโนมัติ" โดยอัลกอริธึมการไหลสูงสุด (กล่าวคือจะไม่พบเส้นทางการขยายใด ๆ ฯลฯ ) หากคุณสนใจที่จะลบโหนดฉันสามารถเขียนมันเป็นคำตอบ ป.ล. เพื่อความชัดเจนคุณมีกราฟกำกับหรือไม่บอกทิศทางหรือไม่? v
Dmytro Korduban

@ maldini.ua การคำนวณใหม่เพิ่มปกติความซับซ้อนในการแก้ปัญหาในปัจจุบันดังนั้นฉันไม่คิดว่ามันดี (อาจจะดีโดยการรู้ว่าโดยทั่วไปขอบมากเกินไปไม่มีประโยชน์และอันที่จริงมันไม่ได้ทำให้เกิดปัญหาประสิทธิภาพสูงมาก) แต่ถ้าคุณมีความคิดเกี่ยวกับการลบ โหนดฉันสนใจที่จะเห็นความคิดของคุณกราฟยังเป็นผู้กำกับ ป.ล. แต่ฉันสนใจทั้งสองกรณี |G|
Saeed

โปรดจำไว้ว่าคุณเรียกใช้ในกราฟที่เหลืออยู่ในขณะนี้ควรมีขอบจำนวนมากของความจุศูนย์ โดยปกติแล้วจะทำงานได้ค่อนข้างเร็วโดยเฉพาะอย่างยิ่งในกราฟเบาบาง (เหมาะสำหรับฉันอย่างน้อย) ในทางกลับกันวิธี "เส้นทางเรียบง่าย" ฟังดูคล้ายกับความซับซ้อนพิเศษสำหรับฉัน ยังไม่ลืมคุณมีผูกพันในการทำงานเวลาสำหรับฟอร์ด Fulkerson (ที่กระโดดจากผลรวมของ 's ความจุขอบที่อยู่ติดกัน) | f | โวลต์O(|f||E|)|f|v
Dmytro Korduban

คำตอบ:


6

วิธีการอธิบายอาจไม่เหมาะสมที่สุดในทางทฤษฎี มันเป็นเพียงวิธีการปฏิบัติที่เรียบง่ายที่อาจทำงานให้กับผู้เขียน ฉันไม่สามารถให้การอ้างอิงใด ๆ เพราะฉันคิดเสมอว่ามันเป็นคติชนที่รู้จักกันอย่างกว้างขวาง แต่ไม่มีใครโพสต์มันแปลกในคำตอบ ดังนั้นฉันทำมัน

สมมติเรามีเครือข่ายที่ไม่มีทิศทางc) สมมติว่ามันถูกเก็บไว้ในโครงสร้างข้อมูลที่ช่วยให้การแทรก / ลบจุดสุดยอด / อาร์คง่าย บางครั้งเราจะใช้เครือข่ายที่เหลือ (เช่นด้วยความสามารถที่อัปเดต )G f c f = c - fG=(V,E,c)Gfcf=cf

ส่วนแรกคือวิธีการประมวลผลการแทรก / การลบจุดสุดยอด ตรงไปตรงมามากขึ้นหรือน้อยลงสำหรับการแทรก:

  1. เพิ่มจุดสุดยอดใหม่ที่มีขอบที่สอดคล้องกับเครือข่ายที่เหลือ
  2. ค้นหาโฟลว์สูงสุดในเครือข่ายที่เหลือที่อัพเดตโดยใช้อัลกอริธึม maxflow ที่คุณเลือก

สำหรับการลบสิ่งต่าง ๆ มีความซับซ้อนมากขึ้น ลองจินตนาการว่าเราแยกจุดยอดเรากำลังจะลบออกเป็น 2 ส่วนและเช่นนั้นทุกจุดใน arcs ชี้ไปที่ , ส่วนโค้งออกทั้งหมดจากและจุดยอดใหม่นี้ เชื่อมต่อโดยส่วนโค้งของความจุไม่ จำกัด แล้วลบเทียบเท่ากับการลบโค้งระหว่างและ{} จะเกิดอะไรขึ้นในกรณีนี้ แสดงว่า Let 's โดยไหลผ่านจุดสุดยอดวีจากนั้นจะได้รับส่วนเกินของหน่วยการไหลของและวีฉันn V o ยูที v ฉันn V o ยูทีวีวีฉันn V o ยูทีเอฟวีวีวีฉันnวีวีo ยูทีเอฟโว~ วีวีฉันn V o ยูทีวีฉันn v o u t f v f v v Δ =vvinvoutvinvoutvvinvoutfvvvinfvvoutจะประสบปัญหาการขาดแคลน flow unit ทันทีหลังจากลบ (ข้อ จำกัด การไหลจะแตกอย่างเห็นได้ชัด) เพื่อให้ข้อ จำกัด การไหลถูกจัดขึ้นอีกครั้งเราควรจัดเรียงกระแสใหม่ แต่เราต้องการรักษาค่าการไหลเดิมให้สูงที่สุดเท่าที่จะทำได้ เรามาดูกันก่อนว่าเราสามารถจัดเรียงใหม่โดยไม่ลดการไหลทั้งหมด ในการตรวจสอบว่าค้นหา maxflowจากถึงในเครือข่ายที่เหลือ "cutted" (เช่นไม่มีการเชื่อมต่อส่วนโค้งและ ) เราควรผูกมันด้วยอย่างชัดเจน หากมันเกิดขึ้นเท่ากับเราโชคดี: เราได้มอบหมายการไหลที่ผ่านfvfv~vinvoutvinvoutfvfvvในลักษณะที่การไหลโดยรวมไม่เปลี่ยนแปลง ในอีกกรณีหนึ่งการไหลรวมจะต้องลดลงโดย "ไร้ประโยชน์" เกินหน่วย ในการทำเช่นนั้นให้เชื่อมต่อและชั่วคราวโดยอาร์คของความจุไม่ จำกัด และเรียกใช้อัลกอริธึม maxflow อีกครั้งจากถึง (เราควร จำกัด การไหลโดย ) ที่จะแก้ปัญหาเครือข่ายที่เหลือและข้อ จำกัด ทำให้การไหลจะจัดขึ้นอีกครั้งโดยอัตโนมัติการลดการไหลโดยรวม\Δ=fvfv~stvinvoutΔΔ

ความซับซ้อนของเวลาในการอัปเดตดังกล่าวอาจขึ้นอยู่กับอัลกอริธึม maxflow ที่เราใช้ กรณีที่เลวร้ายที่สุดอาจไม่ดีนัก แต่ก็ยังดีกว่าการคำนวณใหม่ทั้งหมด

ส่วนที่สองเป็นอัลกอริทึม maxflow ที่จะใช้ เท่าที่ฉันเข้าใจผู้เขียนไม่ต้องการอัลกอริทึมที่ซับซ้อนมาก (แต่ยังมีประสิทธิภาพ) ด้วยค่าคงตัวที่ซ่อนอยู่เล็กน้อยเพื่อรันบนแพลตฟอร์มมือถือ ตัวเลือกแรกของเขาสำหรับ Ford-Fulkerson (ฉันคาดหวังว่ามันจะเป็นEdmonds-Karp ) ดูไม่เลวร้ายนักจากมุมมองนี้ แต่มีความเป็นไปได้อื่น ๆ สิ่งที่ฉันอยากแนะนำให้ลองก่อนคือตัวแปรของอัลกอริทึมของ Dinicเพราะมันค่อนข้างเร็วในทางปฏิบัติและสามารถนำไปใช้ในวิธีที่ง่ายมาก ตัวเลือกอื่น ๆ อาจรวมถึงการปรับขนาดความจุ Ford-Fulkerson ในO(|V|2|E|)O(|E|2logCmax)และในที่สุดก็มีเวอร์ชั่นที่แตกต่างกันของ push-relabel พร้อม heuristic อย่างไรก็ตามประสิทธิภาพจะขึ้นอยู่กับกรณีการใช้งานดังนั้นผู้เขียนควรค้นหาสิ่งที่ดีที่สุดเชิงประจักษ์


หลังจากที่ได้อ่านคำตอบ vzn ที่ผ่านมาฉันได้พบวิธีการที่คล้ายอธิบายไว้ที่หน้า 90 จากนี้
Dmytro Korduban

ตามที่ฉันเข้าใจในการลบโหนดโดยคุณจะคำนวณการไหลในกราฟที่เหลือ แต่ฉันคิดว่ามันไม่เป็นความจริงในความเป็นจริงในกราฟที่เหลือคุณมีขอบบางส่วนที่ใช้ในการคำนวณและคุณควรเพิ่ม ความสามารถพิเศษที่ขอบนี้แล้วคำนวณแล้วใช้\fv~fvfv~Δ
Saeed

เมื่อคุณกด 1 หน่วยของการไหลจากถึงคุณจะลดลง 1 และเพิ่ม 1 เนื่องจากการไหลนั้นเป็นแบบสมมาตร ( ) นี่เป็นการกำหนดกราฟที่เหลือจริงดังนั้นทุกอย่างทำงานได้ดี u c f ( v , u ) c f ( u , v ) f ( v , u ) = - f ( u , v )vucf(v,u)cf(u,v)f(v,u)=f(u,v)
Dmytro Korduban

แนวคิดใดที่คุณจะทำเช่นนี้หากคุณต้องการเปลี่ยนความจุของขอบ
เจตน์

-1

ตกลงโดยคำนึงถึงข้อมูลใหม่และหลีกเลี่ยงการอ้างอิงที่ผิดพลาดก่อนเริ่ม / แฮร์ริ่งสีแดงที่ผิดพลาด (mea culpa) ต่อไปนี้เป็นข้อมูลอ้างอิงใหม่เกี่ยวกับเรื่องนี้

การแก้ปัญหาลำดับการออนไลน์อย่างรวดเร็วของปัญหาการไหลสูงสุดพร้อมกับส่วนต่อขยายเพื่อการคำนวณขั้นต่ำที่แข็งแกร่ง Doug Altner และÖzlem Ergun

การอ้างอิงนี้พิจารณาลำดับออนไลน์ของ MFP และ "การเริ่มต้นอย่างอบอุ่น" เช่นการสร้าง chgs ที่เพิ่มขึ้นไปยัง MFP ก่อนหน้า "เราแสดงให้เห็นว่าอัลกอริทึมของเราลดเวลาทำงานตามลำดับความสำคัญเมื่อเปรียบเทียบรหัสที่คล้ายกันที่ใช้ตัวแก้ MFP กล่องดำโดยเฉพาะอย่างยิ่งเราแสดงให้เห็นว่าอัลกอริทึมของเราสำหรับการตัดต่ำสุดที่แข็งแกร่งสามารถแก้ปัญหาได้ในไม่กี่วินาที ชั่วโมงใช้ตัวแก้การไหลสูงสุดในกล่องดำ "


ความก้าวหน้าของปัญหาที่เกี่ยวข้องกับกระแสสูงสุด Altner, Douglas S. , จอร์เจียเทคโนโลยี

ในวิทยานิพนธ์ปริญญาเอกปี 2551 (ดาวน์โหลดไฟล์ PDF) ผู้เขียนพิจารณาถึงปัญหาของการเพิ่มส่วนโค้งที่เพิ่มขึ้นซึ่งดูเหมือนจะ "ใกล้พอ" กับปัญหาของการเพิ่มจุดยอดใหม่ (ด้วยส่วนโค้งใหม่หลายจุด)

การอ้างอิงนี้เกี่ยวข้องกับการลบบางส่วนของเครือข่าย (การตัด / "คำสั่ง") ตามที่ระบุไว้ในส่วนที่ 1 ของบทคัดย่อ

ดู esp "ลำดับการแก้ไข IV ออนไลน์ของลำดับการไหลสูงสุด ... ...... p63"

p 63 "เป้าหมายของบทนี้คือการโน้มน้าวผู้อ่านว่าการใช้ตัวแก้ปัญหาการไหลสูงสุดแบบกล่องดำซ้ำ ๆ เพื่อแก้ลำดับ MFP จำนวนมากอาจนำไปสู่การคำนวณที่ไม่จำเป็นจำนวนมหาศาล"

p66 "ในแอพพลิเคชั่นดังกล่าวข้างต้นโดยทั่วไปแล้ว MFPs จะคล้ายกันกับโทโพโลยีนั่นคือ MFP ถัดไปในลำดับนั้นแตกต่างจากก่อนหน้านี้โดยการเพิ่มหรือลบอาร์คจำนวนเล็กน้อยหรือโดยการเปลี่ยนความสามารถของ เมื่อแก้ไขกรณีเหล่านี้เวลาและพื้นที่ที่ต้องการเก็บสิ่งอื่น ๆ นอกเหนือจากวิธีแก้ไขปัญหาก่อนหน้านี้โดยทั่วไปจะไม่รับประกัน

ผู้เขียน p67 ยังใช้วิธี "เริ่มต้นอย่างอบอุ่น" ที่นี่ "กลยุทธ์ที่มีประสิทธิภาพในการแก้ไขปัญหาการออปติไมซ์ออนไลน์ทั้งหมดอย่างรวดเร็วคือการพัฒนาฮิวริสติกที่มีประสิทธิภาพการ reoptimization ด้วยเหตุนี้เราจึงพัฒนาอัลกอริธึมการไหลสูงสุดที่ปรับเปลี่ยนซึ่งออกแบบมาเพื่อการเริ่มอบอุ่นอย่างมีประสิทธิภาพ"

ดู esp p71 ที่มีปัญหาส่วนโค้งเพิ่มขึ้นเฉพาะ:

ใหม่ Arc ปัญหาการเพิ่มประสิทธิภาพการไหลสูงสุดของโค้ง

ผู้เขียนพิจารณาปัญหาทั่วไปมากขึ้นหน้า 67

ปัญหาการทำให้เป็นก้อนสูงสุดซ้ำของการไหล (MFROP) ปัญหาการทำให้เป็นก้อน
สูงสุดในการไหลซ้ำเดียวของกระแสสูงสุด (MFSAROP)


-3

จากการค้นหาอย่างรวดเร็วดูเหมือนว่าเวอร์ชันออนไลน์เป็นส่วนหนึ่งของการวิจัยเชิงรุก คุณไม่ต้องพูดถึงพื้นที่ของแอปพลิเคชั่นซึ่งอาจช่วย จำกัด การค้นหาวรรณกรรมให้แคบลง ทางเลือกหนึ่งคือค้นหาพื้นที่แอปพลิเคชั่นที่มีนวัตกรรมมากที่สุดหรือล่าสุด ดังนั้นจึงมีการประยุกต์ใช้การไหลสูงสุดที่เพิ่มขึ้นในระบบการมองเห็น & อัลกอริทึมบางอย่างสำหรับมันที่นั่น; ลองโฟลว์สูงสุดโดยการค้นหาความกว้าง - เพิ่มขึ้นครั้งแรกที่ห้องปฏิบัติการวิจัยของ Microsoft การถอดความบทนำของบทความนี้เห็นได้ชัดว่าสำหรับอินสแตนซ์ของวิสัยทัศน์อัลกอริทึม Boykov และ Kolmogorov ทำได้ดีและไม่มีการตอบโต้แบบเอ็กซ์โพเนนเชียลที่เป็นที่รู้จักแม้ว่าจะอยู่นอกแอพพลิเคชั่นการมองเห็น ดังนั้นจึงควรลองใช้อัลกอริทึม B&K กับข้อมูลของคุณและดูว่ามันทำงานอย่างไร &

คุณดูเหมือนจะบอกว่าอัลกอริทึมที่เพิ่มขึ้นซึ่งเป็นเส้นตรงในจำนวนของขอบกราฟไม่ได้ความเร็วเพียงพอหรือไม่ แต่นั่นไม่ใช่ประสิทธิภาพที่ค่อนข้างสูงใช่ไหม คุณจัดการกับขอบกี่อัน บางทีวิธีการอาจลดค่าใช้จ่ายในการสำรวจกราฟหากมีราคาแพงหรือเป็นปัจจัยสำคัญ (เช่นกราฟที่เก็บไว้ใน db เทียบกับกราฟที่เก็บไว้ในหน่วยความจำ)

นี่เป็นบทความที่น่าสนใจที่ระบุว่าในขณะที่อัลกอริธึมแบบ nonincremental สำหรับ max flow อยู่ใน P ส่วนที่เพิ่มขึ้นคือ NP สมบูรณ์ "เพื่อความรู้ที่ดีที่สุดของเราผลลัพธ์ของเราเป็นครั้งแรกที่พบปัญหา P-time ที่มีเวอร์ชันที่เพิ่มขึ้นคือ NP สมบูรณ์"

การไหลที่เพิ่มขึ้นโดย Hartline, ชาร์ป


ขอบคุณฉันไม่ได้อ่านเอกสารอ้างอิงของคุณฉันจะดูพวกเขา (ฉันเห็นบางเอกสารมาก่อนและพบว่าพวกเขาไร้ประโยชน์) แต่เกี่ยวกับพื้นที่ปัญหาของฉันมันเป็นปัญหาในสถานการณ์การทำงานจริงในตลาดหุ้น มันซับซ้อนเล็กน้อยที่จะบอกว่าเกิดอะไรขึ้นเมื่อฉันพบว่าฉันควรแก้ปัญหานี้ ในความเป็นจริงฉันไม่คิดว่ามันเป็นเรื่องยากในตอนแรก แต่หลังจากลองใช้โค้ดแล้วฉันเห็นว่ามันไม่ง่ายนัก อัลกอริทึมนี้จะทำงานบนโทรศัพท์มือถือพวกมันไม่เร็ว (และลูกค้าไม่ชอบอัลกอริทึมของฉัน :) บางครั้งขอบที่มากเกินไปจะมาพร้อมกับโหนดใหม่ และนี่คือคอขวด
Saeed

น่าสนใจ ดูเหมือนว่าคุณน่าจะใช้ฮิวริสติกส์ตามกำลังการประมวลผลที่ จำกัด และต้องการการอัปเดตที่รวดเร็ว การประมวลผลสามารถถูกย้ายจาก "ลูกค้า" (ในกรณีของคุณโทรศัพท์ชัด) ไปยังเซิร์ฟเวอร์แทน? ไคลเอนต์ทุกคนต้องคำนวณรุ่นที่แตกต่าง (เช่นข้อมูลที่แตกต่างกัน) ของปัญหาหรือไม่
vzn

ในอิหร่านปัญหาที่ใหญ่ที่สุดคือความเร็วการเชื่อมต่ออินเทอร์เน็ตดังนั้นฉันไม่สามารถย้ายไปยังฝั่งเซิร์ฟเวอร์ ถ้ามันดี (ความเร็วดี) การคำนวณใหม่แน่นอนจะไม่เลว
Saeed

6
ฉันไม่เห็นวิธีการที่จะตอบคำถามเดิมซึ่งเป็นเรื่องเกี่ยวกับกราฟที่วิวัฒนาการเมื่อเวลาผ่านไปโดยการเพิ่มโหนดและขอบ กระดาษแผ่นแรกอธิบายอัลกอริธึมที่เพิ่มขึ้นสำหรับปัญหา maxflow แบบ one-shot มาตรฐาน กระดาษแผ่นที่สองอธิบายถึงกระดาษสำหรับปัญหา"การเพิ่มขึ้นสูงสุด" ที่แตกต่างกันซึ่งชุดของขอบได้รับการแก้ไข แต่ความสามารถในการเติบโตในช่วงเวลา
Jeffε

1
@ Jɛ ff ใช่ใช่ถูกต้อง :) ที่จริงแล้วก่อนหน้านี้ฉันเห็นเอกสารคล้ายกับเอกสารอ้างอิง แต่อย่างที่คุณบอกว่าพวกเขาไม่เกี่ยวข้องกับปัญหาของฉันกระดาษปิดที่ฉันเห็นจนถึงตอนนี้คือสิ่งที่ฉันอ้างอิง
Saeed

-5

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

O(V3)O(V2EO(VElog(V2/E))


3
อีกครั้งฉันไม่เห็นว่าคำตอบนี้เกี่ยวข้องกับคำถามที่โพสต์ Push-relabel เป็นกลยุทธ์ตำราเรียนที่รู้จักกันดีสำหรับการตอบปัญหาการไหลสูงสุดมาตรฐาน
Jeffε

ดังนั้นฟอร์ด - ฟุลเกอร์สัน ... ใช่มั้ย & OP ขอสิ่งที่ดีกว่า คุณรู้อะไรบางอย่างที่พิสูจน์ให้เห็นว่า push-relabel นั้นแย่กว่า ford-fulkerson ไหม? OP ไม่ชัดเจนมันคุ้นเคยกับ push-relabel geez อัลกอริธึมที่ปรากฏในตำราเรียนนั้นแน่นอนว่าไม่ใช่คำวิจารณ์ทันทีที่ปฏิเสธคำตอบที่นี่ใช่ไหม?
vzn

3
จริงๆแล้วใช่; คำถามที่ตอบในหนังสือเรียนมาตรฐาน (หรือวิกิพีเดีย) ไม่ใช่ระดับการวิจัย อย่างไรก็ตามคำถามที่โพสต์แรกเกี่ยวกับกระแสที่เพิ่มขึ้นนั้นน่าสนใจและอยู่ในขอบเขตแน่นอน (การขาดคำตอบที่ชัดเจนแสดงให้เห็นว่าคำตอบที่ถูกต้องอาจเป็น "คำถามที่ดีไม่มีใครรู้")
Jeff

vzn ขอบคุณสำหรับการสนับสนุนของคุณ แต่: "คุณรู้ไหมว่าสิ่งที่พิสูจน์แล้วว่า push-relabel นั้นแย่กว่า ford-fulkerson" ไม่ใช่เหตุผลที่ดีที่จะโพสต์มันเป็นคำตอบถ้าคุณรู้ว่าทำไม "push-relabel" ในอัลกอริทึมออนไลน์ กว่า Ford-Falkerson ดีที่จะบอกว่าฉันชอบ Ford-Falkerson เพราะความเรียบง่ายปัจจัยคงที่ต่ำและฉันรู้จักมันมาตั้งแต่อดีต แต่อย่างที่บอกไปฉันไม่สามารถพูดได้ว่ามันเป็นตัวเลือกที่ดีในทุกกรณีอัลกอริธึมเหล่านี้ไม่ได้เทียบเคียงกันพวกเขาต้องการการทดสอบภาคปฏิบัติ
Saeed

ดูที่ pt คือถ้าคุณมีอัลกอริธึมการไหลสูงสุดที่ไม่สามารถทำงานได้ดีกับข้อมูลของคุณให้ลองอีกอันหนึ่งโดยเฉพาะอย่างยิ่งที่กล่าวกันว่าทำงานได้ดีเพราะมีการปรับให้เหมาะสมสำหรับโปรไฟล์ข้อมูลที่แตกต่างกัน ไม่มันไม่ใช่ออนไลน์ / "จุดสุดยอดที่เพิ่มขึ้น" แต่มันอาจทำงานได้ดีขึ้นสำหรับกรณีออฟไลน์หากไม่มีทางเลือกอื่น รุ่นออนไลน์ในขณะที่พวกเขามีอยู่ตามที่ฉันพบข้างต้นเป็น prob จะเป็นเรื่องยากที่จะใช้อย่างมีนัยสำคัญ ...
vzn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.