อัลกอริทึมที่แน่นอนสำหรับปัญหาการติดฉลากขอบใน DAG


14

ฉันกำลังใช้ระบบบางส่วนซึ่งต้องการความช่วยเหลือ ฉันจึงกำหนดให้เป็นปัญหากราฟเพื่อให้โดเมนเป็นอิสระ

ปัญหา:เราจะได้รับการกำกับวัฏจักรกราฟ ) โดยไม่สูญเสียของทั่วไปคิดว่าGมีตรงจุดสุดยอดแหล่งหนึ่งsและตรงหนึ่งอ่างจุดสุดยอดเสื้อ ; ให้Pแสดงว่าชุดของเส้นทางกำกับทั้งหมดจากsไปทีในG เรายังจะได้รับชุดของจุดR V ปัญหาคือการกำหนดน้ำหนักจำนวนเต็มแบบไม่เป็นลบให้กับขอบของGดังนั้นสองเส้นทางในPมีน้ำหนักเท่ากันถ้าหากพวกมันมีเซตย่อยของจุดยอดเดียวกันในG=(V,E)GstPstGRVGP . (น้ำหนักของเส้นทางคือผลรวมของน้ำหนักของขอบ) ช่วงของน้ำหนักของเส้นทางใน Pควรมีขนาดเล็กที่สุดRP

ขณะนี้วิธีการของฉันดูเหมือนจะไม่มีประสิทธิภาพ ฉันแค่กำลังมองหาการอ้างอิงถึงวรรณกรรมหรือความเข้าใจที่ดี อะไรก็ได้ที่ชื่นชมเช่นกัน

แก้ไข:มีหลักฐานความแข็งสำหรับปัญหานี้หรือไม่? หมายเลขกะทัดรัดมีอยู่เสมอหรือไม่


4
โปรดอธิบาย "ช่วงน้ำหนักของเส้นทางใน P ควรเหมาะสมที่สุด" น้ำหนักเป็นจำนวนเต็มเท่านั้นหรือไม่ เราอนุญาตน้ำหนักเชิงลบหรือไม่? ที่ดีที่สุดหมายถึง "ช่วงที่เล็กที่สุด" หรือหมายถึงอย่างอื่นหรือไม่?
Artem Kaznatcheev

2
ฉันได้แก้ไขคำถาม ขอบคุณสำหรับความคิดเห็นของคุณ น้ำหนักควรเป็นจำนวนเต็มไม่เป็นลบและช่วงควรมีขนาดเล็กที่สุด
user5153

5
กลยุทธ์ง่ายๆสำหรับการหาวิธีแก้ปัญหาที่ถูกต้องคือการกำหนดกำลังสองที่แตกต่างกันให้กับแต่ละจุดยอด v ใน R ใช้ตัวเลขนั้นเป็นน้ำหนักของขอบที่เข้ามาทั้งหมดถึง v และกำหนดน้ำหนักศูนย์ให้กับขอบที่เหลือทั้งหมด เห็นได้ชัดว่านี่อาจไม่เหมาะสม แต่อย่างน้อยก็ให้ขอบเขตบนของช่วงที่ต้องการ เคยมีการปรับปรุงหรือไม่ที่จะทำให้ขอบที่แตกต่างผ่านจุดสุดยอดเดียวกันใน R มีน้ำหนักแตกต่างกันหรือคุณสามารถทำให้ปัญหาง่ายขึ้นโดยทำให้ตุ้มน้ำหนักไปกับจุดยอดแทนที่จะเป็นขอบหรือไม่?
David Eppstein

3
O(2|R|)G=(V,E)V=[n]{s,เสื้อ}E={(ผม,J):ผม<J}{(s,1),(n,เสื้อ),(s,เสื้อ)}R=[n]2nR2n-1

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

คำตอบ:


-6

havent ได้ยินปัญหานี้อย่างแน่นอนในวรรณคดี [อาจมีคนอื่น] แต่เป็น "ปัญหาใกล้เคียง" สำหรับฉันดูเหมือนว่าต้นไม้ที่ทอดขั้นต่ำจะมีคุณสมบัติที่มีประโยชน์ในการแก้ปัญหาของคุณ เช่นอาจสร้างทรีสแปนนิ่งขั้นต่ำสองต้นเริ่มต้นจากจุดยอดต้นกำเนิด & จุดสุดยอดการซิงค์และแพร่กระจายออกไปด้านนอกจนกระทั่งสัมผัส ฯลฯ อาจแก้ปัญหาหรือให้คำตอบอย่างใกล้ชิด ก่อนที่ทุกคนจะมาหาฉันที่นี่โปรดเข้าใจว่าฉันกำลังขยายความคิดของ MST ที่จะถูกสร้างขึ้นโดยเริ่มต้นจากจุดสุดยอดที่กำหนด [โดยปกติมันเริ่มจากขอบที่สั้นที่สุดในกราฟทั้งหมด] ถ้ามันใช้งานไม่ได้ Id จะอยากรู้อยากเห็นด้วยเหตุผล


5
ขออภัยฉันไม่เห็นความเกี่ยวข้องของคำตอบสำหรับคำถามนี้
David Eppstein

บางทีคุณอาจมีความคิดที่ดีกว่าสิ่งที่เขาพูดถึง? มันเหมาะสมกับคุณตามที่ระบุไว้หรือไม่?
vzn

1
เขาต้องการกำหนดน้ำหนักให้กับขอบ การคำนวณ MST จะช่วยได้อย่างไร
Nicholas Mancuso

ตกลงเมื่ออ่านและไม่มีใครเสนอคำตอบดูเหมือนว่าปัญหาสามารถแปลงเป็นสองส่วน - (1) กำหนดน้ำหนักตามเกณฑ์ / ข้อ จำกัด (2) ค้นหาเส้นทางที่สั้นที่สุดตามน้ำหนักเหล่านั้น ดูเหมือนว่า MST จะมีประโยชน์ใน (2) หรืออาจจะไม่! (เช่นอาจ 1/2 เป็นคู่ที่แน่นหนา)
vzn

1
ไม่ต้นไม้ที่ครอบคลุมขั้นต่ำนั้นมีไว้สำหรับกราฟที่ไม่ได้บอกทิศทางเท่านั้น กราฟป้อนเข้ากำกับ ยิ่งไปกว่านั้นต้นไม้ที่ครอบคลุมน้อยที่สุดนั้นสัมพันธ์กับทางที่สั้นที่สุดเท่านั้น
Jeffε
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.