การคำนวณการปิดสหภาพ


10

ป.ร. ให้ครอบครัวของที่มากที่สุดnย่อยของ{ 1 , 2 , ... , n } ปิดสหภาพFเป็นอีกหนึ่งครอบครัวชุดCที่มีการตั้งค่าที่สามารถสร้างขึ้นโดยการสหภาพ 1 ชุดขึ้นในทุกF โดย| C | เราแสดงว่าจำนวนชุดในCFn{1,2,,n}FCF|C|C

วิธีที่เร็วที่สุดในการคำนวณการปิดสหภาพคืออะไร

ฉันได้แสดงความเท่าเทียมกันระหว่างการปิดสหภาพและแสดงรายการชุดอิสระสูงสุดทั้งหมดในกราฟสองฝ่ายดังนั้นเราจึงรู้ว่าการตัดสินใจขนาดของการปิดสหภาพคือ # P-complete

แต่มีวิธีที่จะแสดงรายการทั้งหมดสูงสุดอิสระชุด (หรือชมรมสูงสุด) ในเวลาสำหรับกราฟที่มีnโหนดและม.ขอบ Tsukiyama et al, 2520 แต่นี่ไม่ใช่เฉพาะสำหรับกราฟสองฝ่ายO(|C|nm)nm

เราให้อัลกอริทึมสำหรับกราฟสองฝ่ายพร้อมรันไทม์ http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf|C|log|C|n2

วิธีการของเราตั้งอยู่บนพื้นฐานของการสังเกตว่าองค์ประกอบใด ๆ ในสามารถทำโดยการรวมกันขององค์ประกอบอื่น ๆ ของCและหนึ่งในชุดเดิม ดังนั้นเราจะเมื่อใดก็ตามที่เราเพิ่มองค์ประกอบในCพยายามที่จะขยายมันโดยหนึ่งในชุดเดิมn สำหรับแต่ละเหล่านี้n | C | ชุดที่เราจำเป็นต้องตรวจสอบว่าพวกเขาจะยังคงอยู่ในC เราจัดเก็บCเป็นแผนผังการค้นหาแบบไบนารีดังนั้นการค้นหาแต่ละรายการจึงใช้บันทึก| C | เวลาnCCCnn|C|CClog|C|n

มันเป็นไปได้ที่จะหาสิ่งที่ปิดสหภาพในO ( | C |n 2 )เวลาหรือไม่ หรือแม้กระทั่งในเวลาO ( | C |n ) ?CO(|C|n2)O(|C|n)


|C|

|C|C

แม้ว่าสิ่งนี้จะไม่ช่วยคำถามของคุณสิ่งที่คุณถามเป็นกรณีพิเศษของการคำนวณการปิดองค์ประกอบขึ้นในตาข่ายและฉันสงสัยว่ามีผลลัพธ์จากที่นั่นอาจเป็นประโยชน์
Suresh Venkat

แบบสำรวจที่ฉันชี้ไปยังคำตอบของฉันด้านล่างมีลิงก์บางส่วนที่มีโปรย
M. kanté

คำตอบ:


3

ความซับซ้อนของการแจกแจงชุดอิสระสูงสุดในกราฟนั้นเหมือนกับในกราฟสองฝ่ายดังนั้นความเป็นสองฝ่ายจึงไม่นำสิ่งใดมาใหม่

O(|C|n2)

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