ป.ร. ให้ครอบครัวของที่มากที่สุดnย่อยของ{ 1 , 2 , ... , n } ปิดสหภาพFเป็นอีกหนึ่งครอบครัวชุดCที่มีการตั้งค่าที่สามารถสร้างขึ้นโดยการสหภาพ 1 ชุดขึ้นในทุกF โดย| C | เราแสดงว่าจำนวนชุดในC
วิธีที่เร็วที่สุดในการคำนวณการปิดสหภาพคืออะไร
ฉันได้แสดงความเท่าเทียมกันระหว่างการปิดสหภาพและแสดงรายการชุดอิสระสูงสุดทั้งหมดในกราฟสองฝ่ายดังนั้นเราจึงรู้ว่าการตัดสินใจขนาดของการปิดสหภาพคือ # P-complete
แต่มีวิธีที่จะแสดงรายการทั้งหมดสูงสุดอิสระชุด (หรือชมรมสูงสุด) ในเวลาสำหรับกราฟที่มีnโหนดและม.ขอบ Tsukiyama et al, 2520 แต่นี่ไม่ใช่เฉพาะสำหรับกราฟสองฝ่าย
เราให้อัลกอริทึมสำหรับกราฟสองฝ่ายพร้อมรันไทม์ http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf
วิธีการของเราตั้งอยู่บนพื้นฐานของการสังเกตว่าองค์ประกอบใด ๆ ในสามารถทำโดยการรวมกันขององค์ประกอบอื่น ๆ ของCและหนึ่งในชุดเดิม ดังนั้นเราจะเมื่อใดก็ตามที่เราเพิ่มองค์ประกอบในCพยายามที่จะขยายมันโดยหนึ่งในชุดเดิมn สำหรับแต่ละเหล่านี้n ⋅ | C | ชุดที่เราจำเป็นต้องตรวจสอบว่าพวกเขาจะยังคงอยู่ในC เราจัดเก็บCเป็นแผนผังการค้นหาแบบไบนารีดังนั้นการค้นหาแต่ละรายการจึงใช้บันทึก| C | เวลา⋅ n
มันเป็นไปได้ที่จะหาสิ่งที่ปิดสหภาพในO ( | C | ⋅ n 2 )เวลาหรือไม่ หรือแม้กระทั่งในเวลาO ( | C | ⋅ n ) ?