การตัดขั้นต่ำสามารถทำได้ง่ายกว่าการไหลของเครือข่ายหรือไม่


18

ต้องขอบคุณทฤษฎีบทการตัดขั้นต่ำสูงสุดเรารู้ว่าเราสามารถใช้อัลกอริทึมใด ๆ ในการคำนวณการไหลสูงสุดในกราฟเครือข่ายเพื่อคำนวณ a -min-cut ดังนั้นความซับซ้อนของการคำนวณขั้นต่ำ -cut จึงไม่เกินความซับซ้อนของการคำนวณสูงสุด -flow( s , t ) ( s , t )(s,t)(s,t)(s,t)

มันจะน้อยลงหรือไม่ มีอัลกอริทึมสำหรับการคำนวณขั้นต่ำ -cut ที่เร็วกว่าอัลกอริธึม max-flow หรือไม่?(s,t)

ฉันพยายามหาลดลงเพื่อลด(s,t ) ปัญหา -max ไหลไป(s,t)ปัญหา -min ตัด แต่ผมก็ไม่สามารถที่จะหาคน ความคิดแรกของฉันคือใช้อัลกอริธึมการหารและการพิชิต: ก่อนอื่นให้หา min-cut ซึ่งแยกกราฟออกเป็นสองส่วน ตอนนี้หา max-flow แบบวนซ้ำสำหรับส่วนด้านซ้ายและ max-flow สำหรับส่วนที่ถูกต้องและรวมเข้าด้วยกันกับขอบทั้งหมดที่ตัดผ่าน สิ่งนี้จะทำงานเพื่อสร้างโฟลว์สูงสุด แต่เวลาทำงานที่เลวร้ายที่สุดของมันอาจมากเท่ากับO(|V|)เท่าใหญ่เท่ากับเวลาทำงานของอัลกอริธึมตัดขั้นต่ำ มีการลดที่ดีขึ้นหรือไม่

ฉันตระหนักถึงทฤษฎีการตัดขั้นต่ำแบบ max-flow แสดงให้เห็นว่าความซับซ้อนของการคำนวณคุณค่าของ max-flow นั้นเหมือนกับความซับซ้อนของการคำนวณความสามารถของการตัดขั้นต่ำ แต่นั่นไม่ใช่สิ่งที่ฉันถาม ฉันถามเกี่ยวกับปัญหาของการหา max-flow และการหา min-cut (อย่างชัดเจน)

สิ่งนี้มีความเกี่ยวข้องอย่างใกล้ชิดกับการคำนวณ max-flow จาก min-cutยกเว้น: (1) ฉันยอมให้ Cook Reduction (Turing reduction) ไม่ใช่แค่การลด Karp (การลดหลายครั้ง) และ (2) บางทีอาจให้GเราสามารถหากราฟGเช่นนั้นการตัดขั้นต่ำของGทำให้ง่ายต่อการคำนวณ max-flow ของGซึ่งเป็นสิ่งที่เกินขอบเขตสำหรับคำถามอื่นนั้น


2
@AshkanKzme ฉันไม่ได้ติดตามคุณ คุณสามารถทำอย่างละเอียด? ตามที่ฉันระบุไว้ในวรรคที่ 4 ของคำถามทฤษฎีบทการตัดขั้นต่ำสูงสุดแสดงให้เห็นว่ามูลค่าของการไหลสูงสุดนั้นเท่ากับความจุของการตัดขั้นต่ำ ฉันสงสัยว่านี่คือสิ่งที่คุณคิด อย่างไรก็ตามการรู้คุณค่าของ max-flow นั้นไม่ได้บอกให้คุณทราบถึง max-flow นั้นเอง (เช่นจะส่งไปที่ขอบแต่ละอันมากแค่ไหน) คำถามนี้ถามเกี่ยวกับความซับซ้อนของการคำนวณ max-flow เองและการคำนวณ min-cut เอง คำถามของฉันตรงตามที่ระบุไว้ในวรรคที่ 2 ของคำถาม
DW

2
@AshkanKzme, ไม่ฉันไม่ได้คิดผิด คุณกำลังสมมติว่า Ford-Fulkerson เป็นอัลกอริธึมที่เป็นไปได้ที่เร็วที่สุดสำหรับการค้นหาจุดตัด ... แต่เท่าที่ฉันรู้ไม่มีใครเคยพิสูจน์ได้และเราไม่รู้ว่ามันถูกต้องหรือไม่ ฟังดูเหมือนว่าคุณกำลังทำผิดมาตรฐานมือใหม่ด้วยบทพิสูจน์ที่ต่ำกว่าขอบเขต: "ฉันไม่เห็นวิธีที่จะแก้ไขปัญหานี้ได้เร็วขึ้นดังนั้นมันจะต้องเป็นไปไม่ได้" (ป.ล. คุณกำลังบอกฉันเนื้อหาตำรามาตรฐานเกี่ยวกับ max-flow min-cut ฉันขอขอบคุณที่คุณพยายามช่วย แต่ฉันคุ้นเคยกับมันแล้ว ... )
DW

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

1
@DW ฉันคิดว่าฉันได้รับคำถามเล็กน้อยดีกว่าตอนนี้ ฉันคิดว่าฉันถูกเอาออกไปจากข้อเท็จจริงที่ว่าคุณลดทอนพหุนาม คุณไม่จำเป็นต้องลดทอนทัวริงอย่างต่อเนื่องเพื่อพิสูจน์ในขณะที่การพิสูจน์ว่าไม่มีการลดเช่นนั้นที่ไม่สามารถหักล้างได้ f(n)=Θ(g(n))
โทมัสบอสแมน

