एक लाइन पर समानांतर कंकड़ खेल


13

में कंकड़ खेल एक लाइन पर वहाँ एन 1 नोड्स एन के माध्यम से 0 लेबल खेल नोड 0. पर एक कंकड़ के साथ शुरू होता है अगर कोई नोड पर एक कंकड़ मैं, आप जोड़ सकते हैं या नोड i + 1 से एक कंकड़ को दूर कर सकते हैं कर रहे हैं। लक्ष्य नोड N पर एक कंकड़ रखना है, एक ही समय में कई कंकड़ बोर्ड पर रखे बिना और कई कदम उठाए बिना।

भोले घोल को 1, फिर 2, फिर 3, और इसके आगे एक कंकड़ रखना है। यह चरणों की संख्या के संदर्भ में इष्टतम है। यह एक ही समय में बोर्ड पर कंकड़ की अधिकतम संख्या में इष्टतम नहीं है: अंतिम चरण के दौरान बोर्ड पर एन कंकड़ हैं (0 पर एक की गिनती नहीं)।

एक रणनीति जो एक ही समय में बोर्ड पर कम कंकड़ डालती है वह इस पत्र में है । वे एन नोड को पार किए बिना तक पहुँचने Θ(lgN) एक समय में कंकड़, लेकिन करने के लिए कदम की संख्या में वृद्धि की कीमत पर Θ(nlg23) । वे पुन: टॉगल करते हैं कि क्या स्थिति पर कोई कंकड़ है, Nबिना किसी अन्य कंकड़ को पुन: टॉगल करके N/2 , इसका उपयोग करते हुए N को किसी अन्य पुनरावर्ती चरण से टॉगल करने के लिए एक प्रारंभिक बिंदु के रूप में , फिर एक तीसरे आधे आकार के पुनरावर्ती चरण के साथ N/2 को टॉगल करें। इसे साफ करो।

मैं कंकड़ की अधिकतम संख्या और चरणों की संख्या के बीच ट्रेडऑफ़ में दिलचस्पी रखता हूं, इस धारणा के तहत कि कंकड़ के अतिरिक्त और निष्कासन समानांतर में किया जा सकता है। "समानांतर" से मेरा मतलब है कि प्रत्येक चरण वांछित के रूप में कई कंकड़ जोड़ या हटा सकता है, जब तक कि प्रत्येक व्यक्ति को जोड़ने / हटाने की अनुमति दी जाती है और अन्य चालों के साथ बातचीत नहीं की जाती है। विशेष रूप से, यदि A उन नोड्स का समूह है, जिनसे हम कंकड़ जोड़ना या हटाना चाहते हैं, और P नोड्स का सेट है, जो चरण के प्रारंभ में एक कंकड़ था, तो हम उन सभी परिवर्धन और निष्कासन को एक ही चरण में कर सकते हैं: जब तक {a1|aA}PA

उदाहरण के लिए, रणनीति पर विचार है कि एक कंकड़ स्थानों कदम पर मैं , लेकिन निशान कंकड़ कि के गुणज हैं ii"चौकियों" के रूप में एन और जब भी संभव हो, एक कंकड़ की चौकी के पीछे उच्चतम-सूचकांक कंकड़ को हटा देता है। इस रणनीति के बाद भी एन नोड तक पहुँच जाता हैएनकदम, अनुभवहीन रणनीति की तरह है, लेकिन से कंकड़ की अधिकतम संख्या को कम कर देताएनकरने के लिए2NNN2N

वहाँ parrallel-line-pebbling रणनीतियाँ हैं जो चरणों में भी कम से कम असममित अधिकतम-कंकड़ जटिलता के साथ समाप्त होती हैं? क्या होगा अगर हम O ( N lg N ) चरणों की अनुमति देने के लिए तैयार हैं ? "दिलचस्प" बिंदु क्या हैं, जहां अधिकतम कंकड़ और समय के बीच व्यापार विशेष रूप से अच्छा है?NO(NlgN)


