วิธีการตัดขอบ Djoint มีกี่วิธี


10

คำถามต่อไปนี้เกี่ยวข้องกับการเพิ่มประสิทธิภาพของอัลกอริทึมการเขียนโปรแกรมแบบไดนามิกเส้นทางที่สั้นที่สุดของ Bellman-Ford s - t (ดูโพสต์นี้สำหรับการเชื่อมต่อ) นอกจากนี้ยังมีคำตอบในเชิงบวกจะบ่งบอกว่าขนาดที่น้อยที่สุดของเสียงเดียวโปรแกรมแขนง nondeterministicสำหรับ STCONNปัญหาΘ ( n 3 ) stΘ(n3)

ให้Gเป็น DAG (กำกับวัฏจักรกราฟ) กับแหล่งโหนดหนึ่งsและเป้าหมายหนึ่งโหนดที k - ตัดเป็นชุดของขอบที่มีการกำจัดทำลายทั้งหมดs - เสื้อเส้นทางของความยาวk ; เราคิดว่ามีเส้นทางดังกล่าวในG โปรดทราบว่าสั้นs - เสื้อเส้นทางต้องไม่ถูกทำลายGstkstkGst

คำถาม: Does Gต้องมีอย่างน้อย (ประมาณ) kเคล็ดk -cuts? Gk k

หากไม่มีs - เสื้อเส้นทางที่สั้นกว่าkคำตอบคือใช่เพราะเรามีที่รู้จักกันจริงนาทีสูงสุดต่อไปนี้ (กคู่เพื่อ ทฤษฎีบทของ Menger ) ประกอบกับ Robacker * s - เสื้อตัดเป็นk -cut สำหรับk = 1 (ทำลายทั้งหมดs - เสื้อเส้นทาง)stkstkk=1 st

ความจริง: ในกราฟใด ๆสูงสุดจำนวนขอบเคลื่อนs - เสื้อตัดเท่ากับต่ำสุดความยาวของs - เสื้อเส้นทาง stst

โปรดทราบว่าสิ่งนี้ถือแม้ว่ากราฟจะไม่ได้เป็นวงจร

ข้อพิสูจน์: อย่างน้อยที่สุดค่าต่ำสุดคืออย่างน้อยที่สุดเนื่องจากแต่ละ เส้นทางของ s - tตัดแต่ละs - t ที่ตัดขอบ หากต้องการดูความเท่าเทียมกันให้d ( U )มีความยาวของเส้นทางที่สั้นที่สุดจากsไปยู ให้ u r = { u : d ( u ) = r } , สำหรับr = 1 , , d ( t )และปล่อยให้E rststd(u)suUr={u:d(u)=r}r=1,,d(t)Erเป็นชุดของขอบออกจากU R เป็นที่ชัดเจนว่าเซตE rไม่ปะติดปะต่อเนื่องจากชุดU rนั้นเป็นเช่นนั้น ดังนั้นจึงยังคงแสดงให้เห็นว่าแต่ละE Rเป็นs - เสื้อตัด ในการแสดงนี้ให้ใช้โดยพลs - เสื้อเส้นทางP = ( U 1 , U 2 , ... , ยูเอ็ม ) กับยู1 = sและยูเมตร = T ตั้งแต่UrErUrErststp=(u1,u2,,um)u1=sum=t( u i + 1 ) d ( u i ) + 1 , ลำดับของระยะทาง d ( u 1 ) , , d ( u m )ต้องถึงค่า d ( u m ) = d ( t )โดยเริ่มต้นที่ d ( u 1 ) = d ( s ) = 0และเพิ่มค่าสูงสุดไม่เกิน 1d(ui+1)d(ui)+1d(u1),,d(um)d(um)=d(t)d(u1)=d(s)=01ในแต่ละขั้นตอน หากค่าบางค่าd ( u i )ลดลงเราจะต้องเข้าถึงค่าd ( u i )หลัง ดังนั้นจะต้องมีjที่การกระโดดจากd ( u j ) = rถึงd ( u j + 1 ) = r + 1เกิดขึ้นหมายถึงขอบ( u j , u j + 1 ) เป็นของE rตามที่ ต้องการ QED d(ui)d(ui)jd(uj)=rd(uj+1)=r+1(uj,uj+1)Er

