ปัญหา“ ผลิตภัณฑ์ชุดย่อย” เป็นปัญหาที่สมบูรณ์หรือไม่


21

ปัญหาผลรวมย่อยคือปัญหา NP-complete แบบคลาสสิก:

เมื่อระบุรายการตัวเลขและเป้าหมายมีชุดย่อยของตัวเลขจากที่รวมเป็นหรือไม่k L kLkLk

นักเรียนคนหนึ่งถามฉันว่าปัญหาที่เรียกว่า "ผลิตภัณฑ์ชุดย่อย" เป็นปัญหาที่เกิดขึ้นหรือไม่:

รับรายการหมายเลขและเป้าหมายมีชุดย่อยของตัวเลขจากซึ่งผลิตภัณฑ์เป็นหรือไม่k L kLkLk

ฉันทำการค้นหาบางอย่างและไม่สามารถหาแหล่งข้อมูลที่พูดคุยเกี่ยวกับปัญหานี้ได้แม้ว่าฉันอาจจะคิดถึงพวกเขาก็ตาม

ปัญหาผลิตภัณฑ์ชุดย่อย NP-complete หรือไม่


2
คำตอบที่น่าสนใจ แต่ฉันสงสัยว่า: เราไม่สามารถลดผลรวมย่อยได้เพียงแค่บันทึกจาก k และตัวเลขทั้งหมดหรือไม่ (บางทีฉันควรถามคำถามแยกต่างหาก)
j_random_hacker

1
@j_random_hacker ใช่ถ้าคุณไม่พบคำตอบหลังจากค้นหาในเว็บไซต์นี้และออนไลน์ฉันขอแนะนำให้คุณโพสต์คำถามแยกต่างหาก มันเป็นคำถามที่ดีพร้อมคำตอบที่ดี (คำใบ้: การจดบันทึกจะทำให้คุณมีบางอย่างที่ไม่ใช่จำนวนเต็มในอีกด้านหนึ่งให้คิดว่า exponentiating ทำตามขนาดของตัวเลข) แต่มันก็แทนเจนต์นิดหน่อย และจะดีขึ้นในคำถามของตนเอง
DW

1
@DW: ขอบคุณเมื่อฉันได้รับเวลาฉันจะทำตามที่คุณแนะนำ!
j_random_hacker

คำตอบ:


13

ความคิดเห็นกล่าวถึงการลดลงจาก X3C เป็น SUBSET PRODUCT ประกอบกับ Yao เมื่อพิจารณาถึงเป้าหมายของการลดลงก็ไม่ยากที่จะคาดเดาว่าการลดลงนั้นน่าจะเป็นเช่นไร

คำนิยาม:

ที่แน่นอนโดย 3 ชุด (X3C)

รับชุด จำกัดด้วยผลคูณของ 3 และคอลเลกชันของชุดย่อย 3 องค์ประกอบของ ,ประกอบด้วยปกที่แน่นอนสำหรับ , ที่และองค์ประกอบในเกิดขึ้นทุกครั้งในหรือไม่?| X | C X C C X C C X C X|X|CXCCXCCXC

ผลิตภัณฑ์ย่อย

รับรายการหมายเลขและเป้าหมายมีชุดย่อยของตัวเลขจากซึ่งผลิตภัณฑ์เป็นหรือไม่k L kLkLk

หากต้องการลดอินสแตนซ์ X3C เป็นอินสแตนซ์ SUBSET PRODUCT:

  1. สร้างการทำแผนที่ bijective ระหว่างสมาชิกของและแรกจำนวนเฉพาะ. แทนที่สมาชิกของชุดย่อยและด้วยช่วงเวลาที่แมป| X | X CX|X|XC

  2. สำหรับแต่ละเซตย่อยในให้คูณสมาชิกด้วยกัน รายการผลลัพธ์ของผลิตภัณฑ์คือสำหรับอินสแตนซ์ของ SUBSET PRODUCT เพราะตัวเลขที่สำคัญถูกนำมาใช้สำหรับการทำแผนที่ในขั้นตอนที่ 1 ผลิตภัณฑ์ที่มีการรับประกันว่าจะเทียบเท่า IFF ย่อยเทียบเท่าโดยทฤษฎีบทตัวประกอบที่ไม่ซ้ำกันLCL

  3. ทวีคูณสมาชิกด้วยกัน ผลิตภัณฑ์ที่ได้คือค่าสำหรับอินสแตนซ์ของ SUBSET PRODUCTkXk

ปัจจัยสำคัญของคือสมาชิกของทุกประการ ปัจจัยสำคัญของตัวเลขในสอดคล้องกับสมาชิกของเซตย่อยดังนั้นวิธีการแก้ปัญหาใด ๆ เช่นระบบย่อยผลิตภัณฑ์ใหม่ที่สามารถเปลี่ยนเป็นวิธีการแก้ปัญหา X3C โดยการทำแผนที่สมาชิกแก้ปัญหาของกลับไปย่อยในCX L C L CkXLCLC