प्रत्येक चरण में, आप कितने कंकड़ जोड़ या हटा सकते हैं? केवल एक ही है, तो अपने चौथे पैरा में, आप क्या मतलब है की कुल चरणों के बजाय एन ? उपयोग किए गए कंकड़ की गिनती करते समय, क्या यह अनुक्रम के दौरान किसी भी समय बोर्ड पर अधिकतम संख्या है? O(N)N
नील यंग

@ नीललॉग समानांतर मामले में, आप चाहें तो प्रति चरण कई कंकड़ जोड़ सकते हैं और हटा सकते हैं। लेकिन यदि आप स्थिति को प्रभावित करते हैं, तो चरण के प्रारंभ में स्थिति k - 1 पर एक कंकड़ होना चाहिए था । मेरा मतलब बिल्कुल एन स्टेप्स था, लेकिन O ( N ) भी दिलचस्प है और निश्चित रूप से O ( N lg N ) में शामिल है । हां, यह कंकड़ की अधिकतम संख्या है जो मायने रखती है। kk1O(N)O(NlgN)
क्रेग गिदनी

मूल रणनीति के बारे में क्या लेकिन "समानांतरकरण" के साथ? जब हम तक पहुंचते हैं तो समानांतर में पहली छमाही को साफ करना शुरू करते हैं; 3 एन / 4 तक पहुंचने पर सीमा को साफ़ करना शुरू करें [ एन / 2 - 3 एन / 4 ] और समानांतर में पहली छमाही को साफ करना जारी रखें (जिस समय हम 3 एन / 4 पर एक कंकड़ रखते हैं वहां केवल एन / 4 कंकड़ शेष है पहला आधा भाग); और इतने पर ( 2 k - 1 ) N / 2 के लिएN/23N/4[N/23N/4]3N/4N/4 अप करने के लिए एन । कंकड़ की जटिलता समान होनी चाहिए: l ( lg N ) , लेकिन N चरणों केसाथ। (2k1)N/2kNΘ(lgN)N
मार्जियो डी बियासी

@MarzioDeBiasi कंकड़ की जटिलता समान क्यों होगी? जहाँ तक मैं बता सकता हूँ, पुनरावृत्ति संबंध से F ( n ) = 2 F ( n / 2 ) + 1 होगा = ( एन )F(n)=F(n/2)+1=O(lg(n))F(n)=2F(n/2)+1=O(n)
क्रेग गिदनी

@ क्रेगगिडनी: यू आर राइट ...
डी बियासी

जवाबों:


4

संपादित करें : जोड़ा गया नींबू 2 और 3।

यहाँ आंशिक उत्तर दिया गया है: आप स्थिति N पर पहुँच सकते हैंN

  • में स्थान का उपयोग कर चालें एन हे ( ε ( एन ) ) है, जहां ε ( एन ) = 1 / NNO(ϵ(N)) । (लेम्मा 1)ϵ(N)=1/logN
  • में चाल अंतरिक्ष का उपयोग कर हे ( लॉग ऑन एन ) (किसी भी निरंतर के लिए δ > 0 ) (लेम्मा 2)।N1+δO(logN)δ>0

इसके अलावा, हम एक निचली सीमा (लेम्मा 3) को स्केच करते हैं: तथाकथित अच्छी तरह से व्यवहार किए गए समाधानों की एक निश्चित श्रेणी के लिए , लेम्मा 1 तंग है (घातांक में स्थिर कारकों तक), और पॉली-लॉग स्पेस का उपयोग करके ऐसा कोई समाधान नहीं पहुंच सकता है स्थिति समय O ( N) मेंNO(NpolylogN)

