प्रोजेक्ट ईयूलर समस्या 213 ("पिस्सू सर्कस") को कैसे स्वीकार करना चाहिए?


11

मैं प्रोजेक्ट ईयूलर 213 को हल करना चाहूंगा, लेकिन यह नहीं जानूंगा कि कहां से शुरू करें क्योंकि मैं सांख्यिकी के क्षेत्र में एक लेपर्सन हूं, ध्यान दें कि एक सटीक उत्तर की आवश्यकता है ताकि मोंटे कार्लो विधि काम न करे। क्या आप मुझे पढ़ने के लिए कुछ सांख्यिकी विषय सुझा सकते हैं? कृपया यहाँ समाधान पोस्ट न करें।

पिस्सू सर्कस

वर्गों के एक 30 × 30 ग्रिड में 900 पिस्सू होते हैं, शुरू में प्रति वर्ग एक पिस्सू होता है। जब एक घंटी बजती है, तो प्रत्येक पिस्सू यादृच्छिक (आमतौर पर 4 संभावनाएं, ग्रिड के किनारे या कोनों पर छोड़कर) पर एक आसन्न वर्ग में कूदता है।

घंटी के 50 छल्ले के बाद बेहोश वर्गों की अपेक्षित संख्या क्या है? अपना उत्तर छ: दशमलव स्थानों पर दें।


7
मोंटे कार्लो तरीके बहुत सटीक उत्तर दे सकते हैं बशर्ते आप पर्याप्त सिमुलेशन करते हैं।
रोब हंडमैन

3
यदि आप एक प्रोग्रामिंग समाधान चाहते हैं एक मोंटे कार्लो एकमात्र दृष्टिकोण है। मुझे कोई कारण नहीं दिखता कि आपको मोंटे कार्लो का उपयोग करके सटीक उत्तर क्यों नहीं मिलेंगे। एक गणितीय / विश्लेषणात्मक समाधान आसान नहीं हो सकता है।

मैंने मोंटे कार्लो के बारे में चर्चा देखी है और लोगों ने कहा कि यदि आप 6 दशमलव स्थानों को प्राप्त करना चाहते हैं, तो बहुत लंबा समय लगेगा, या शायद मैं इसी तरह की अन्य समस्याओं से भ्रमित हूं। चूंकि मोंटे कार्लो दृष्टिकोण को कोड करना काफी आसान है, इसलिए मुझे लगता है कि इसे पहले आजमाना सार्थक होगा।
ग्रुकस

4
मैं पिछले तीन उत्तरों में से किसी पर भी विवाद नहीं करता, लेकिन मैंने जो उत्तर दिया है, उसमें सरल (सरल) विश्लेषण इन टिप्पणियों को परिप्रेक्ष्य में रखता है: यदि आप एक संख्या के अनुमान के लिए छह दशमलव स्थान सटीकता चाहते हैं जो सैकड़ों में होगी, मोंटे कार्लो सिमुलेशन एक मशीन पर 10,000 सीपीयू लेगा जिसमें समानांतर में चल रहा है।
whuber

क्या सभी पिस्सू फंस गए हैं (यानी समस्या वास्तव में उन पर एक से अधिक पिस्सू वाले वर्गों के बारे में है) या यह किनारों पर पिस्सू के बारे में है जो बाहर hopping और गायब हो रहा है?
मिसमोनिका

जवाबों:


10

