นี่ไม่ใช่คำตอบ แต่อยู่ใกล้ ต่อไปนี้เป็นข้อพิสูจน์ว่าปัญหา NP-hard ภายใต้การลดแบบสุ่ม
สมมติว่าคุณรู้ว่าปัจจัยของการมีความสัมพันธ์ที่ชัดเจนในการรวมชุดย่อยซึ่งเป็นเป็น : , , , p_kตอนนี้คุณต้องการค้นหาชุดย่อยของเช่นนั้นp 1 p 2 … p k S p 1 … p kNp1p2…pkSp1 … pk
logL≤∑pi∈Slogpi≤logU.
ปัญหาของการพยายามใช้ความคิดนี้เพื่อแสดงปัญหาคือ NP-hard คือถ้าคุณมีปัญหาผลรวมย่อยของตัวเลข , , ,คุณไม่สามารถหาช่วงเวลาในพหุนามได้เช่น (โดยฉันหมายถึงสัดส่วนโดยประมาณ) ปัญหานี้เป็นปัญหาจริงเพราะตั้งแต่เซตผลรวมไม่ได้เป็นอย่างยิ่ง NP-เสร็จสมบูรณ์คุณต้องไปหาเหล่านี้ขนาดใหญ่จำนวนเต็มt_it 2 … t k log p i ∝ t it1t2…tklogpi∝ti∝logpiti
ตอนนี้สมมติว่าเราจำเป็นต้องให้ทุกจำนวนเต็มในเซตปัญหารวมอยู่ระหว่างและและผลรวมจะอยู่ที่ประมาณt_i ปัญหาผลรวมเซ็ตย่อยจะยังคงเป็นปัญหาที่สมบูรณ์และวิธีแก้ปัญหาใด ๆ คือผลรวมของจำนวนเต็มเราสามารถเปลี่ยนปัญหาจากจำนวนเต็มเป็น reals หากเราปล่อยให้อยู่ระหว่างและและแทนที่จะกำหนดให้ผลรวมเป็นแน่นอนเราต้องการให้อยู่ระหว่างและ{10} เราเพียงแค่ต้องระบุหมายเลขของเราไปรอบ ๆt1 … tkxx(1+1/k)12∑itik/2t′ititi+110ksss+1104logkความแม่นยำมากขึ้นในการทำเช่นนี้ ดังนั้นถ้าเราเริ่มต้นด้วยตัวเลขด้วยบิตและเราสามารถระบุจำนวนจริงถึงความแม่นยำประมาณบิตเราสามารถดำเนินการลดของเราBlogpiB+4logk
ตอนนี้จากวิกิพีเดีย (ผ่านความคิดเห็นของ Hsien-Chih ด้านล่าง) จำนวนช่วงระหว่างและคือดังนั้นถ้าคุณเพียงแค่เลือก ตัวเลขสุ่มในช่วงนั้นและทดสอบพวกมันเพื่อความเป็นอันดับแรกโดยมีความน่าจะเป็นสูงที่จะได้เป็นนายกในเวลาพหุนามTT+T5/8θ(T5/8/logT)
ทีนี้ลองลดขนาดกันดู สมมติว่าเรามีทั้งหมดบิตยาว ถ้าเราใช้ของความยาวบิตจากนั้นเราจะพบสำคัญใกล้กับด้วยความแม่นยำบิต ดังนั้นเราสามารถเลือกเพื่อให้ด้วยความแม่นยำบิต สิ่งนี้ทำให้เราพบดังนั้นด้วยความแม่นยำบิต หากเซตย่อยของช่วงเวลาเหล่านี้คูณกับบางสิ่งที่ใกล้เคียงกับค่าเป้าหมายจะมีวิธีแก้ไขปัญหาสำหรับผลรวมย่อยเซ็ตแรก ดังนั้นเราจึงปล่อยtiBTi3BpiTi9/8BTilogTi∝ti9/8Bpi≈Tilogpi∝ti9/8BN=Πipiเลือกและอย่างเหมาะสมและเรามีการลดแบบสุ่มจากผลรวมย่อยLU