เป็นเรื่องยากไหมที่จะเติมถังขยะด้วยการเคลื่อนไหวขั้นต่ำ?


33

มีถังขยะและประเภทของลูก TH ถังมีป้ายสำหรับก็เป็นจำนวนที่คาดหวังของลูกประเภทJnmiai,j1jmj

คุณเริ่มต้นด้วยลูกประเภทJลูกของแต่ละชนิดมีน้ำหนักและต้องการที่จะนำลูกลงไปในถังขยะถังดังกล่าวว่ามีน้ำหนักC_iการกระจายตัวของลูกที่สภาพก่อนหน้านี้เรียกว่าทางออกที่เป็นไปได้bjjjwjici

พิจารณาวิธีแก้ปัญหาที่เป็นไปได้ด้วยลูกบอลประเภทในถังจากนั้นค่าใช้จ่ายคือ. เราต้องการค้นหาวิธีแก้ปัญหาที่มีต้นทุนต่ำที่สุดxi,jjii=1nj=1m|ai,jxi,j|

ปัญหานี้เป็นอย่างชัดเจน NP-ยากถ้ามีข้อ จำกัด ใน\} ปัญหาผลรวมเซ็ตย่อยจะลดการดำรงอยู่ของโซลูชันที่เป็นไปได้{wj}

อย่างไรก็ตามหากเราเพิ่มเงื่อนไขที่หารสำหรับทุกดังนั้นการลดจำนวนผลรวมของเซ็ตย่อยจะไม่ทำงานอีกต่อไปดังนั้นจึงไม่ชัดเจนว่าปัญหาที่เกิดขึ้นยังคงเป็นปัญหาที่ยากหรือไม่ การตรวจสอบการมีอยู่ของโซลูชันที่เป็นไปได้นั้นใช้เวลาเพียง (แนบท้ายคำถาม) แต่สิ่งนี้ไม่ได้ให้วิธีแก้ปัญหาที่เป็นไปได้ในราคาที่ถูกที่สุดwjwj+1jO(nm)

ปัญหามีการกำหนดโปรแกรมจำนวนเต็มเทียบเท่า ให้สำหรับ : ai,j,ci,bj,wj1in,1jm

Minimize:i=1nj=1m|ai,jxi,j|subject to:j=1mxi,jwj=ci for all 1ini=1nxi,jbj for all 1jmxi,j0 for all 1in,1jm

คำถามของฉันคือ

โปรแกรมเลขจำนวนเต็มด้านบน NP-hard เมื่อหารสำหรับทั้งหมด หรือไม่wjwj+1j

อัลกอริทึมที่จะตัดสินใจว่าจะมีวิธีการแก้ปัญหาที่เป็นไปได้ในเวลาO(nm) :

