ความซับซ้อนของการจัดเรียงทอพอโลยีที่มีตำแหน่งที่ จำกัด


15

ฉันกำลังได้รับเป็นใส่ DAGของจุดซึ่งแต่ละจุดสุดยอดมีข้อความระบุว่านอกจากนี้ยังมีบางส่วน\}n x S ( x ) { 1 , , n }GnxS(x){1,,n}

ทอพอโลยีแบบหนึ่งของคือ bijectionจากจุดยอดของถึงเช่นนั้นสำหรับ ,หากมีเส้นทางจากไปยังในดังนั้น(y) ฉันต้องการที่จะตัดสินใจว่าจะมีอยู่การจัดเรียงทอพอโลยีของเช่นว่าทุก ,(x)f G { 1 , , n } x y x y G f ( x ) f ( y ) G x f ( x ) S ( x )GfG{1,,n}xyxyGf(x)f(y)Gxf(x)S(x)

ความซับซ้อนของปัญหาการตัดสินใจครั้งนี้คืออะไร?

[หมายเหตุ: เห็นได้ชัดว่านี่เป็น NP หากคุณดูกราฟของคู่จุดสุดยอด / ตำแหน่งที่ได้รับอนุญาตโดยมีขอบที่ไม่ได้บอกทิศทางระหว่างการจับคู่ที่ขัดแย้งกันเนื่องจากพวกเขาละเมิดคำสั่งซื้อคุณจะได้รับกราฟของกลุ่มที่แยกจากกันซึ่งคุณต้องการเลือกคู่ละหนึ่งคู่ ตำแหน่งและมากที่สุดหนึ่งคู่ต่อจุดสุดยอด - ดูเหมือนว่าจะเกี่ยวข้องกับการจับคู่ 3 มิติ แต่ฉันไม่สามารถดูว่ามันยังยากกับโครงสร้างเพิ่มเติมของปัญหาเฉพาะนี้]

คำตอบ:


9

ฉันคิดว่าปัญหานี้เป็นปัญหาที่ยาก ฉันพยายามที่จะร่างการลดลงจาก MinSAT ในปัญหา MinSAT เราได้รับ CNF และเป้าหมายของเราคือการลดจำนวนอนุประโยคที่พอใจ ปัญหานี้เกิดจากปัญหา NP-hard ดูตัวอย่างเช่นhttp://epubs.siam.org/doi/abs/10.1137/S0895480191220836?journalCode=sjdmec

แบ่งจุดยอดออกเป็นสองกลุ่ม - บางกลุ่มจะเป็นตัวแทนของตัวอักษรส่วนคำสั่งอื่น ๆ ดังนั้นโดยที่vคือจำนวนของตัวแปรของ CNF (แสดงโดยปกติโดยn ) และcคือจำนวนของคำสั่ง กำหนดขอบจากแต่ละจุดยอดตามตัวอักษรไปยังจุดสุดยอดจุดที่มันเกิดขึ้น กำหนดSสำหรับตัวอักษร - จุดสุดยอดที่แสดงถึงx ฉันเป็น{ i , i + v + k } (โดยที่kเป็นพารามิเตอร์ที่กำหนดเอง) ดังนั้นf ( x i )n=2v+cvncSxi{i,i+v+k}kและ F ( ˉ xฉัน ) = ฉัน+ V + kหรือ F ( ˉ xฉัน ) = ฉันและk สำหรับแต่ละส่วนจุดยอดขอให้ดังนั้นของจุดยอดคือ '' เล็ก ''f(xi)=if(x¯i)=i+v+kf(x¯i)=if(xi)=i+v+kS={v+1,,v+k,2v+k+1,,n}k

ตอนนี้ CNF มีการมอบหมายที่อย่างน้อยอนุประโยคเป็นเท็จถ้าหากปัญหาของคุณสามารถแก้ไขได้สำหรับอินสแตนซ์ด้านบน ปัญหา MinSAT นั้นเป็นการทดสอบว่าสูตร CNFมีการมอบหมายให้ทำอย่างน้อยคำสั่งเท็จดังนั้นสิ่งนี้แสดงว่าปัญหาของคุณคือปัญหา NP-hardkφk

เพื่อช่วยให้คุณเข้าใจการลดลงนี่คือสัญชาตญาณ: ป้ายกำกับขนาดเล็ก ( ) สอดคล้องกับค่าความจริงเท็จและป้ายกำกับขนาดใหญ่ ( ) ตรงกัน เป็นจริง ข้อ จำกัด สำหรับตัวอักษร - จุดยอดให้แน่ใจว่าแต่ละเป็นจริงหรือเท็จและมีค่าความจริงตรงข้าม ขอบให้แน่ใจว่าหากตัวอักษรใด ๆ ที่เป็นจริงแล้วข้อทั้งหมดที่มีมันจะได้รับมอบหมายจริงเช่นกัน (ตรงกันข้ามถ้าตัวอักษรทั้งหมดในประโยคได้รับมอบหมายเท็จแล้วโครงสร้างกราฟนี้ช่วยให้ข้อ - จุดยอดจะได้รับมอบหมายทั้งเท็จหรือจริง) ในที่สุดการเลือกทำให้มั่นใจได้ว่าของจุดยอดประโยคได้รับเท็จและV + k + 1 , ... , 2 V + k x ฉัน¯ x ฉัน k k - k k φ k φ φ1,2,,v+kv+k+1,,2v+kxixi¯kkckของพวกเขาได้รับมอบหมายจริง ดังนั้นถ้ามีการจัดเรียงทอพอโลยีที่ถูกต้องของกราฟนี้แล้วมีการมอบหมายให้ตัวแปรที่ทำให้อย่างน้อยของคำสั่งของเท็จ (ทั้งหมดของข้อ-จุดที่ได้รับมอบหมายเป็นเท็จรวมทั้งอาจจะเป็นบางส่วนของ สิ่งที่ได้รับมอบหมาย True) ในทางกลับกันหากมีการมอบหมายให้ตัวแปรที่ทำให้อย่างน้อยของอนุประโยคของ false นั้นมีการจัดเรียงทอพอโลยีที่ถูกต้องของกราฟนี้ (เราเติมป้ายกำกับสำหรับตัวอักษร - จุดในทางที่ชัดเจนและ สำหรับแต่ละประโยคของkφkφφนั่นเป็นความจริงเราให้ฉลากที่สอดคล้องกับข้อที่สอดคล้องกับ True; ส่วนคำสั่งอื่น ๆ สามารถรับฉลากที่สอดคล้องกับค่าความจริงโดยพลการ)