แต่ละขั้นตอนการแปลง 3 ขั้นตอนเกี่ยวข้องกับการดำเนินการที่มีพหุนามกับขนาดของอินพุตหรือขนาดของสมาชิกของXตัวแรกช่วงเวลาที่สามารถสร้างขึ้นในเวลา O ( ) โดยใช้ตะแกรงของ Eratosthenes และมีการรับประกันเพื่อให้พอดีกับพื้นที่โดยทฤษฎีบทจำนวนเฉพาะX | X | | X | O ( | X | 2 ln | X | )|X|X|X||X|O(|X|2ln|X|)


1
+1 แต่สำหรับการลดผ่านฉันคิดว่าเราต้องการให้ | X | แรก จำนวนเฉพาะสามารถแสดงเป็นจำนวนบิตที่เป็นพหุนามใน | X | - ฉันถูกเกี่ยวกับเรื่องนี้และถ้าเป็นเช่นนั้นเรารับประกันได้หรือไม่?
j_random_hacker

1
จุดที่ดีเยี่ยม ฉันได้เพิ่มย่อหน้าเพื่อที่อยู่ที่
Kyle Jones

1
ขอบคุณทฤษฎีบทนั้นสิ้นสุดลง! ไม่ใช่เพื่อ nitpick แต่ตามหน้าที่คุณเชื่อมโยงไปนั้นหมายเลขเฉพาะของ kth จะอยู่ที่ประมาณ k log k และเนื่องจากเห็นได้ชัดว่า Sieve of Eratosthenes จะคำนวณจำนวนเฉพาะทั้งหมดถึง n ในเวลาO (n log log n)แทน n = k log k ปรากฏขึ้นเพื่อให้เวลา O (k * log (k) * log (log (k log k))) มากกว่า O (k) (O (| X |) ของคุณ) เพื่อคำนวณ k แรก ช่วงเวลานั้น
j_random_hacker

1
ไคล์โจนส์ไม่สำคัญใช่ไหมที่ขั้นตอนที่ 3 จะสร้างเลขชี้กำลังจำนวนจำนวนมาก? การลดลงนี้เป็นเวลาพหุนามจริงๆหรือไม่ k
user1742364

3
@ user1742364 ไม่เพราะการคำนวณไม่ต้องการจำนวนการดำเนินการเลขชี้กำลังหรือต้องการการจัดเก็บจำนวนบิตแบบเลขชี้กำลัง การคำนวณkต้องการ| X | คูณและการคูณที่เลวร้ายที่สุดO ( n 2 )การดำเนินงาน ในขณะที่kจะชี้แจงขนาดใหญ่กว่าสำคัญที่ใหญ่ที่สุดPในX , จำนวนบิตที่จำเป็นในการจัดเก็บkจะเป็นO ( ล็อกP ) kk|X|O(n2)kPXkO(logP)
Kyle Jones

9

ตาม [ 1 ]: ใช่มันเป็น

ฉันยังอ้างถึงการอ้างอิงเดียวกัน: ความเห็น: มีความแตกต่างทางเทคนิคที่ลึกซึ้งระหว่างสิ่งนี้และปัญหาที่ 42: กรณีก่อนหน้านี้มีอัลกอริทึมหลอกที่มีประสิทธิภาพที่ได้รับโดยอนุญาตให้ตัวเลขแสดงเป็นเอก เว้นแต่ว่าปัญหาที่เกิดขึ้นกับ NP ทั้งหมดนั้นสามารถแก้ไขได้โดยอัลกอริธึมอย่างรวดเร็วอย่างไรก็ตามปัญหาของผลิตภัณฑ์เซตย่อยไม่สามารถแก้ไขได้ด้วยวิธีการที่มีประสิทธิภาพโดยใช้แม้แต่การแทนค่าอินพุตที่ไม่สมเหตุสมผล

ดูที่ [2] เพื่อดูการลดลง [2]: เพื่อน, Michael และ Neal Koblitz "ความซับซ้อนคงที่พารามิเตอร์และการเข้ารหัส" พีชคณิตประยุกต์, อัลกอริทึมพีชคณิตและรหัสแก้ไขข้อผิดพลาด (1993): 121-131


1
การลดจริงหรือการอ้างอิงในบทความวารสารจะดีถ้าเป็นไปได้
templatetypedef

3
@templatetypedef ใน Garey และ Johnson การลดนั้นจะครอบคลุมถึง 3 ชุด เนื่องจากการสื่อสารส่วนตัวกับเหยา
AJed

การลดลงของกระดาษการเข้ารหัสสำหรับปัญหาที่แตกต่างกันซึ่งในผลิตภัณฑ์เป้าหมายจะถูกแทนที่ด้วยความสอดคล้องกับหมายเลขเป้าหมายโมดูโลโมดูลัสให้ในตัวอย่าง (แม้ว่าฉันจะเข้าใจการพิสูจน์ได้อย่างถูกต้องพวกเขาก็จะมีความกระด้างที่อ่อนแออยู่แล้วเพราะโมดูลัสนั้นมีค่าเป็นจำนวนมาก)
Jeffrey Bosboom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.