พิจารณาปัญหาต่อไปนี้
- ด้วยชุดของจำนวนบวก{ a 1 , … , a n }ซึ่งk ≥ 3เป็นค่าคงที่เราต้องการแบ่งพาร์ติชันของเซตเป็นm ส่วนย่อยของขนาดkเพื่อให้ผลิตภัณฑ์ของผลรวมของแต่ละชุดย่อย ถูกขยายให้ใหญ่สุด
ปัญหาค่อนข้างคล้ายกับการแบ่งพาร์ติชัน way ที่รู้จักกันดียกเว้นเรามีข้อ จำกัด เกี่ยวกับจำนวนของหมายเลขในแต่ละพาร์ติชัน สำหรับk = 2สามารถเสนออัลกอริทึมพหุนามแบบง่าย ๆ ดังต่อไปนี้
- ตัวเลขสมมติจะถูกเรียงลำดับคือ 1 < 2 < . . < n แล้วสำหรับฉัน≤ เมตรกำหนดฉัน จะเซตผมสำหรับผม> ม. , กำหนดให้เซตn - ฉัน+ 1
มันไม่ยากที่จะดูว่าทำไมอัลกอริทึมทำงาน เพียงแค่เลือกถังขยะสองถัง การสลับใด ๆ ในหมายเลขจะไม่เพิ่มจำนวนของผลิตภัณฑ์
แต่สำหรับใหญ่กว่าฉันสงสัยว่าปัญหาจะสามารถแก้ไขได้ในเวลาพหุนามหรือไม่? ฉันจะต้องขอบคุณเช่นกันหากใครบางคนสามารถแสดงให้เห็นว่ามันเป็น np-hardness
หมายเหตุ: ฉันพบปัญหาในขณะที่ฉันกำลังทำงานกับปัญหาการตั้งเวลาในเครือข่ายไร้สาย ฉันพบอัลกอริทึมฮิวริสติกที่ดีเพื่อแก้ปัญหา แต่หลังจากนั้นไม่นานฉันคิดว่าปัญหาอาจน่าสนใจในทางทฤษฎี