ปัญหาชุดฝาครอบชุดนี้เรียกว่าอะไร


12

การป้อนข้อมูลเป็นจักรวาลUและครอบครัวของส่วนย่อยของU , พูดF2U U เราคิดว่าส่วนย่อยในFสามารถครอบคลุมUคือEFE=U U

ลำดับครอบคลุมเพิ่มขึ้นเป็นลำดับของส่วนย่อยในFพูด= { E 1 , E 2 , ... , E | A | }ที่น่าพอใจA={E1,E2,,E|A|}

1) EA,EF ,

i>1j=1i1Eij=1iEi

ปัญหาคือการหาลำดับการครอบคลุมที่เพิ่มขึ้นของความยาวสูงสุด (นั่นคือสูงสุด ) โปรดทราบว่าลำดับความยาวสูงสุดในที่สุดก็จะต้องครอบคลุมคือ UคุณE A E = U|A|UEAE=U

ฉันพยายามค้นหาอัลกอริทึมหรืออัลกอริทึมโดยประมาณเพื่อค้นหาลำดับการครอบคลุมที่เพิ่มขึ้นที่ยาวที่สุด ฉันแค่สงสัยว่าชุดของฝาครอบชุดนี้รู้จักกันในนามอะไร ขอบคุณ!


คุณต้องการครอบครัวของส่วนย่อยเพื่อครอบคลุมจักรวาลหรือไม่? เพราะแน่นอนว่าคุณอาจมีปัญหาเรื่องชุดฝาครอบที่ยากขึ้นเนื่องจากคุณกำลังมองหาชุดฝาครอบพร้อมคุณสมบัติเพิ่มเติม กล่าวอีกนัยหนึ่งชุดฝาครอบจะช่วยลดปัญหาของคุณ ที่ wiki ของ set cover ก็เป็นผลที่เกิดจากความสามารถในการแปรผันของชุดฝาครอบ UAU
แฮร์รี่

1
เป็นเพียงการสังเกตการณ์ (เล็กเกินกว่าจะตอบได้): เมื่อชุดย่อยของคุณมีขนาดสองแล้วสิ่งที่คุณกำลังมองหาคือป่าที่ทอดยาว
David Eppstein

อาจไม่ใช่เรื่องใหม่สำหรับ OP แต่เป็นข้อสังเกตเล็กน้อย (1) ค่าที่เหมาะสมที่สุดคือ | U | ไม่ว่าจะเป็นค่าที่ดีที่สุดจะเท่ากับ | U | หรือไม่สามารถตัดสินใจได้อย่างมีประสิทธิภาพโดยอัลกอริทึมโลภที่พยายามลดจำนวนองค์ประกอบที่ครอบคลุม (2) อัลกอริทึมโลภเดียวกันนี้ใช้งานได้หากเซตทั้งหมดใน F มีขนาดที่สองให้ดูความคิดเห็นของ David Eppstein (3) อัลกอริทึมโลภเดียวกันไม่ทำงาน (ถอนหายใจ) โดยทั่วไป ตัวอย่างที่ตอบโต้: F = {{1,2,3}, {1,4,5,6}, {2,4,5,6}, {3,4,5,6}}
Tsuyoshi Ito

1
ปัญหาไม่ได้ดูเหมือนปัญหาการตั้งค่าเลย ... เหมือนไฮบริดระหว่างการจับคู่และการจับคู่ที่เกิดขึ้นในกราฟสองฝ่าย การปฏิรูปที่เท่าเทียมกันที่ดีคือครอบครัวไม่ดีหากไม่มีองค์ประกอบใดที่ครอบคลุมโดยครอบครัวหนึ่งชุด ปัญหาคือการหาครอบครัวย่อยที่ใหญ่ที่สุดของเช่นนั้นไม่มีอนุวงศ์ที่ไม่ดี F AAFA
daniello

1
@Neal Youngไม่เลวเพราะครอบคลุมด้วยหนึ่งชุดเท่านั้น (คือ ) b { a , b }Fb{a,b}
daniello

คำตอบ:


4

ที่นี่ฉันแสดงให้เห็นว่าปัญหาคือปัญหาที่สมบูรณ์

เราแปลง CNF เป็นตัวอย่างของปัญหาของคุณดังนี้ สมมติว่าตัวแปรของ CNF มี 'และคำสั่งที่มี ' s ที่<เมตร ให้โดยที่ชุดทั้งหมดในกลุ่มจะแยกออกจากกันอย่างสมบูรณ์ อันที่จริงแล้วและขณะคือชุดของ cardinality ใด ๆ 1 นอกจากนี้ยังแสดงว่าและแก้ไขสำหรับทุกตระกูลที่มีความยาวเพิ่มขึ้นอยู่ภายในซึ่งแสดงโดยสำหรับx i m C j n < m U = i ( A iB iZ i ) A i = { a i , jx iC j } { a i , 0 } B i = { b ฉัน, jx ฉันC j } n xim Cjn<mU=i(AiBiZi)Ai={ai,jxiCj}{ai,0}Z ฉัน k = 2 n + 1 Z = ฉันZ ฉันZ ฉัน k Z ฉัน, L L = 1 .. k x ฉัน 2 k F ฉันZ ฉัน, L B ฉันZ ฉัน, l C j F Z x ฉันC j { aBi={bi,jxiCj}{bi,0}Zik=2n+1Z=iZiZikZi,ll=1..kLทุกตัวแปรเราเพิ่มชุดชุดฟอร์มทุกและL} สำหรับทุกประโยคเราเพิ่มหนึ่งชุดเป็นซึ่งมีและสำหรับทุกองค์ประกอบและสำหรับทุกองค์ประกอบ\}xi2kFAiZi,lBiZi,lCjFZxiCj ˉ x i C j { b i , j }{ai,j}x¯iCj{bi,j}

