क्या न्यूनतम चाल से डिब्बे को भरना मुश्किल है?


33

हैं डिब्बे और गेंदों के प्रकार। वें बिन लेबल है a_ {i, j} के लिए 1 \ Leq जे \ Leq मीटर , यह प्रकार की गेंदों की अपेक्षित संख्या है जेn nहूँ mमैं iएक मैं , जेai,j 1 जे मीटर 1jmjj

आप टाइप j की बी जेbj गेंदों से शुरू करते हैं । टाइप जे की प्रत्येक गेंद का वजन w_j होता है , और गेंदों को ऐसे डिब्बे में डालना चाहते हैं कि बिन i का वजन c_i हो । गेंदों का ऐसा वितरण जो पिछली स्थिति को धारण करता है, एक व्यवहार्य समाधान कहलाता है।jjjjडब्ल्यू जेwjमैंic ici

के साथ एक संभव समाधान पर विचार करें x i , jxi,j प्रकार की गेंदों jj बिन में मैंi , तो लागत है Σ n मैं = 1 Σ मीटर j = 1 | a i , j - x i , j |ni=1mj=1|ai,jxi,j|। हम न्यूनतम लागत संभव समाधान खोजना चाहते हैं।

यह समस्या स्पष्ट रूप से NP-hard है यदि { w j }{wj} पर कोई प्रतिबंध नहीं है । सब्मिट योग समस्या एक संभव समाधान के अस्तित्व को कम करती है।

हालाँकि, अगर हम ऐसी शर्त जोड़ते हैं कि डब्ल्यू जेwj हर j के लिए डब्ल्यू जे + wj+1 को विभाजित करता है , तो सब्मिट राशि में कमी अब काम नहीं करती है, इसलिए यह स्पष्ट नहीं है कि परिणामी समस्या NP-hard बनी हुई है या नहीं। एक व्यवहार्य समाधान के अस्तित्व के लिए जाँच करने में केवल O (n \ _ m) समय लगता है (प्रश्न के अंत में संलग्न), लेकिन यह हमें न्यूनतम-लागत संभव समाधान नहीं देता है।jj( एन))O(nm)

समस्‍या के समतुल्य पूर्णांक प्रोग्राम सूत्रीकरण है। दिए गए एक मैं , जे , सी मैं , j , w jai,j,ci,bj,wj लिए 1in,1jm1in,1jm : \ start Minimize:ni=1mj=1|ai,jxi,j|subject to:mj=1xi,jwj=ci for all 1inni=1xi,jbj for all 1jmxi,j0 for all 1in,1jm

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

मेरा सवाल यह है कि,

क्या उपरोक्त पूर्णांक प्रोग्राम NP- हार्ड है जब wjwj सभी j के लिए wj+1wj+1 को विभाजित करता है ?jj

एक एल्गोरिथ्म तय करने के लिए कि क्या O(nm)O(nm) समय में कोई संभव समाधान है :

परिभाषित करें wm+1=wm(maxjcj+1)wm+1=wm(maxjcj+1) और dj=wj+1/wjdj=wj+1/wj । जब a को b से विभाजित किया जाता है, तो a%ba%b ही रहने दें ।aabb

  1. यदि कोई cici मौजूद है जो w_1 द्वारा विभाज्य नहीं है , तो "कोई व्यवहार्य समाधान नहीं" w1w1 । (अपरिवर्तनीय cici विभाजन wjwj को हमेशा निम्नलिखित लूप में बनाए रखा जाएगा)
  2. के लिए jj से 11 करने के लिए mm :

    1. kni=1(ci/wj)%djkni=1(ci/wj)%dj । (वजन की न्यूनतम गेंदों की न्यूनतमआवश्यकताwjwj )
    2. यदि bj<kbj<k , "कोई व्यवहार्य समाधान नहीं" लौटाएं।
    3. cici((ci/wj)%dj)cici((ci/wj)%dj) सभी के लिए । (वजन की आवश्यक गेंदों की न्यूनतम संख्या को )iiwjwj
    4. bj+1(bjk)/djbj+1(bjk)/dj । (बड़ी गेंद में समूह की छोटी गेंदें)
  3. वापसी "एक व्यवहार्य समाधान है"।

विशेष मामले के लिए एक बहुपद समय समाधान जहां , और एस की शक्ति हैn=1n=1wjwj22

यह ज्ञात है कि यदि और सभी शक्तियां हैं , तो इस विशेष मामले को बहुपद समय में हल किया जा सकता है। n=1n=1wjwj22Minimize:mj=1|ajxj|subject to:mj=1wjxj=c0xjbj for all 1jm

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

समाधान को यूज़ो गु द्वारा संकेत दिया गया था , और यहां एक लेख लिखा जा सकता है

जवाबों:


0