आप सही हे; मोंटे कार्लो अव्यवहारिक है। (एक भोले सिमुलेशन में - वह है, जो बिल्कुल बिना किसी सरलीकरण के समस्या की स्थिति को पुन: पेश करता है - प्रत्येक पुनरावृत्ति में कई पिस्सू चाल शामिल होंगे। खाली कोशिकाओं के अनुपात का एक कच्चा अनुमान , जो मोंटे के विचरण को दर्शाता है। बाद -Carlo अनुमान एन ऐसी पुनरावृत्तियों लगभग है 1 / एन 1 /( 1 - 1 /) = 0.2325 ... / एन1/एन1/N1/(1-1/)=0.2325.../एन। छह दशमलव स्थानों पर उत्तर को पिन करने के लिए, आपको 5.E-7 के भीतर इसका अनुमान लगाना होगा और, 95 +% (कहते हैं) का विश्वास प्राप्त करने के लिए, आपको लगभग उस सटीकता को 2.5E-7 तक रोकना होगा । हल करना देताएन>412, लगभग। यह लगभग 3.6E15 पिस्सू चाल होगी, प्रत्येक में सीपीयू के कई टिक होंगे। उपलब्ध एक आधुनिक सीपीयू के साथ आपको पूरे वर्ष (अत्यधिक कुशल) कंप्यूटिंग की आवश्यकता होगी। और मैंने कुछ गलत तरीके से और overoptimistically मान लिया है कि उत्तर को एक गिनती के बजाय एक अनुपात के रूप में दिया गया है: एक गिनती के रूप में, गणना में एक लाख गुना वृद्धि को लुभाने के लिए तीन और महत्वपूर्ण आंकड़ों की आवश्यकता होगी ... क्या आप लंबे समय तक इंतजार कर सकते हैं?(0.2325/एन)<2.5-7एन>412

जहाँ तक एक विश्लेषणात्मक समाधान जाता है, कुछ सरलीकरण उपलब्ध हैं। (ये एक मोंटे कार्लो अभिकलन को छोटा करने के लिए भी इस्तेमाल किया जा सकता है।) खाली कोशिकाओं की अपेक्षित संख्या सभी कोशिकाओं पर शून्यता की संभावनाओं का योग है। इसे खोजने के लिए, आप प्रत्येक सेल के अधिभोग संख्या की संभाव्यता वितरण की गणना कर सकते हैं। वे वितरण प्रत्येक पिस्सू से अधिक (स्वतंत्र!) योगदान के योग से प्राप्त होते हैं। यह आपकी समस्या को कम कर देता है उस ग्रिड पर कोशिकाओं के किसी भी जोड़े के बीच 30 से 30 ग्रिड की लंबाई 50 की संख्या को खोजने के लिए (एक पिस्सू की उत्पत्ति है और दूसरा एक सेल है जिसके लिए आप संभावना की गणना करना चाहते हैं पिस्सू का कब्जा)।


2
बस मज़े के लिए, मैंने गणितज्ञ में एक क्रूर-बल गणना की। इसका उत्तर 21,574 अंकों के पूर्णांक से 21,571 अंकों के पूर्णांक का अनुपात है; एक दशमलव के रूप में यह आराम से अपेक्षा के करीब 900 / ई के करीब है (लेकिन, जब से हमें समाधान पोस्ट नहीं करने के लिए कहा जाता है, मैं कोई और विवरण नहीं दूंगा)।
whuber

6

क्या आप प्रत्येक पिस्सू के लिए कोशिकाओं के कब्जे की संभावनाओं के माध्यम से पुनरावृति नहीं कर सकते। यह है कि, पिस्सू k शुरू में सेल (i (k), j (k)) के साथ प्रायिकता 1 है। 1 पुनरावृत्ति के बाद, वह 4 आसन्न कोशिकाओं में से प्रत्येक में 1/4 संभावना है (यह मानते हुए कि वह किनारे पर या अंदर नहीं है एक कोना)। फिर अगली पुनरावृत्ति, उनमें से प्रत्येक को बदले में "स्मियर" किया जाता है। 50 पुनरावृत्तियों के बाद आपके पास पिस्सू कश्मीर के लिए कब्जे की संभावनाओं का एक मैट्रिक्स है। सभी 900 fleas (यदि आप समरूपता का लाभ उठाते हैं, तो यह लगभग 8 के कारक से कम हो जाता है) को दोहराएं और संभाव्यताएं जोड़ें (आपको उन सभी को एक बार में संग्रहीत करने की आवश्यकता नहीं है, बस वर्तमान पिस्सू मैट्रिक्स (हम्म, जब तक आप नहीं हैं) बहुत चालाक, आप एक अतिरिक्त काम कर मैट्रिक्स चाहते हैं) और मेट्रिसेस की वर्तमान राशि)। यह मुझे लगता है कि यहां और वहां इसे गति देने के बहुत सारे तरीके हैं।

इसमें कोई सिमुलेशन शामिल नहीं है। हालाँकि, इसमें काफी संगणना शामिल है; उच्च संभावना के साथ 6 डीपी सटीकता की तुलना में कुछ बेहतर जवाब देने के लिए आवश्यक सिमुलेशन आकार का काम करना बहुत कठिन नहीं होना चाहिए और यह पता लगाना चाहिए कि कौन सा दृष्टिकोण तेज होगा। मुझे उम्मीद है कि यह दृष्टिकोण अनुकरण को कुछ अंतर से हरा देगा।