แต่ถ้ามีเส้นทางที่สั้นกว่า ( k ) ด้วยล่ะ คำใบ้ / การอ้างอิงใด ๆ k


JT Robacker, ทฤษฎีบท Min-Max บนเครือข่ายที่สั้นที่สุดและการตัดยอดจากเครือข่าย, บันทึกข้อตกลงการวิจัย RM-1660, The RAND Corporation, ซานตาโมนิกา, แคลิฟอร์เนีย, [12 มกราคม - มิถุนายน] 2499
แก้ไข (หนึ่งวันต่อมา): ผ่านการโต้แย้งสั้น ๆ และดีมาก David Eppstein ตอบคำถามต้นฉบับด้านบนเป็นลบ : การทำ DAG T n ( ทัวร์นาเมนต์สกรรมกริยา ) ไม่สามารถมีk -cuts ได้มากกว่าสี่แบบ! ในความเป็นจริงเขาพิสูจน์ข้อเท็จจริงเชิงโครงสร้างที่น่าสนใจต่อไปนี้สำหรับkเกี่ยวกับTnkkn . ตัดเป็นบริสุทธิ์ถ้ามีไม่มีขอบเหตุการณ์ที่เกิดขึ้นsหรือเสื้อnst

ทุกคนบริสุทธิ์k -cut ในT nมีเส้นทางของความยาวk kTnk

โดยเฉพาะอย่างยิ่งนี่หมายความว่าทุกๆk -cuts ที่บริสุทธิ์ต้องตัดกัน! แต่บางทีก็ยังมีตัวเลือกkบริสุทธิ์มากมายที่ไม่ทับซ้อน "มากเกินไป" ดังนั้นคำถามที่ผ่อนคลาย (ผลที่ตามมาสำหรับ STCONN จะเหมือนกัน ):kk

คำถามที่ 2: ถ้าk -cut บริสุทธิ์ทุกอันมีขอบMกราฟจะต้องมีขอบประมาณΩ ( k M )หรือไม่? kMΩ(kM)

การเชื่อมต่อกับความซับซ้อนของ STCONN นั้นมาจากผลลัพธ์ของErdősและ Gallai ที่มีการลบทั้งหมดยกเว้น( k - 1 ) m / 2ขอบจาก (undirected) K mเพื่อทำลายเส้นทางที่มีความยาวkทั้งหมด (k1)m/2Kmk


แก้ไข 2:ตอนนี้ผมถามคำถามที่ 2 ที่mathoverflow

คำตอบ:


9

คำตอบสั้น ๆ : ไม่

ให้Gเป็น DAG ที่สมบูรณ์ (ทัวร์นาเมนต์สกรรมกริยา) บนnจุดยอดที่มีsและtต้นกำเนิดและจมและให้k = Gnstn / 3 สังเกตว่าอาจมีที่มากที่สุดสี่ตัดเคลื่อนที่มีมากขึ้นถ้ำn/3เหตุการณ์ที่เกิดขึ้นขอบsหรือมากกว่าn/3ขอบเหตุการณ์ที่เกิดขึ้นที ดังนั้นถ้ามีจะต้องมีการปรับลดเคล็ดจำนวนมากเราสามารถสรุปได้ว่ามีการตัดCที่ไม่ได้มีจำนวนมากของเหตุการณ์ที่เกิดขึ้นขอบsและเสื้อk=n/3n/3sn/3tCst