1
@ThomasBosman ใช่ถูกต้อง [ขออภัยที่ทำให้คุณสับสน การลดลงของฉันในคำถามพิสูจน์ได้ว่าซึ่งเป็นขอบเขตล่างที่อ่อนแอมาก ฉันหวังว่าอาจจะมีการลดลงซึ่งพิสูจน์ว่าf ( n ) = Ω ( g ( n ) )แต่ฉันไม่ทราบวิธีการสร้างสิ่งต่าง ๆ ]f(n)=Ω(g(n)/n)f(n)=Ω(g(n))
DW

คำตอบ:


-1

นี่เป็นวิธีที่เป็นไปได้:

สมมติว่าคุณรู้ว่าตัด S แล้วหาไหลจากไปทีเป็นปัญหาการไหลของเครือข่ายค่าใช้จ่ายนาทีกับศูนย์ค่าใช้จ่ายเนื่องจากคุณรู้ว่าการไหลออกในแต่ละจุดสุดยอดในV Sและในการไหลเข้าที่เสื้อ สมมติหมายถึงS - เสื้อไหลและการโหนดโค้งเมทริกซ์ (เช่นแถวฉัน , พมี 1 ถ้าผมเป็นหางของเจ -1 ถ้าหัวของมันอย่างอื่นเป็นศูนย์) และให้เป็นเช่นนั้นf = bถ้าfStVStfStAijijbAf=bfsatistfies อุปสงค์ / อุปทานและการอนุรักษ์การไหล จากนั้นด้วยการกำจัด Gaussian เราสามารถหาทางออกที่เป็นไปได้ในการดำเนินงาน|V|3

เพื่อหาการตัดจากการไหลเราต้องสร้างกราฟที่เหลือซึ่งใช้เวลามากที่สุดเวลาและจากนั้นอาจข้ามไป| V | จุด |E||V|

ดังนั้นสำหรับกราฟที่สมบูรณ์และการตัดขั้นต่ำเป็นแค่แหล่งที่มาหรือเพียงแค่อ่างล้างจานการลดใช้เวลาเท่ากันทั้งสองกรณีที่เลวร้ายที่สุด อย่างไรก็ตามฉันคิดว่าการหาทางออกที่เป็นไปได้สำหรับสามารถทำได้เร็วกว่า| V | 3ได้รับโครงสร้างพิเศษ ฉันไม่แน่ใจว่าจะพิสูจน์ได้อย่างไรAf=b|V|3


ฉันไม่เข้าใจวิธีหาโดยใช้การกำจัดแบบเกาส์เซียน เรามี| V | สมการเชิงเส้นใน| E | ราชวงศ์ โดยปกติ| E | > | V | ดังนั้นเราจึงไม่มีสมการที่เพียงพอในการกำหนดค่าที่ไม่รู้จัก มีเคล็ดลับที่ฉันมองเห็นหรือไม่? f|V||E||E|>|V|
DW

ฉันไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้ดังนั้นฉันอาจผิด แต่ความจริงที่ว่าไม่มีวิธีแก้ปัญหาที่ไม่ซ้ำกันดูเหมือนจะทำให้ง่ายขึ้น ถ้าคุณลดมันลงในแถวแบบฟอร์มระดับตำแหน่งที่ลดลงคุณมีคอลัมน์อิสระ จากนั้นโซลูชันที่ไม่ซ้ำกันของ submatrix และbรวมกับการไหลเป็นศูนย์สำหรับคอลัมน์อื่น ๆ ทั้งหมดจะให้ผลลัพธ์ที่ไม่ซ้ำกันซึ่งไม่ใช่ปัญหาต่อ se ปัญหาที่ฉันสามารถคาดการณ์ได้คือfละเมิดข้อ จำกัด ด้านความจุ แต่โดยสังหรณ์ใจฉันจะบอกว่ามีวิธีหลีกเลี่ยงสิ่งนี้โดยตรง|V|bf
โทมัสบอสแมน

ใช่ข้อ จำกัด ด้านความจุดูเหมือนจะเป็นความท้าทายที่สำคัญ มิฉะนั้นการแก้ระบบสมการเชิงเส้นอาจให้วิธีการแก้ปัญหาที่ตรงกับแต่ไม่ใช่การไหลที่ถูกต้องเพราะมันละเมิดข้อ จำกัด ด้านความสามารถ Af=b
DW

อึถูกต้องแล้ว คุณสามารถเพิ่มข้อ จำกัด (บนและล่าง) ซึ่งคุณรู้ว่ามีวิธีแก้ปัญหา แต่แล้วคุณมี | V | +2 | E | แถวเพื่อให้ช้าลงจากนั้นคำนวณการไหลสูงสุดโดยตรง
โทมัสบอสแมน

ปัญหาอื่น ๆ คือข้อ จำกัด ด้านความจุคือความไม่เท่าเทียมกัน (ไม่เท่ากัน) ดังนั้นคุณไม่สามารถใช้การกำจัดแบบเกาส์เซียน: คุณต้องใช้การเขียนโปรแกรมเชิงเส้นซึ่งคุณบอกว่าไม่น่าจะเร็วกว่าการคำนวณ ไหลสูงสุดโดยตรง
DW
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.