2
सवाल पूछने से थोड़ा अलग सवाल का आपका जवाब। प्रश्न उन कोशिकाओं की अपेक्षित संख्या पूछ रहा है जो 50 जंप के बाद खाली होंगी। अगर मैं गलत हूं तो मुझे सुधारें, लेकिन मुझे लगता है कि संभावना से कोई सीधा रास्ता नहीं दिखता है कि पिस्सू एक निश्चित वर्ग में 50 जंप के बाद समाप्त हो जाता है, जवाब में कि कितने सेल खाली होने की उम्मीद होगी।
एंडी डब्ल्यू

1
@ एंडी डब्ल्यू - महान टिप्पणी; अभी तक मोंटे कार्लो का इस्तेमाल अंतिम चरण के लिए किया जा सकता है ;-)

4
@ एंडी डब्ल्यू: वास्तव में, कठिन हिस्सा उन सभी संभावनाओं को प्राप्त कर रहा था। प्रत्येक सेल में उन्हें जोड़ने के बजाय, उनके पूरक को गुणा करें: यह संभावना है कि सेल खाली हो जाएगा। सभी कोशिकाओं पर इन मूल्यों का योग उत्तर देता है। Glen_b का दृष्टिकोण परिमाण के सात या आठ आदेशों द्वारा अनुकरण करता है; ;-)।
whuber

@whuber, स्पष्टीकरण के लिए धन्यवाद। वास्तव में एक मिनट के भीतर उन संभावनाओं को प्राप्त करना चुनौतीपूर्ण होगा। यह एक मजेदार पहेली है और आपके इनपुट के लिए धन्यवाद।
एंडी डब्ल्यू

5

हालांकि मैं इस समस्या के एक मोंटे कार्लो के व्यावहारिक असंभावना (या अव्यवहारिकता) पर आपत्ति नहीं करता हूं , जिसे 6 दशमलव स्थानों की सटीकता के साथ कहा गया है , मैं कहता हूं कि सटीकता के छह अंकों के साथ एक संकल्प प्राप्त किया जा सकता है।

सबसे पहले, निम्न Glen_b , कण एक स्थिर शासन में विनिमय कर रहे हैं, इसलिए यह पर्याप्त है (के रूप में प्रचुरता ) विभिन्न कोशिकाओं के अधिभोग नजर रखने के लिए, के रूप में यह एक मार्कोव प्रक्रिया के रूप में अच्छी तरह से होता है। अगली बार चरण पर अधिभोगों का वितरण वर्तमान समय t पर अधिभोगियों द्वारा निर्धारित किया गया है । संक्रमण मैट्रिक्स K लिखना निश्चित रूप से अव्यावहारिक है लेकिन संक्रमण का अनुकरण करना सीधा है।टी+1टी

2

पी^050(एक्स(टी))

पी^0=1450Σमैं=1450मैं0(एक्समैं(50))
(एक्स(टी))t=50π

Σi=1450(1-πमैं)450
166.1069
pot=rep(c(rep(c(0,1),15),rep(c(1,0),15)),15)*c(2,
    rep(3,28),2,rep(c(3,rep(4,28),3),28),2,rep(3,28),2)
pot=pot/sum(pot)
sum((1-pot)^450)-450
[1] 166.1069

166.11

व्हिबर द्वारा टिप्पणी के रूप में , अनुमानों को सही ढंग से प्रश्न का उत्तर देने के लिए 2 से गुणा करने की आवश्यकता होती है, इसलिए 332.2137 का अंतिम मूल्य,


1
+1 बहुत ही व्यावहारिक। मेरा मानना ​​है कि आपको अपने अंतिम उत्तर को दोगुना करने की आवश्यकता है, क्योंकि प्रश्न सभी 900 कोशिकाओं के बारे में पूछता है।
whuber