लेम्मा 1. सभी , स्पेस एक्स ( O ( √) का उपयोग करके n चाल में स्थिति n तक पहुंचना संभव हैnnn

exp(O(logn)) = nO(1/logn)

प्रमाण। योजना पुनरावर्ती है, जैसा कि नीचे दिए गए आंकड़े में दिखाया गया है। हम निम्नलिखित नोटेशन का प्रयोग करते हैं:

  • रिकर्सन में स्तरों की संख्या हैk
  • समाधान का गठन ( कश्मीर स्तर के पुनरावर्तन के साथ) है।P(k)k
  • P ( k ) (समय N ( k ) )द्वारा पहुंची अधिकतम स्थिति है।N(k)P(k)N(k)
  • P ( k ) द्वारा उपयोग किया जाने वाला स्थान है।S(k)P(k)
  • पी ( k ) द्वारा उपयोग की जाने वालीपरतोंकी संख्या है, जैसा कि नीचे सचित्र है:L(k)P(k)

                  लेम्मा 1 के लिए समाधान संरचना

तस्वीर में, समय ऊपर से नीचे की ओर बढ़ता है। समाधान समय N ( k ) पर नहीं रुकता , इसके बजाय (पुनरावर्तन में उपयोग के लिए) यह समय 2 तक जारी रहता हैP(k)N(k) , बिल्कुल इसकी चाल को उलट रहा है, ताकि समय 2 पर एक कंकड़ वापस आ सके2N(k)2N(k)

ठोस ऊर्ध्वाधर रेखाएँ L को विभाजित करती हैं P ( k ) ( k ) परतों को। चित्र में, L ( k ) पांच है, इसलिए P ( k ) में 5 परतें हैं। P ( k ) की L ( k ) परतों में सेप्रत्येक(दाएं को छोड़कर) में दो उप-समस्याएं हैं, एक परत के शीर्ष पर और एक तल पर, एक ठोस ऊर्ध्वाधर रेखा से जुड़ी (एक कंकड़ का प्रतिनिधित्व करती है) वह अवधि)। तस्वीर में, पांच परतें हैं, इसलिए नौ उपप्रबंध हैं। आम तौर पर, पी (L(k)P(k)L(k)P(k)L(k)P(k)2 से बना हैP(k) उपप्रकार। से प्रत्येक subproblem पी ( कश्मीर ) समाधान है पी ( कश्मीर - 1 )2L(k)1P(k)P(k1)

अंतरिक्ष को बाउंड करने के लिए महत्वपूर्ण अवलोकन यह है कि किसी भी समय, केवल दो परतों में "सक्रिय" उपप्रोमालेस होते हैं। बाकी का योगदान सिर्फ एक कंकड़ है जो हमारे पास है

  • , औरS(k)L(k)+2S(k1)
  • N(k)=L(k)N(k1)

अब, हम चुनें पूरी तरह से निर्धारित करने के लिए पी ( कश्मीर ) । मुझे यकीन नहीं है कि यह विकल्प इष्टतम है, लेकिन यह करीब लगता है: L ( k ) = 2 k लें । फिर उपरोक्त पुनरावृत्ति देते हैंL(k)P(k)L(k)=2k

  • , औरS(k)k2k
  • N(k)=2k(k+1)/2

तो, के लिए सुलझाने , हम कश्मीर n=N(k) औरएस(कश्मीर)k2lognS(k)2logn22logn=exp(O(logn))

यह सभी पदों का ख्याल रखता है सेट में { एन ( कश्मीर ) : कश्मीर { 1 , 2 , ... } } । मनमानी एन के लिए, सबसे छोटे कश्मीर के लिए समाधान पी ( के ) के नीचे ट्रिम करेंn{N(k):k{1,2,}}nP(k)k के साथ । वांछित सीमा रखती है क्योंकि S ( k ) / S ( k - 1 ) = O (N(k)n । QEDS(k)/S(k1)=O(1)


लेम्मा 2. किसी भी , सभी n के लिए , स्थिति n में पहुंचना संभव हैδ>0nn चाल अंतरिक्ष का उपयोग कर हे ( δ 2 1 / δ लॉग इन करें n ) n1+δO(δ21/δlogn).

प्रमाण। लेममा 1 के प्रमाण से निर्माण को संशोधित करें ताकि प्रत्येक उपप्रोब्लेम को शुरू करने में देरी हो जब तक कि पिछले उपप्रोब्लेम समाप्त न हो जाए, जैसा कि नीचे दिखाया गया है:

                  लेम्मा 2 के लिए समाधान संरचना

चलो संशोधित समाधान के लिए निरूपित समय पी ( कश्मीर ) समाप्त करने के लिए। अब प्रत्येक समय कदम पर, केवल एक परत में एक उपप्रकार होता है जो एक से अधिक कंकड़ का योगदान देता है, इसलिएT(k)P(k)

  • ,S(k)L(k)+S(k1)
  • ,N(k)=L(k)N(k1)
  • T(k)=(2L(k)1)T(k1)2L(k)T(k1)2kN(k)

चयन पर हम पाते हैंL(k)=21/δ

  • ,S(k)k21/δ
  • ,N(k)=2k/δ
  • T(k)2kN(k)

एन = एन के संदर्भ में और टी = टी ( के ) के लिए समाधानS=S(k)T=T(k) , हम कश्मीर = δ लॉग ऑन n , औरn=N(k)k=δlogn

  • , औरSδ21/δlogn
  • Tn1+δ

यह सभी पदों का ख्याल रखता है सेट में { एन ( कश्मीर ) : कश्मीर { 1 , 2 , ... } } । मनमाना के लिए n , समाधान के नीचे ट्रिम पी ( कश्मीर ) छोटी से छोटी के लिए कश्मीर के साथ एन ( कश्मीर ) एन । वांछित सीमा रखती है क्योंकि S ( k ) / S ( k - 1 ) = O (n{N(k):k{1,2,}}nP(k)kN(k)n । QEDS(k)/S(k1)=O(1)


nP(n)nkn/2kP(Nk)k+1,k+2,,nP(k)1,2,,kkV(n)nδ=1>0

V(n)mink<nV(nk)+max(n/2,(1+δ)V(k)).

n

ϵ(n)=1/logn

δ>0V(n)n1+Ω(ϵ(n))

ntn1+Ω(ϵ(n))/t

  • लेम्मा 1 प्रतिपादक में लगातार कारकों (अच्छी तरह से व्यवहार किए गए समाधानों) के लिए तंग है।
  • कोई भी अच्छी तरह से व्यवहार समाधान स्थिति तक नहीं पहुंच सकता हैnnpolylognpolylognnΩ(ϵ(n))=exp(Ω(logn))polylogn

2V(n)f(n)f(n)=n1+cϵ(n)c.nc>02V(n)f(n)nV(n)n

nf(n)mink<nf(nk)+max(n,2f(k))f(n)f(nk)max(n,(1+δ)f(k))k<n.

ff(n)f(nk)kf(n)kf(n)max(n,(1+δ)f(k)).

f(n)/n=eclognf(n)=(f(n)/n)(1+c/(2logn)),x=logky=lognyxyecy(1+c/(2y))max(ey2x2,(1+δ)ecx)1+zezez1+2zz1ecy+c/(2y)max(ey2x2,e2δ+cx),

cy+c/(2y)max(y2x2,2δ+cx).

yx+0.1δ/ccy+c/(2y)cx+0.2δyyx+0.1δ/cy2x20.1yδ/cy

cy+c/(2y)0.1yδ/c.
cy.

एफडब्ल्यूआईडब्ल्यू, मेरे पास एक प्रमाण है कि हमेशा एक निकट-इष्टतम सुव्यवस्थित समाधान होता है, इसलिए लेम्मा 3 में निचली सीमा सभी समाधानों पर लागू होती है। यह यहाँ टाइप करने के लिए थोड़ा सा भी शामिल है - अगर कोई मुझसे संपर्क करने में दिलचस्पी रखता है (संपर्क जानकारी के लिए Google "युवा कंप्यूटर विज्ञान को नील करें")।
नील युवा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.