ขอบคุณสำหรับคำตอบ! ฉันพยายามเข้าใจร่างของคุณ คุณจะอธิบายว่าคืออะไร? k
a3nm

1
@ a3nm: k เป็นพารามิเตอร์ที่กำหนดไว้สำหรับอินพุต MinSAT
domotorp

1
@Marzio: SAT ไม่เทียบเท่ากับ MinSAT ด้วยเช่นเดียวกับในปัญหาหลังเราจะกำหนดให้คำสั่งทั้งหมดเป็นเท็จ ϕของคุณไม่มีข้อผิดพลาดที่ได้รับมอบหมายทั้งหมด แน่นอนว่าสิ่งนี้ไม่ได้พิสูจน์ว่าการลดลงของฉันถูกต้อง ...k=|c|ϕ
domotorp

นี่คือการลดที่งดงาม! @ a3nm ฉันได้แนะนำการแก้ไขคำตอบเพื่ออธิบายการลดลงอย่างละเอียดของ domotorp ในรายละเอียดเพิ่มเติม; หากได้รับการอนุมัติหวังว่ามันจะช่วยให้คุณเข้าใจความคิดที่ชัดเจนยิ่งขึ้น
DW

@domotorp: ถูกต้องฉันพลาด MinSAT อย่างสมบูรณ์ เป็นการลดที่ดี !!!
Marzio De Biasi

2

โปรดทราบว่าหากคุณผ่อนคลายปัญหาโดยอนุญาตให้เป็นแบบสุ่ม (ไม่จำเป็นต้องมี bijective) แสดงว่าพหุนามกลายเป็น อัลกอริทึมดำเนินการคล้ายกับการเรียงลำดับทอพอโลยี: คุณกำหนดจำนวนจุดยอดจุดหนึ่งต่อหนึ่งโดยคงชุดUของจุดยอดที่ไม่ได้เรียงซึ่งมีหมายเลขในประเทศเพื่อนบ้าน เมื่อใดก็ตามที่เป็นไปได้ให้คุณเลือกจุดสุดยอดx Uและกำหนดจำนวนด้วยองค์ประกอบที่เล็กที่สุดของS ( x )มากกว่าจำนวนของเพื่อนบ้าน ไม่ยากที่จะเห็นว่าอินสแตนซ์( G , S )มีวิธีแก้ปัญหาหากอัลกอรึทึมก่อนหน้าทำงาน( G ,fUxUS(x)(G,S)ลงท้ายด้วยหมายเลขทุกจุด(G,S)


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

2

ข้อสังเกตเล็กน้อยคือถ้าสำหรับxทั้งหมดดังนั้นปัญหานี้สามารถแก้ไขได้ในเวลาพหุนามโดยลดลงเป็น 2SAT|S(x)|2x

นี่คือวิธี แนะนำตัวแปรสำหรับแต่ละจุดสุดยอดxและแต่ละฉันเช่นที่ฉันS ( x ) สำหรับแต่ละคู่x , y ที่จุดถ้ามีเส้นทางจากxไปy ที่เราได้รับข้อ จำกัด บาง: ถ้าฉันS ( x ) , เจS ( Y )และฉัน> Jแล้วเราได้รับข้อ จำกัด¬ v x , ivx,ixiiS(x)x,yxyiS(x)jS(y)i>j J Bijectivity ช่วยให้เรามีชุดของข้อ จำกัด อื่น: สำหรับแต่ละคู่ x , y ที่จุดกับ x Yถ้าฉันS ( x )และฉันS ( Y )เราเพิ่ม ¬ วีx , ฉัน¬ วีY ,ฉัน ในที่สุดความต้องการที่แต่ละจุดสุดยอดจะต้องกำหนดฉลากให้เราอีกชุดของข้อ จำกัด : สำหรับแต่ละ xถ้า S (¬vx,i¬vy,jx,yxyiS(x)iS(y)¬vx,i¬vy,ixเราได้รับข้อ จำกัดวีx , ฉันวีx , J (โปรดทราบว่าข้อ จำกัด ชุดสุดท้ายเท่านั้นใช้ประโยชน์จากสัญญาที่ | S ( x ) |2สำหรับแต่ละ x )S(x)={i,j}vx,ivx,j|S(x)|2x

ฉันรู้ว่าการสังเกตนี้จะไม่ช่วยคุณในสถานการณ์เฉพาะของคุณ ขอโทษสำหรับเรื่องนั้น.

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