1
मेरा मानना ​​है कि आप स्टेशनरी वितरण से आगे की शुरुआत कर सकते हैं जितना आप सोचते हैं। ब्रूट-बल गणना मैंने मूल रूप से सटीक (तर्कसंगत) अंकगणितीय का उपयोग करके संक्रमण मैट्रिक्स की 50 वीं शक्ति की गणना की थी। इससे मैंने 330.4725035083710 ... का मान प्राप्त किया। शायद मैंने एक त्रुटि की .... मेरी एक गलती थी और अब 330.7211540144080 प्राप्त करें .... व्यापक जाँच से पता चलता है कि संक्रमण मैट्रिक्स सही है।
whuber

@ शुभकर्ता: धन्यवाद, यह वास्तव में एक संभावना है। मैंने स्थिरता की गति निर्धारित करने के लिए एक युग्मन तर्क खोजने की कोशिश की लेकिन नहीं कर सका। मूल प्रक्रिया के साथ एक मोंटे कार्लो सिमुलेशन ने मुझे 10ic प्रतिकृतियां और गणना के 57 घंटे में 333.96 दिया। सटीक पर कोई और वारंटी के साथ।
शीआन

1
यहाँ मेरा तर्क है। 50 कदमों के लिए संक्रमण मैट्रिक्स संक्रमण मैट्रिक्स की 50 वीं शक्ति है, जहां इसकी eigenvalues ​​eigenvalues ​​की 50 वीं शक्तियां हैं। मूल्यों के संगत केवल आइजनवेक्टर जिनकी 50 वीं शक्तियां किसी भी प्रशंसनीय आकार की हैं, आपके 50 चरणों के अंत में घटकों के रूप में दिखाई देंगी। अधिक से अधिक, वे 50 वीं शक्तियां हमें वास्तव में एक स्थिर स्थिति को प्राप्त करने के बजाय 50 वें चरण पर रोककर किए गए सापेक्ष त्रुटि के बारे में सूचित करती हैं।
whuber

1
900×900

4

एक विश्लेषणात्मक दृष्टिकोण थकाऊ हो सकता है और मैंने पेचीदगियों के माध्यम से नहीं सोचा है लेकिन यहां एक दृष्टिकोण है जिसे आप विचार करना चाह सकते हैं। चूँकि आप 50 रिंग्स के बाद खाली होने वाली कोशिकाओं की अपेक्षित संख्या में रुचि रखते हैं, इसलिए आपको पिस्सू की स्थिति के बजाय "सेल में पिस्सू की संख्या" पर मार्कोव श्रृंखला को परिभाषित करने की आवश्यकता होती है (ग्लेन_ब का जवाब देखें जो मॉडल की स्थिति को बताता है एक मार्कोव श्रृंखला के रूप में एक पिस्सू। जैसा कि एंडी द्वारा उस उत्तर के लिए टिप्पणियों में बताया गया है कि दृष्टिकोण को वह नहीं मिल सकता है जो आप चाहते हैं।)

विशेष रूप से, चलो:

nमैंजे(टी)मैंजे

फिर मार्कोव श्रृंखला निम्न अवस्था से शुरू होती है:

nमैंजे(0)=1मैंजे

चूंकि, fleas चार आसन्न कोशिकाओं में से एक में स्थानांतरित होता है, एक सेल की स्थिति इस बात पर निर्भर करती है कि लक्ष्य सेल में कितने fleas हैं और चार आसन्न कोशिकाओं में कितने fleas हैं और संभावना है कि वे उस सेल में जाएंगे। इस अवलोकन का उपयोग करके, आप प्रत्येक सेल के लिए उस सेल की स्थिति और आसन्न कोशिकाओं की स्थिति के रूप में राज्य संक्रमण संभावनाएं लिख सकते हैं।

यदि आप चाहें तो मैं उत्तर का और विस्तार कर सकता हूं, लेकिन मार्कोव श्रृंखला के मूल परिचय के साथ यह आपको आरंभ कर देना चाहिए।


1
nij

@ वाउचर नहीं, आपको मार्कोव श्रृंखला के रूप में पिस्सू की स्थिति को बनाए रखने की आवश्यकता नहीं है। एक सेल के लिए एक यादृच्छिक चलने के रूप में मैं जो प्रस्ताव कर रहा हूं, उसके बारे में सोचो। एक सेल शुरू में '1' की स्थिति में है, जहां से यह 0, 1, 2, 3, 4, या 5 तक जा सकती है। राज्य संक्रमण की संभावना आसन्न कोशिकाओं के राज्यों पर निर्भर करती है। इस प्रकार, प्रस्तावित श्रृंखला एक पुन: परिभाषित राज्य स्थान (प्रत्येक सेल के लिए सेल मायने रखता है) पर है, बजाय पिस्सू स्थिति पर। क्या इसका कोई मतलब है?