ตอนนี้ให้Xเป็น subgraph สมบูรณ์เหนี่ยวนำให้เกิดในGโดยชุดของจุดxดังกล่าวที่ขอบs xและx ทีไม่ได้เป็นC จำนวนจุดในXอย่างน้อยn / 3เพราะมิฉะนั้นCจะแตะขอบเหตุการณ์ที่เกิดขึ้นมากเกินไปที่จะsหรือเสื้อ อย่างไรก็ตามX Cไม่สามารถมีk -path ได้เพราะหากมีเส้นทางดังกล่าวอยู่ก็สามารถต่อกับsและtเพื่อสร้างเส้นทางที่ยาวในGXGxsxxtCXn/3CstXCkst C ดังนั้นเลเยอร์ทางยาวที่สุดของ X Cจึงน้อยกว่า kเลเยอร์และมีเลเยอร์ที่มีมากกว่า ( n / 3 ) / k = kจุดยอด ตั้งแต่นี้เป็นชั้นของเส้นทางที่ฝังรากลึกที่ยาวที่สุดก็มีความเป็นอิสระใน X Cและดังนั้นจึงแล้วเสร็จใน Cดังนั้น Cมีเส้นทาง Pผ่านจุดของชั้นนี้ที่มีความยาวk เส้นทางนี้ต้องแยกจากการตัดอื่น ๆ ทั้งหมดGCXCk(n/3)/k=kXCCCPk

ทุกการตัดที่ไม่ได้เป็นCจะต้องมีทั้งขอบจากsไปยังจุดเริ่มต้นของเส้นทางPหรือขอบจากจุดสิ้นสุดของเส้นทางPไปทีหรืออื่น ๆ มันจะไม่ปิดกั้นเส้นทางs - P - T ดังนั้นหากมีCอยู่อาจมีการตัดไม่เกินสามรายการ และถ้าCไม่มีอยู่ (นั่นคือถ้าการตัดทั้งหมดครอบคลุมมากกว่าn / 3ขอบเหตุการณ์ที่เกิดขึ้นกับsหรือt ) อาจมีการตัดได้ไม่เกินสี่รายการ ทั้งสองวิธีนี้น้อยกว่าการตัดkมากCsPPtsPtCCn/3stk


@ David: อาร์กิวเมนต์ที่น่าสนใจ (แม้ว่าฉันยังไม่เข้าใจเลย: ทำไม C ต้องมี k-path) แต่ข้อโต้แย้งล้มเหลว (ควร) ถ้าเส้นทางเซนต์ทั้งหมดยาวอย่างน้อย k?
Stasys

1
@Stasys: G เป็นทัวร์นาเมนต์การพิสูจน์ใช้ข้อเท็จจริงนี้ดังนั้น IMO จึงเป็นสาเหตุที่ทำให้ล้มเหลว
domotorp

@domotorp: ขอบคุณแน่นอนฉันพลาดคำว่า "สมบูรณ์" ฉันยังไม่สามารถหาข้อบกพร่องได้ แต่นี่เป็นข้อเท็จจริงที่ค่อนข้างขัดกับความจริง: แม้ว่าจะมี k-path จำนวนมากในทัวร์นาเมนต์แบบวนรอบเราไม่สามารถเลือกระบบที่ไม่เป็นสมาชิกร่วมของตัวแทน (ขอบ) ได้
Stasys

@David: ที่จริงแล้วเพื่อให้ได้ผลลัพธ์ตามที่กล่าวมาเราสามารถอนุญาตให้ตัดได้เพียง "เกือบจะแยกจากกัน" นั่นคืออาจแบ่งปันเหตุการณ์ที่เกิดขึ้นกับขอบหรือ s (เรามีเพียง 2n ขอบพิเศษเหล่านี้) เป้าหมายที่แท้จริงคือการแสดงให้เห็นว่า G ต้องมีขอบประมาณ kN หากเรารู้ว่าทุกคนที่ "บริสุทธิ์" k-cut (ไม่มีขอบพิเศษเหล่านี้) จะต้องมีขอบ N (ดีมากอย่างที่ฉันเห็น) ข้อโต้แย้งของคุณสามารถแก้ไขสถานการณ์นี้ ("เกือบจะแยกกัน") ได้หรือไม่?
Stasys

2
หากคุณอนุญาตให้มีการตัดการแบ่งปันขอบของเหตุการณ์ที่เกิดขึ้นกับ s หรือ t ดังนั้นทำไมคุณไม่สามารถทำการตัดได้ทั้งหมดประกอบด้วยชุดของการเกิดขอบที่ตรงกับ s? ในทางกลับกันข้อโต้แย้งของฉันแสดงให้เห็นว่า (ด้วยการเลือกGและk ) จะมีเพียงการตัดบริสุทธิ์เพียงครั้งเดียว
David Eppstein
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.