कुछ पृष्ठभूमि। उपरोक्त समस्या प्रतिबंधों के साथ समस्या है। के साथ या बिना प्रतिबंधों के सबसे कुशल knapsack समस्या समाधान pseudopolynomial समय में हल किया जा सकता है, फिर भी NP-Hard। कुछ बदलावों के लिए, https://en.wikipedia.org/wiki/Knapsack_problem#Definition देखें । इस भिन्नता में पहला प्रतिबंध यह है कि नैकपैक (डिब्बे) में रखी जाने वाली वस्तुओं (गेंदों) का मूल्य मायने नहीं रखता है। समस्या तब होती है जब आइटम को नैकपैक में रखने के लिए समय की मात्रा तक सीमित होता है। मूल समस्या के लिए सबसे मूल्यवान वस्तुओं को कम से कम समय में रखा जाना चाहिए। इस संस्करण के साथ एक और प्रतिबंध यह है कि भार और अन्य सभी तर्क पूर्णांक हैं। और ब्याज की प्रतिबंध यह है कि वजन है डब्ल्यू जेwjसभी लिए w j + 1 को विभाजित करें । नोट: आंशिक फ्रैपटैक समस्या को बहुपद समय में हल किया जा सकता है, लेकिन मूल समस्या का सबसे व्यावहारिक समाधान प्रस्तुत नहीं करता है। यह समस्या पूर्णांक का उपयोग करती है जो समान रूप से विभाजित होती है (कोई तर्कसंगत समाधान नहीं)। शायद देखते हैं कि नैकलैस समस्या के साथ क्या बड़ी बात है? wj+1jj

मुख्य प्रश्न शायद "होना चाहिए" क्या यह समस्या अभी भी एनपी-हार्ड है जब एक बहुपद द्वारा अनुरूप है , क्योंकि समस्या कम जटिल है (P में) जब यह बाध्य होता है? कारण मैं यह कहता हूं क्योंकि समस्या है? में तब दिखाया जाना चाहिए जब और NP-Hard जब आवश्यक रूप से विभाजित नहीं करता हैwjwjiiwjwjwjwjwj+1wj+1समान रूप से (वजन केवल यादृच्छिक हैं), सभी प्रतिबंध इस समस्या की जटिलता को इन दो स्थितियों तक सीमित करते हैं। ये स्थितियाँ (1. आइटम-मूल्य प्रतिबंध के बिना यादृच्छिक वजन कम करने की समस्या और आइटम-मूल्य प्रतिबंध के बिना 2. विभाज्य वजन घटाने की समस्या) जटिलता को कम करने के संदर्भ में एक-दूसरे को नकारते हैं, क्योंकि भार के उद्धरण स्वयं यादृच्छिक हो सकते हैं ( विशेष रूप से अनबाउंड), इस प्रकार घातांक समय गणना (यह नीचे दिए गए उदाहरण में दिखाया जाएगा)। इसके अतिरिक्त, क्योंकि विभाजित होता है , आकार में प्रत्येक लिए तेजी से बढ़ता हैwjwjwj+1wj+1wjwjjj। इसका कारण यह है कि यादृच्छिक भारित वस्तुओं (गेंदों का जिनकी इकाई का वजन सभी 100 या 50 या 10 के तहत इकाई भार तक सीमित हो सकता है) का उपयोग करने के बजाय, प्रतिबंध समय की जटिलता के कारण के अंकों की संख्या पर निर्भर करता है , जैसा कि परीक्षण प्रभाग, जो घातीय है।wjwj

तो हाँ, उपरोक्त पूर्णांक प्रोग्राम होने पर भी NP- हार्ड बना रहता हैwjwj divides wj+1wj+1 for all jj. And this is easily observed.

Example 1: let n=1n=1 and wpwp be powers of two. Because of constant two, the entire problem is solved in quadratic time, as your example shows. The weights are not random and therefore the calculation is solved efficiently.

Example 2: let wj+1wj+1 be defined as wjpwjp, where pp is the prime number corresponding to jj, such that p=2,j=1:p=3,j=2,p=5,j=3,p=7,j=4,...,P,Jp=2,j=1:p=3,j=2,p=5,j=3,p=7,j=4,...,P,J. This is applicable, as wjwj divides wj+1wj+1 for all jj. We get each wjwj is the product of all the primes up to jj. The values of the unit weights increase as such: 1,2,6,30,210,2310,30030,...1,2,6,30,210,2310,30030,.... Since there is a bound (pjpj ~ jlog(j)jlog(j), via the prime number theorem), as the quotients are all primes, we get the complexity NP-Intermediate.

Example 3: let wj+1wj+1 be defined as wjRpwjRp, where RpRp is a randomly chosen prime number from two to infinity, corresponding to jj. This is applicable to this problem, as wjwj divides wj+1wj+1 for all jj. We get the first 5 quotients (randomly falling from two to infinity), as 101,2657,7,3169,2101,2657,7,3169,2. We see that even at the 5th ball, the weight has eleven digits. Fortunately, the fifth quotient was two and not a prime in the order of 1010010100 or larger.

Example three above is what happens when wjwj is not bounded (random weights) by a polynomial corresponding to ii. The time complexity is exponential, NP-Hard. For some perspective, just add up all the weights, see if they fit. But there isn’t a solution to solving it significantly faster by making the weights divisible than trying each subset to see if it works. After a few dozen balls, you are still entering the realm of even the trillions of subsets or trillions of digits.


1
But prime factorization is considered not to be NP-hard. It is considered to be NP-indermediate.
rus9384

2
I don't see a reduction here. What is the actual reduction? Taking input of prime factorization, and somehow output the factorization using solution of the integer program.
Chao Xu

2
Would do you mean by "the above integer program is NP-hard"? An individual program cannot be NP-hard.
Yuval Filmus

1
In fact prime factorization is in NPcoNP. So, it is NP-hard if NP=coNP.
rus9384

2
Unfortunately, the additional edits did not clear it up. An actual reduction would be helpful.
Chao Xu
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.