1
यह समझ में आता है, लेकिन यह एक कदम पीछे की तरह लगता है, क्योंकि राज्यों की संख्या अब बहुत बड़ी नहीं है? एक मॉडल में 900 राज्य हैं - एक पिस्सू की स्थिति - और हर एक में से चार से अधिक संक्रमण नहीं। गणना केवल एक पिस्सू के लिए किए जाने की आवश्यकता है क्योंकि वे सभी स्वतंत्र रूप से चलते हैं। आप में ऐसा लगता है कि एक राज्य का वर्णन एक सेल के कब्जे के साथ-साथ उसके चार पड़ोसियों तक के कब्जे से है। यह एक बहुत बड़ी संख्या में राज्य होंगे और राज्यों के बीच बहुत बड़ी संख्या में परिवर्तन भी होंगे। मुझे गलतफहमी हो रही होगी कि आपका नया राज्य स्थान क्या है।
व्हिबर

{nमैंजे}

2

यदि आप संख्यात्मक मार्ग पर जा रहे हैं, तो एक साधारण अवलोकन: समस्या लाल-काली समता के अधीन प्रतीत होती है (लाल वर्ग पर एक पिस्सू हमेशा एक काले वर्ग में जाती है, और इसके विपरीत)। यह आपकी समस्या के आकार को आधे से कम करने में मदद कर सकता है (एक समय में केवल दो चालों पर विचार करें, और केवल लाल चौराहों पर fleas को देखें, कहते हैं।)


1
यह एक अच्छा अवलोकन है। हालाँकि, मैंने यह स्पष्ट रूप से शोषण करने के लायक होने से अधिक परेशान किया। अधिकांश प्रोग्रामिंग राशियाँ संक्रमण मैट्रिक्स को स्थापित करने के लिए होती हैं। एक बार जब आप ऐसा कर लेते हैं, तो बस इसे स्क्वायर करें और उसी के साथ काम करें। विरल मैट्रिस का उपयोग करके, आधे शून्य को हटाने से वैसे भी कोई समय नहीं बचता है।
whuber

@ वाउचर: मुझे संदेह है कि इन समस्याओं का बिंदु समस्या निवारण तकनीकों को सीखना है, बल्कि बहुत सारे कम्प्यूटेशनल चक्रों का उपभोग करना है। समरूपता, समता, आदि, समस्या निवारण पर लार्सन की पुस्तक की क्लासिक तकनीकें हैं।
शब्बीशेफ

1
ये एक अच्छा बिंदु है। अंतत: कुछ निर्णय की जरूरत है। प्रोजेक्ट यूलर गणितीय अंतर्दृष्टि और कम्प्यूटेशनल दक्षता के बीच ट्रेडऑफ पर जोर देने के लिए प्रकट होता है। Glen_b ने उन समरूपताओं का उल्लेख किया है जो पहले शोषण करने के लायक हैं क्योंकि उनसे प्राप्त करने के लिए अधिक है। इसके अलावा, विरल मैट्रिक्स अंकगणितीय का उपयोग करके आप स्वचालित रूप से दो गुना लाभ प्राप्त करेंगे (आप समानता के बारे में जानते हैं या नहीं!)।
whuber

1

मुझे संदेह है कि असतत समय मार्कोव श्रृंखला के कुछ ज्ञान उपयोगी साबित हो सकते हैं।


3
यह एक टिप्पणी होनी चाहिए थी, लेकिन मुझे लगता है कि हम इस बिंदु पर इसे दादा कर सकते हैं।
गंग -

यह स्वचालित रूप से निम्न गुणवत्ता के रूप में चिह्नित किया जा रहा है, शायद इसलिए कि यह बहुत कम है। क्या आप इसका विस्तार कर सकते हैं?
गूँग - मोनिका

मैं यह नहीं देखता कि: प्रश्न उन विषयों के लिए पूछता है जो उपयोगी हो सकते हैं, और यह वह विषय है जो मेरी राय में सबसे अधिक प्रासंगिक है।
साइमन ब्रेन

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