सार्वभौमिक खोज के लिए एक व्याख्या क्या है?


13

मैं एक कंप्यूटर विज्ञान विषय पर एक किताब पढ़ रहा हूं, लेकिन कुछ पूर्वापेक्षा पृष्ठभूमि का अभाव है। आम तौर पर जब मैं शर्तों में दौड़ता हूं तो मुझे समझ नहीं आता है कि मैं बस उन्हें देखता हूं, लेकिन यूनिवर्सल सर्च के लिए मैं सांख्यिकी / कंप्यूटर विज्ञान में पृष्ठभूमि के बिना एक पाठक के लिए उपयुक्त स्पष्टीकरण नहीं पा सका हूं।

मैं इस लेख को स्कॉलरपीडिया से यूनिवर्सल सर्च पर पढ़ रहा हूं , जो इस विषय को कवर करता है। मैं यूनिवर्सल खोज (या लेविन खोज ) का क्या अर्थ है के लिए एक स्पष्टीकरण की सराहना करता हूँ ।

जवाबों:


15

इसके बारे में इस तरह से सोचें। आपको एक समस्या है, इनपुट साथ और आप जानते हैं कि किसी समाधान को कैसे सत्यापित किया जाए यदि आपने कभी एक (जैसे मैट्रिक्स का उलटा या जिसे आप कल्पना करना चाहते हैं)।x

अब, अपनी पसंदीदा प्रोग्रामिंग भाषा (पायथन कहो) लें, और हर एक पायथन प्रोग्राम को बनाएं जिसमें अधिकतम 10 वर्ण हों! फिर आप अपने इनपुट के साथ उन सभी कार्यक्रमों को 10 सेकंड के लिए चलाते हैं, प्रत्येक इनपुट । यदि उनमें से कोई भी आपको जवाब नहीं देता है, तो आप सभी 11 पर जाते हैं । प्रत्येक 11 वर्णों के प्रत्येक प्रोग्राम को चलाएं (जिन पर आपने पहले ही प्रयास किया था, निश्चित रूप से) प्रत्येक 11 सेकंड के लिए, इनपुट । यदि उनमें से कोई भी आपको सही जवाब नहीं देता है, तो आप 12 और इसी तरह जारी रखेंगे।एक्सxx

औपचारिक रूप से, पुनरावृति , आप लंबाई के सभी कार्यक्रमों को सबसे अधिक (बारी-बारी से कई, लेकिन निश्चित रूप से में घातांक ), प्रत्येक को सेकंड (या चरणों) के लिए चलाते हैं ।मैं हूँ मैं?iiii

वहाँ एक कार्यक्रम है, का कहना है कि है कि में सही उत्पादन देता सेकंड। आप यात्रा के लिए आए हैं जब , इस कार्यक्रम में कम से कम के लिए चलाया जाएगा सेकंड, और आप उत्पादन दोनों होगा और समाधान।Psi=max{|P|,s}sP


3

Pål GD ने जो कहा, उसे जोड़ने के लिए, याद रखें कि आप लंबाई के सभी कार्यक्रमों को चला रहे हैं, जिन्हें कम या ज्यादा करता हूं और उन्हें सबसे ज्यादा सेकंड में चलाने देता । तो यह हो सकता है कि एक ऐसा कार्यक्रम है जिसे सही उत्तर मिलता है जो 100 वर्ण लंबा है, लेकिन इसे चलाने में 120 सेकंड लगते हैं। उस प्रोग्राम को । पर आप इस कार्यक्रम की जांच करेंगे, लेकिन यह बहुत समय लगता है, तो आप इसे त्यागने को चलाने के लिए। लंबाई 100 के सभी कार्यक्रमों की जाँच करने के बाद, आप पाते हैं कि उनमें से कोई भी सही उत्तर नहीं देता है, इसलिए आप लंबाई कार्यक्रमों की कोशिश करें और सभी कार्यक्रमों को पहले आज़माएँ । तो आप फिर से प्रयासiiPi=100101 P, जो प्रोग्राम (हम जानते हैं) आपको सही उत्तर देगा, लेकिन फिर भी आपको इसे छोड़ने में बहुत समय लगता है। हम उस प्रक्रिया को जारी रखते हैं, जब तक हम तक नहीं पहुंच जाते । तब हम लंबाई सभी कार्यक्रमों का प्रयास करते हैं , और जब हम तो हम सही उत्तर देने के लिए इसे लंबे समय तक चलने देते हैं। फिर हम रोकते हैं - हमने वह एल्गोरिथम ढूंढ लिया है जिसे हम चाहते थे। जिस पर हम चल रहे हैं, वह , क्योंकि यद्यपि प्रोग्राम की लंबाई कम है (हम लिखेंगे ), हमें उस समय तक इंतजार करना था जब तक कि उसमें लगने वाले समय को 120 सेकंड ( )। इसलिए का अर्थ है कार्यक्रम की लंबाई अधिकतमi=120120Pi=120P|P|=100s=120i=max{|P|,s}Pऔर समय की राशि इसे चलाने के लिए ले लिया ।s

यह को देखने के लिए एक और तरीका है एक कार्यक्रम के लिए है कि लेता सेकंड सही जवाब का उत्पादन करने, हम जांच करने के लिए है कम से कमपुनरावृत्तियों, और कम से कम पुनरावृत्तियों इससे पहले कि हम यह मिल जाएगा, क्योंकि अगरतब हमने अभी तक उस कार्यक्रम की जाँच नहीं की है, और यदि तो हम कार्यक्रम को लंबे समय तक चलने नहीं देते हैं।Ps |P| si<|P|i<s

ध्यान दें कि खोज का यह तरीका केवल आपको एक उत्तर देने की गारंटी है अगर कोई है; यह सबसे छोटा या त्वरित उत्तर खोजने की गारंटी नहीं है। इसका कारण स्पष्ट होना चाहिए यदि आप मानते हैं कि प्रक्रिया जैसे ही समाप्त होती है, तो यह एक ऐसा प्रोग्राम पाता है जो सही उत्तर देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.