สมมติว่าสูตรเป็นที่พอใจและแก้ไขการมอบหมายที่น่าพอใจ จากนั้นเลือกชุดของแบบฟอร์มหรือขึ้นอยู่กับว่าเป็นจริงหรือไม่ เหล่านี้เป็นชุดที่เพิ่มขึ้นตอนนี้เพิ่มชุดสอดคล้องกับข้อ สิ่งเหล่านี้ยังคงเพิ่มขนาดอย่างต่อเนื่อง สุดท้ายเรายังสามารถเพิ่มชุดขึ้นไป (สำหรับแต่ละตัวแปร) เพื่อให้ปกลำดับUA iZ i , l B iZ i , l x i n k m k UkAiZi,lBiZi,lxinkmkU

ทีนี้สมมติว่าอยู่ในลำดับที่เพิ่มขึ้น ขอให้สังเกตว่าที่มากที่สุดชุดที่สอดคล้องกับสามารถเลือกสำหรับแต่ละx_iดังนั้นหากไม่มีชุดประโยคในลำดับที่เพิ่มขึ้นสามารถเลือกส่วนใหญ่ซึ่งน้อยเกินไป โปรดสังเกตว่าทันทีที่เลือกชุดคำสั่งเราสามารถเลือกได้สูงสุดสองชุดที่สอดคล้องกับแต่ละจำนวนรวมสูงสุดชุด ดังนั้นเราต้องเลือกชุดตัวแปรอย่างน้อยก่อนที่จะเลือกชุดประโยคใด ๆ แต่เนื่องจากเราสามารถเลือกมากที่สุดสำหรับแต่ละนี่หมายความว่าสำหรับแต่ละอย่างที่เราเลือกอย่างน้อยk + 1 x i x i n ( k + 1 ) x i 2 n n ( k - 1 ) k + 1 x i 1 k = 2 n + 1n(k+1)+mk+1xixin(k+1)xi2nn(k1)k+1xi1เป็น 1 สิ่งนี้จะกำหนด "ค่า" ของตัวแปรดังนั้นเราจึงสามารถเลือกเฉพาะคำสั่ง "true" เท่านั้นk=2n+1

อัปเดต: เปลี่ยนค่าจากเป็นตามที่ Marzio ชี้n 2 n + 1kn2n+1


1
คำชี้แจง: ฉันตรวจสอบการก่อสร้างอย่างรวดเร็วสำหรับสูตรที่ไม่น่าพอใจ ( ) แต่ดูเหมือนว่าเราสามารถสร้างลำดับของของ การเพิ่มชุดF ฉันอาจทำผิดพลาด: เรามี ? n = k = 1 , M = 2 n ( k + 1 ) + M = 4 F F = { { 1 , 0 , 1 , 1 , 1 , 2 , Z 1 } , { b 1 , 0 , b 1 , 1 , bx1¬x1n=k=1,m=2n(k+1)+m=4FF={{a1,0,a1,1,a1,2,z1},{b1,0,b1,1,b1,2,z1},{a1,1,z1},{b1,2,z1}}
Marzio De Biasi

รู้ว่าคุณและตัวเองฉันแน่ใจว่าความผิดพลาดเป็นของฉัน ... ฉันคิดว่าเราควรได้รับแต่แน่นอน มันยังคงเป็นปัญหาอยู่ ตกลงฉันเห็นว่าฉันทำผิดพลาดที่ไหนฉันแก้ไขได้ในอีกหนึ่งนาทีขอบคุณ! F={{a1,0,a1,1,z1},{b1,0,b1,2,z1},{a1,1,z1},{b1,2,z1}}
domotorp

Fxi¬xik=2n+1n(k+1)+m=2n2+2n+m
Marzio De Biasi

F={{a1,0,a1,1,z1,},{a1,0,a1,1,z1,z2},{a1,0,a1,1,z1,z2,z3},{b1,0,b1,2,z1},{b1,0,b1,2,z1,z2},{b1,0,b1,2,z1,z2,z3},{a1,1,z1,z2,z3},{b1,2,z1,z2,z3}}

n(k+1)+m=65

0

ABAXBX

E1,,EmE ฉันB E ฉันBEiBEi

สำหรับทิศทางอื่นมันก็ง่ายเช่นกัน เริ่มต้นจากโซลูชันค้นหาองค์ประกอบที่ครอบคลุมเพียงครั้งเดียวตั้งเป็นชุดสุดท้ายในลำดับเอาชุดนี้ออกแล้วทำซ้ำ QEDA


นี่เป็นปัญหาที่ค่อนข้างเป็นธรรมชาติ ....


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


คำตอบนี้เป็นเพียงการพิสูจน์ว่าคำถามนั้นเป็นเรื่องธรรมดาหรือมีอย่างอื่นที่คุณเรียกร้องหรือไม่?
domotorp

มันระบุไว้ในวิธีที่ง่ายกว่า ไม่มี?
Sariel Har-Peled

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