กำหนดและd_j = W_ ให้เป็น \ b%เป็น remainer เมื่อโดยแบ่งเป็นขwm+1=wm(maxjcj+1)dj=wj+1/wja%bab

  1. หากมีciที่ไม่สามารถหารด้วยw1ให้ส่งคืน "ไม่มีวิธีแก้ปัญหาที่เป็นไปได้" (ค่าคงที่ciหารwjจะคงอยู่ในลูปต่อไปนี้เสมอ)
  2. สำหรับjจาก1ถึงm :

    1. ki=1n(ci/wj)%dj(C_i (ต้องการน้ำหนักลูกขั้นต่ำwj )
    2. หากbj<kให้ส่งคืน "ไม่มีวิธีแก้ปัญหาที่เป็นไปได้"
    3. cici((ci/wj)%dj)สำหรับทุกฉัน(ลบจำนวนน้ำหนักบอลขั้นต่ำที่ต้องการ )iwj
    4. bj+1(bjk)/dj\ (กลุ่มลูกบอลขนาดเล็กเป็นลูกบอลขนาดใหญ่)
  3. ส่งคืน "มีวิธีแก้ปัญหาที่เป็นไปได้"

โซลูชันเวลาพหุนามกับกรณีพิเศษโดยที่และเป็นกำลังของวินาทีn=1wj2

เป็นที่ทราบกันว่าถ้าและทั้งหมดเป็นพลังของดังนั้นกรณีพิเศษนี้สามารถแก้ไขได้ในเวลาพหุนาม n=1wj2

Minimize:j=1m|ajxj|subject to:j=1mwjxj=c0xjbj for all 1jm

วิธีการแก้ปัญหาที่ถูกนัยโดยYuzhou Guและเขียนขึ้นอาจจะพบได้ที่นี่

คำตอบ:


0

พื้นหลังบางส่วน ปัญหาข้างต้นเป็นปัญหาเครื่องหลังที่มีข้อ จำกัด วิธีการแก้ปัญหาเป้หลังที่มีประสิทธิภาพมากที่สุดโดยมีหรือไม่มีข้อ จำกัด สามารถแก้ไขได้ในเวลา pseudopolynomial ยังคง NP-Hard สำหรับรูปแบบบางอย่างดูhttps://en.wikipedia.org/wiki/Knapsack_problem#Definition ข้อ จำกัด แรกในรูปแบบนี้คือมูลค่าของรายการ (ลูก) ที่จะวางในเป้ (ถังขยะ) ไม่สำคัญ ปัญหาจะถูก จำกัด ด้วยระยะเวลาที่ใช้ในการใส่สิ่งของในเป้ ปัญหาเดิมต้องการรายการที่มีค่าที่สุดในเวลาสั้นที่สุดเท่าที่จะทำได้ ข้อ จำกัด อีกประการสำหรับรุ่นนี้คือน้ำหนักและอาร์กิวเมนต์อื่นทั้งหมดเป็นจำนวนเต็ม และข้อ จำกัด ของดอกเบี้ยก็คือน้ำหนักw j + 1wjแบ่งสำหรับทุกJหมายเหตุ: ปัญหาเครื่องหลังแบบเศษส่วนสามารถแก้ไขได้ในเวลาพหุนาม แต่ไม่ได้นำเสนอวิธีแก้ปัญหาที่ใช้งานได้จริงที่สุดกับปัญหาดั้งเดิม ปัญหานี้ใช้จำนวนเต็มที่แบ่งเท่า ๆ กัน (ไม่มีวิธีแก้ปัญหาที่มีเหตุผล) บางทีดูว่าปัญหาใหญ่ของปัญหาเครื่องหลังคืออะไร? .wj+1j

คำถามหลักที่ควรจะเป็น "คือปัญหานี้ยังคง NP-Hard เมื่อถูก จำกัด โดยพหุนามที่สอดคล้องกับเป็นปัญหาซับซ้อนน้อยลง (ใน P) เมื่อมันถูก จำกัด ขอบเขตเหตุผลที่ฉันพูดแบบนี้เพราะปัญหาสามารถ แสดงเป็น P เมื่อถูกล้อมรอบและ NP-Hard เมื่อไม่จำเป็นต้องหาร i w j w j w j + 1 w j w j + 1 w j j w jwjiwjwjwj+1เท่ากัน (น้ำหนักเป็นเพียงการสุ่ม) ข้อ จำกัด ทั้งหมดจะจำกัดความซับซ้อนของปัญหานี้ในสองเงื่อนไขนี้ เงื่อนไขเหล่านี้ (1. ปัญหาน้ำหนักเป้นแบบสุ่มที่ไม่มีข้อ จำกัด ของมูลค่าสินค้าและ 2. ปัญหาน้ำหนักเป้นส่วนแบ่งที่ไม่มีข้อ จำกัด ของมูลค่ารายการ) คัดค้านซึ่งกันและกันในแง่ของการลดความซับซ้อนเนื่องจากผลหารของน้ำหนักอาจเป็นแบบสุ่มเอง โดยเฉพาะอย่างยิ่งเมื่อไม่มีข้อ จำกัด ) ดังนั้นการคำนวณเวลาแบบเอ็กซ์โปเนนเชียลจึงเป็นไปได้ (สิ่งนี้จะแสดงในตัวอย่างด้านล่าง) นอกจากนี้เนื่องจากหาร ,เพิ่มขนาดเป็นทวีคูณสำหรับแต่ละwjwj+1wjj. นี่เป็นเพราะแทนที่จะใช้ไอเท็มถ่วงน้ำหนักแบบสุ่ม (ลูกบอลที่มีน้ำหนักต่อหน่วยอาจถูก จำกัด ให้น้ำหนักต่อหน่วยต่ำกว่า 100 หรือ 50 หรือ 10) ข้อ จำกัด แทนจะทำให้ความซับซ้อนของเวลาขึ้นอยู่กับจำนวนหลักของเช่นเดียวกับ ส่วนการทดลองซึ่งเป็นเลขยกกำลังwj

ดังนั้นใช่โปรแกรมจำนวนเต็มดังกล่าวข้างต้นยังคง NP-ยากแม้เมื่อแบ่งสำหรับทุกJw j + 1 jwjwj+1j และนี่เป็นสิ่งที่สังเกตได้ง่าย

ตัวอย่างที่ 1:ให้และเป็นพลังของสอง เนื่องจากค่าคงที่สองปัญหาทั้งหมดจะได้รับการแก้ไขในเวลากำลังสองตามที่ตัวอย่างของคุณแสดง น้ำหนักไม่สุ่มและดังนั้นการคำนวณจะถูกแก้ไขอย่างมีประสิทธิภาพw หน้าn=1wp

ตัวอย่าง 2:ให้ถูกกำหนดเป็นโดยที่คือจำนวนเฉพาะที่สอดคล้องกับเช่นนั้นJ นี้มีผลบังคับใช้เป็นแบ่งสำหรับทุกJเราได้รับในแต่ละเป็นผลิตภัณฑ์ของจำนวนเฉพาะทั้งหมดขึ้นอยู่กับเจค่าของน้ำหนักหน่วยเพิ่มเป็นเช่น:... เนื่องจากมีข้อ จำกัด (~ W J * พีพีเจพี= 2 , J = 1 : P = 3 , J = 2 , P = 5 , J = 3 , P = 7 , J = 4 , . . , P , J w j w j + 1 j w j j 1 ,wj+1wjppjp=2,j=1:p=3,j=2,p=5,j=3,p=7,j=4,...,P,Jwjwj+1jwjjp j j l o1,2,6,30,210,2310,30030,...pjjlog(j)ผ่านทางทฤษฎีจำนวนเฉพาะ) เนื่องจากผลหารเป็นจำนวนเฉพาะเราได้รับความซับซ้อน NP-Intermediate

ตัวอย่างที่ 3:ให้กำหนดเป็นที่เป็นจำนวนเฉพาะการสุ่มเลือกจากสองอินฟินิตี้ที่สอดคล้องกับเจนี้ใช้ได้กับปัญหานี้เป็นแบ่งสำหรับทุกJเราได้รับ 5 บวกลบคูณหารแรก (สุ่มตกจากสองถึงอินฟินิตี้) เช่น2 เราเห็นว่าแม้ในบอลลูกที่ 5 น้ำหนักจะมีตัวเลขสิบเอ็ดหลัก โชคดีที่เชาวน์ที่ห้าเป็นสองและไม่เป็นจำนวนเฉพาะในลำดับที่หรือใหญ่กว่า w jR p R p j w j w j + 1 j 101 , 2657 , 7 , 3169 , 2wj+1wjRpRpjwjwj+1j101,2657,7,3169,210100

ตัวอย่างสามข้างต้นเป็นสิ่งที่เกิดขึ้นเมื่อไม่ได้กระโดด (น้ำหนักสุ่ม) โดยพหุนามที่สอดคล้องกับฉันความซับซ้อนของเวลานั้นเพิ่มขึ้นอย่างมากคือ NP-Hard สำหรับบางมุมมองให้เพิ่มน้ำหนักทั้งหมดดูว่าเหมาะสมหรือไม่ แต่ไม่มีวิธีการแก้ปัญหาที่จะแก้ปัญหาได้เร็วขึ้นอย่างมีนัยสำคัญโดยการทำให้น้ำหนักหารได้ง่ายกว่าการลองชุดย่อยแต่ละอันเพื่อดูว่ามันทำงานได้หรือไม่ หลังจากผ่านไปสักสองสามลูกคุณยังคงเข้าสู่อาณาจักรของชุดย่อยหรือหลักล้านล้านฉันwji


1
แต่การแยกตัวประกอบเฉพาะนั้นไม่น่าจะทำให้ NP-hard ก็ถือว่าเป็น NP-indermediate
rus9384

2
ฉันไม่เห็นการลดลงที่นี่ การลดลงจริงคืออะไร? รับอินพุตของการแยกตัวประกอบเฉพาะและเอาท์พุทแยกตัวประกอบโดยใช้วิธีแก้ปัญหาของโปรแกรมจำนวนเต็ม
Chao Xu

2
คุณจะหมายถึง "โปรแกรมจำนวนเต็มด้านบนคือ NP-hard" หรือไม่? แต่ละโปรแกรมไม่สามารถใช้ NP-hard ได้
Yuval Filmus

1
ในความเป็นจริงตัวประกอบที่สำคัญอยู่ในcoNP} ดังนั้นจึงเป็น -hard ถ้าcoNP} N P N P = c o N PNPcoNPNPNP=coNP
rus9384

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