समष्टि पदानुक्रम प्रमेय: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{short description|Both deterministic and nondeterministic machines can solve more problems given more space}}[[कम्प्यूटेशनल जटिलता सिद्धांत|कम्प्यूटेशनल कम्प्लेक्सिटी थ्योरी]] में, '''स्पेस हायरार्की थ्योरम''' ऐसे सेपरेशन रिजल्ट्स हैं जो प्रदर्शित करते हैं कि डेटर्मीनिस्टिक एवं नॉन-डेटर्मीनिस्टिक दोनों मशीनें कुछ कंडीशंस के अधीन (अस्पष्ट रूप से) अधिक स्पेस में अधिक प्रोब्लेम्स को सॉल्व कर सकती हैं। उदाहरण के लिए, [[नियतात्मक ट्यूरिंग मशीन|डेटर्मीनिस्टिक ट्यूरिंग मशीन]] स्पेस ''n'' की अपेक्षा स्पेस ''n'' log ''n'' में [[निर्णय समस्या|डिसिशन प्रोब्लेम्स]] को सॉल्व कर सकती है। | {{short description|Both deterministic and nondeterministic machines can solve more problems given more space}}[[कम्प्यूटेशनल जटिलता सिद्धांत|कम्प्यूटेशनल कम्प्लेक्सिटी थ्योरी]] में, '''स्पेस हायरार्की थ्योरम''' ऐसे सेपरेशन रिजल्ट्स हैं जो प्रदर्शित करते हैं कि डेटर्मीनिस्टिक एवं नॉन-डेटर्मीनिस्टिक दोनों मशीनें कुछ कंडीशंस के अधीन (अस्पष्ट रूप से) अधिक स्पेस में अधिक प्रोब्लेम्स को सॉल्व कर सकती हैं। उदाहरण के लिए, [[नियतात्मक ट्यूरिंग मशीन|डेटर्मीनिस्टिक ट्यूरिंग मशीन]] स्पेस ''n'' की अपेक्षा स्पेस ''n'' log ''n'' में [[निर्णय समस्या|डिसिशन प्रोब्लेम्स]] को सॉल्व कर सकती है। टाइम के लिए कुछ सीमा तक वीकर एनलॉगस थेओरेम्स [[समय पदानुक्रम प्रमेय|टाइम हायरार्की थेओरेम्स]] हैं। | ||
हायरार्की थेओरेम्स के आधार के इंटूइशन में निहित है कि | हायरार्की थेओरेम्स के आधार के इंटूइशन में निहित है कि अधिक टाइम या अधिक स्पेस के साथ कंप्यूट करने की क्षमता होती है। हायरार्की थेओरेम्स का उपयोग यह प्रदर्शित करने के लिए किया जाता है कि टाइम एवं स्पेस कम्प्लेक्सिटी क्लासेज हायरार्की बनाते हैं जहां टाइटर बॉन्ड्स में अधिक रिलैक्स्ड बॉन्ड्स की अपेक्षा कम लैंग्वेजेज होती हैं। यहां स्पेस हायरार्की थ्योरम को परिभाषित एवं सिद्ध किया जाता है। | ||
स्पेस हायरार्की थ्योरम [[अंतरिक्ष-निर्माण योग्य कार्य|स्पेस-कंस्ट्रक्टिबल फंक्शन्स]] की अवधारणा पर निर्भर करते हैं। डेटर्मीनिस्टिक एवं नॉन-डेटर्मीनिस्टिक स्पेस हायरार्की थ्योरम बताते हैं कि सभी स्पेस-कंस्ट्रक्टिबल फंक्शन्स के लिए ''f''(''n''), इस प्रकार है: | स्पेस हायरार्की थ्योरम [[अंतरिक्ष-निर्माण योग्य कार्य|स्पेस-कंस्ट्रक्टिबल फंक्शन्स]] की अवधारणा पर निर्भर करते हैं। डेटर्मीनिस्टिक एवं नॉन-डेटर्मीनिस्टिक स्पेस हायरार्की थ्योरम बताते हैं कि सभी स्पेस-कंस्ट्रक्टिबल फंक्शन्स के लिए ''f''(''n''), इस प्रकार है: | ||
Line 10: | Line 10: | ||
== स्टेटमेंट == | == स्टेटमेंट == | ||
औपचारिक रूप से, फंक्शन <math>f:\mathbb{N} \longrightarrow \mathbb{N}</math> स्पेस- | औपचारिक रूप से, फंक्शन <math>f:\mathbb{N} \longrightarrow \mathbb{N}</math> स्पेस-कंस्ट्रक्टीबल है यदि <math>f(n) \ge \log~n</math> एवं वहाँ ट्यूरिंग मशीन उपस्थित है जो फंक्शन <math>f(n)</math> की कंप्यूट स्पेस <math>O(f(n))</math> में इनपुट <math>1^n</math> के साथ प्रारंभ करते टाइम करता है, जहाँ <math>1^n</math> n क्रमागत 1s की स्ट्रिंग का प्रतिनिधित्व करता है। अधिकांश सामान्य फंक्शन जिनके साथ हम कार्य करते हैं, वे स्पेस-कंस्ट्रक्टीबल हैं, जिनमें बहुपद, घातांक एवं लघुगणक सम्मिलित हैं। | ||
प्रत्येक | प्रत्येक स्पेस-कंस्ट्रक्टीबल फंक्शन <math>f:\mathbb{N} \longrightarrow | ||
\mathbb{N}</math> के लिए, वहाँ लैंग्वेज {{mvar|L}} उपस्थित है जो स्पेस <math>O(f(n))</math> में निर्णय लेने योग्य है किन्तु स्पेस <math>o(f(n))</math> में नहीं है। | \mathbb{N}</math> के लिए, वहाँ लैंग्वेज {{mvar|L}} उपस्थित है जो स्पेस <math>O(f(n))</math> में निर्णय लेने योग्य है किन्तु स्पेस <math>o(f(n))</math> में नहीं है। | ||
== प्रूफ == | == प्रूफ == | ||
गोल ऐसी लैंग्वेज को परिभाषित करना है जिसे स्पेस <math>o(f(n))</math> में नहीं अपितु <math>O(f(n))</math> में निश्चित किया जा सकता है। लैंग्वेज को L के रूप में परिभाषित किया गया है, <math>L = \{~ (\langle M \rangle, 10^k): M \mbox{ uses space } \le f(|\langle M \rangle, 10^k|) \mbox{ and time } \le 2^{f(|\langle M \rangle, 10^k|)} \mbox{ and } M \mbox{ does not accept } (\langle M \rangle, | |||
10^k) ~ \}</math> | 10^k) ~ \}</math> | ||
किसी भी मशीन {{mvar|M}} के लिए जो स्पेस <math>o(f(n))</math> में लैंग्वेज सुनिश्चित करता है, {{mvar|L}} {{mvar|M}} की लैंग्वेज से कम से कम | किसी भी मशीन {{mvar|M}} के लिए जो स्पेस <math>o(f(n))</math> में लैंग्वेज सुनिश्चित करता है, {{mvar|L}} {{mvar|M}} की लैंग्वेज से कम से कम स्पेस पर भिन्न होगा, अर्थात्, कुछ बड़े पर्याप्त {{mvar|k}} के लिए, {{mvar|M}} स्पेस का उपयोग करेगा <math>\le f(|\langle M \rangle, 10^k|)</Math> on <math>(\langle M \rangle, 10^k)</Math> और इसलिए इसके मूल्य में भिन्नता होगी। | ||
दूसरी ओर, {{mvar|L}}, <math>\mathsf{SPACE}(f(n))</math>में है। लैंग्वेज {{mvar|L}} सुनिश्चित करने के लिए एल्गोरिदम इस प्रकार है: | दूसरी ओर, {{mvar|L}}, <math>\mathsf{SPACE}(f(n))</math>में है। लैंग्वेज {{mvar|L}} सुनिश्चित करने के लिए एल्गोरिदम इस प्रकार है: | ||
# इनपुट {{mvar|x}} पर, <math>f(|x|)</math> स्पेस-निर्माणशीलता का उपयोग और मार्क ऑफ करके | # इनपुट {{mvar|x}} पर, <math>f(|x|)</math> स्पेस-निर्माणशीलता का उपयोग और मार्क ऑफ करके कंप्यूट की जाती है, एवं <math>f(|x|)</math> टेप की सेल को चिह्नित किया जाता है, जब भी इससे अधिक प्रयोग करने का प्रयास किया जाता है तो <math>f(|x|)</math>सेल इसे अस्वीकार कर देती है। | ||
# यदि {{mvar|x}}, <math>\langle M \rangle, 10^k</math> का स्वरूप नहीं है, तो कुछ TM के लिए {{mvar|M}}, अस्वीकार किया जाता है। | # यदि {{mvar|x}}, <math>\langle M \rangle, 10^k</math> का स्वरूप नहीं है, तो कुछ TM के लिए {{mvar|M}}, अस्वीकार किया जाता है। | ||
# अधिक से अधिक इनपुट {{mvar|x}} पर {{mvar|M}} का अनुकरण करता है, <math>2^{f(|x|)}</math>चरण ( <math>f(|x|)</math> स्पेस का उपयोग करके) है। यदि सिमुलेशन <math>f(|x|)</math> | # अधिक से अधिक इनपुट {{mvar|x}} पर {{mvar|M}} का अनुकरण करता है, <math>2^{f(|x|)}</math>चरण ( <math>f(|x|)</math> स्पेस का उपयोग करके) है। यदि सिमुलेशन <math>f(|x|)</math> स्पेस से अधिक या उससे अधिक <math>2^{f(|x|)}</math> ऑपरेशन का उपयोग करने का प्रयास करता है तो इसे अस्वीकार कर दिया जाता है। | ||
# यदि इस अनुकरण के | # यदि इस अनुकरण के टाइम {{mvar|M}} ने {{mvar|x}} को स्वीकार कर लिया है, तो इसे अस्वीकार अन्यथा स्वीकार कर लिया जाता है। | ||
चरण 3 पर ध्यान दें: निष्पादन यहीं तक सीमित है, उस स्थिति से बचने के लिए <math>2^{f(|x|)}</math>चरण जहां {{mvar|M}} इनपुट {{mvar|x}} पर नहीं रुकता है। अर्थात्, वह स्थिति जहाँ {{mvar|M}} केवल स्थान का उपभोग करता है। <math>O(f(x))</math> आवश्यकतानुसार, किन्तु अनंत | चरण 3 पर ध्यान दें: निष्पादन यहीं तक सीमित है, उस स्थिति से बचने के लिए <math>2^{f(|x|)}</math>चरण जहां {{mvar|M}} इनपुट {{mvar|x}} पर नहीं रुकता है। अर्थात्, वह स्थिति जहाँ {{mvar|M}} केवल स्थान का उपभोग करता है। <math>O(f(x))</math> आवश्यकतानुसार, किन्तु अनंत टाइम तक उपयोग होता है। | ||
उपरोक्त प्रमाण पीस्पेस की स्थिति में मान्य है, किन्तु एनपीस्पेस की स्थिति में कुछ परिवर्तन करने की आवश्यकता है। महत्वपूर्ण बिंदु यह है कि नियतात्मक TM पर, स्वीकृति एवं अस्वीकृति को विपरीत किया जा सकता है (चरण 4 के लिए महत्वपूर्ण), अन्य-नियतात्मक मशीन पर यह संभव नहीं है। | उपरोक्त प्रमाण पीस्पेस की स्थिति में मान्य है, किन्तु एनपीस्पेस की स्थिति में कुछ परिवर्तन करने की आवश्यकता है। महत्वपूर्ण बिंदु यह है कि नियतात्मक TM पर, स्वीकृति एवं अस्वीकृति को विपरीत किया जा सकता है (चरण 4 के लिए महत्वपूर्ण), अन्य-नियतात्मक मशीन पर यह संभव नहीं है। | ||
Line 40: | Line 40: | ||
अब, चरण 4 को संशोधित करके {{mvar|L}} को स्वीकार करने के लिए एल्गोरिदम को परिवर्तित करने की आवश्यकता है: | अब, चरण 4 को संशोधित करके {{mvar|L}} को स्वीकार करने के लिए एल्गोरिदम को परिवर्तित करने की आवश्यकता है: | ||
* यदि इस अनुकरण के | * यदि इस अनुकरण के टाइम {{mvar|M}} ने {{mvar|x}} को स्वीकार कर लिया है, तो स्वीकार करें; अन्यथा, अस्वीकार करें। | ||
{{mvar|L}} का उपयोग TM द्वारा <math>o(f(n))</math> का उपयोग नहीं किया जा सकता है। यह मानते हुए कि {{mvar|L}} का निर्णय कुछ TM {{mvar|M}} उपयोग करके किया जा सकता है <math>o(f(n))</math> सेल एवं इमरमैन-स्ज़ेलेपीसीसेनी | {{mvar|L}} का उपयोग TM द्वारा <math>o(f(n))</math> का उपयोग नहीं किया जा सकता है। यह मानते हुए कि {{mvar|L}} का निर्णय कुछ TM {{mvar|M}} उपयोग करके किया जा सकता है <math>o(f(n))</math> सेल एवं इमरमैन-स्ज़ेलेपीसीसेनी थ्योरम का अनुसरण करते हुए, <math>\overline L</math> को TM (जिसे <math>\overline M</math>कहा जाता है) द्वारा <math>o(f(n))</math> सेल का उपयोग करके भी निर्धारित किया जा सकता है। यहाँ विरोधाभास है, इसलिए धारणा असत्य होनी चाहिए: | ||
# यदि <math>w = (\langle \overline M \rangle, 10^k)</math> (कुछ बड़े पर्याप्त {{mvar|k}} के लिए) <math>\overline L</math> में नहीं है इसलिए {{mvar|M}} इसे स्वीकार करेगा, इसलिए <math>\overline M</math> {{mvar|w}} को अस्वीकार करता है, इसलिए {{mvar|w}} <math>\overline L</math> में है (विरोधाभास)। | # यदि <math>w = (\langle \overline M \rangle, 10^k)</math> (कुछ बड़े पर्याप्त {{mvar|k}} के लिए) <math>\overline L</math> में नहीं है इसलिए {{mvar|M}} इसे स्वीकार करेगा, इसलिए <math>\overline M</math> {{mvar|w}} को अस्वीकार करता है, इसलिए {{mvar|w}} <math>\overline L</math> में है (विरोधाभास)। | ||
# यदि <math>w = (\langle \overline M \rangle, 10^k)</math> (कुछ बड़े पर्याप्त {{mvar|k}} के लिए) <math>\overline L</math> में है इसलिए {{mvar|M}} इसे अस्वीकार कर देगा <math>\overline M</math> {{mvar|w}} को स्वीकार करता है, इसलिए {{mvar|w}}, <math>\overline L</math> में नहीं है (विरोधाभास)। | # यदि <math>w = (\langle \overline M \rangle, 10^k)</math> (कुछ बड़े पर्याप्त {{mvar|k}} के लिए) <math>\overline L</math> में है इसलिए {{mvar|M}} इसे अस्वीकार कर देगा <math>\overline M</math> {{mvar|w}} को स्वीकार करता है, इसलिए {{mvar|w}}, <math>\overline L</math> में नहीं है (विरोधाभास)। | ||
Line 48: | Line 48: | ||
== कम्पेरिज़न और इम्प्रोवेमेन्ट्स == | == कम्पेरिज़न और इम्प्रोवेमेन्ट्स == | ||
स्पेस हायरार्की थ्योरम कई विषयों में अनुरूप | स्पेस हायरार्की थ्योरम कई विषयों में अनुरूप टाइम हायरार्की थेओरेम्स से अधिक सशक्त है: | ||
* इसके लिए केवल s(n) को कम से कम n के अतिरिक्त कम से कम log n होना आवश्यक है। | * इसके लिए केवल s(n) को कम से कम n के अतिरिक्त कम से कम log n होना आवश्यक है। | ||
* यह किसी भी स्पर्शोन्मुख अंतर के साथ वर्गों को भिन्न कर सकता है, जबकि | * यह किसी भी स्पर्शोन्मुख अंतर के साथ वर्गों को भिन्न कर सकता है, जबकि टाइम हायरार्की थ्योरम के लिए उन्हें लोगरिथम फैक्टर द्वारा भिन्न करने की आवश्यकता होती है। | ||
* इसके लिए फंक्शन को | * इसके लिए फंक्शन को टाइम-कंस्ट्रक्टीबल नहीं अपितु स्पेस-कंस्ट्रक्टीबल होना आवश्यक है। | ||
टाइम की अपेक्षा में स्पेस में वर्गों को भिन्न करना सरल लगता है। वास्तव में, जबकि टाइम हायरार्की थ्योरम ने अपनी स्थापना के पश्चात से उल्लेखनीय सुधार देखा है, नॉन डिटरमिनिस्टिक स्पेस हायरार्की थ्योरम में कम से कम महत्वपूर्ण सुधार देखा गया है जिसे [[ विलियम गेफ़र्ट |विलियम गेफ़र्ट]] ने अपने 2003 के पेपर स्पेस हायरार्की थ्योरम में संशोधित किया है। इस पेपर ने थ्योरम के कई सामान्यीकरण किये है: | |||
* यह स्पेस-निर्माण योग्यता की आवश्यकता को शिथिल करता है। केवल संघ वर्गों {{tmath|\mathsf{DSPACE}(O(s(n))}} एवं {{tmath|\mathsf{DSPACE}(o(s(n))}} को भिन्न करने के अतिरिक्त यह {{tmath|\mathsf{DSPACE}(f(n))}} से {{tmath|\mathsf{DSPACE}(g(n))}} को भिन्न करता है, जहाँ {{tmath|f(n)}} | * यह स्पेस-निर्माण योग्यता की आवश्यकता को शिथिल करता है। केवल संघ वर्गों {{tmath|\mathsf{DSPACE}(O(s(n))}} एवं {{tmath|\mathsf{DSPACE}(o(s(n))}} को भिन्न करने के अतिरिक्त यह {{tmath|\mathsf{DSPACE}(f(n))}} से {{tmath|\mathsf{DSPACE}(g(n))}} को भिन्न करता है, जहाँ {{tmath|f(n)}} आर्बिटरी है {{tmath|O(s(n))}} फंक्शन एवं g(n) कंप्यूट योग्य {{tmath|o(s(n))}} फंक्शन है। इन फंक्शन को स्पेस-कंस्ट्रक्टीबल या मोनोटोन बढ़ाने की आवश्यकता नहीं है। | ||
* यह यूनरी लैंग्वेज या टैली लैंग्वेज की पहचान करता है, जो वर्ग में है किन्तु दूसरे में नहीं है। मूल | * यह यूनरी लैंग्वेज या टैली लैंग्वेज की पहचान करता है, जो वर्ग में है किन्तु दूसरे में नहीं है। मूल थ्योरम में, भिन्न करने वाली लैंग्वेज आर्बिटरी थी। | ||
* इसकी आवश्यकता नहीं है, {{tmath|s(n)}} कम से कम log n होना चाहिए; यह कोई भी अन्य-नियतात्मक रूप से पूर्णतः स्पेस- | * इसकी आवश्यकता नहीं है, {{tmath|s(n)}} कम से कम log n होना चाहिए; यह कोई भी अन्य-नियतात्मक रूप से पूर्णतः स्पेस-कंस्ट्रक्टीबल कार्य हो सकता है। | ||
==स्पेस हायरार्की | ==रिफाइनमेंट स्पेस हायरार्की == | ||
यदि | यदि स्पेस को वर्णमाला के आकार पर विचार किए बिना उपयोग की गई सेल की संख्या के रूप में मापा जाता है, तो {{tmath|1=\mathsf{SPACE}(f(n)) = \mathsf{SPACE}(O(f(n)))}} होता है, क्योंकि कोई भी बड़े वर्णमाला पर स्विच करके किसी भी रैखिक कम्प्रेशन को प्राप्त कर सकता है। चूँकि, बिट्स में स्पेस को मापने से, नियतात्मक स्पेस के लिए अधिक तीव्र पृथक्करण प्राप्त किया जा सकता है। गुणात्मक स्थिरांक तक परिभाषित होने के अतिरिक्त, स्पेस को अब योगात्मक स्थिरांक तक परिभाषित किया गया है। चूँकि, क्योंकि एक्सटर्नल स्पेस की किसी भी स्थिर मात्रा को कंटेंट्स को आंतरिक स्थिति में संग्रहीत करके बचाया जा सकता है, हमारे पास अभी भी {{tmath|1=\mathsf{SPACE}(f(n)) = \mathsf{SPACE}(f(n)+O(1))}}है। | ||
मान लें कि f स्पेस- | मान लें कि f स्पेस-कंस्ट्रक्टीबल है। स्पेस निर्धारणात्मक है। | ||
* ट्यूरिंग मशीनों सहित अनुक्रमिक कम्प्यूटेशनल मॉडल की | * ट्यूरिंग मशीनों सहित अनुक्रमिक कम्प्यूटेशनल मॉडल की विस्तृत विविधता के लिए, SPACE(f(n)-Big O Notation|ω(log(f(n)+n))) ⊊ SPACE(f(n)) है। यह तब भी मान्य है जब SPACE(f(n)-ω(log(f(n)+n))) को {{tmath|\mathsf{SPACE}(f(n))}} से किसी भिन्न कम्प्यूटेशनल मॉडल का उपयोग करके परिभाषित किया गया हो क्योंकि विभिन्न मॉडल {{tmath|O(\log(f(n)+n))}} स्पेस के साथ दूसरे का अनुकरण कर सकते हैं। | ||
* कुछ कम्प्यूटेशनल मॉडल के लिए, हमारे पास SPACE(f(n)-ω(1)) ⊊ SPACE(f(n)) भी है। विशेष रूप से, यह ट्यूरिंग मशीनों के लिए प्रस्तावित होता है यदि हम वर्णमाला, इनपुट टेप पर हेड्स की संख्या, वर्कटेप पर हेड्स की संख्या (वर्कटेप का उपयोग करके) को उचित बनाते हैं, एवं वर्कटेप के विज़िट किए गए भाग के लिए सीमांकक जोड़ते हैं (जिसे स्पेस उपयोग में वृद्धि के बिना चेक किया जा सकता है)। SPACE(f(n)) इस विषय पर निर्भर नहीं करता है कि वर्कटेप अनंत है या अर्ध-अनंत है। हमारे पास निश्चित संख्या में वर्कटेप भी हो सकते हैं यदि f(n) या तो प्रति-टेप स्पेस उपयोग देने वाला स्पेस | * कुछ कम्प्यूटेशनल मॉडल के लिए, हमारे पास SPACE(f(n)-ω(1)) ⊊ SPACE(f(n)) भी है। विशेष रूप से, यह ट्यूरिंग मशीनों के लिए प्रस्तावित होता है यदि हम वर्णमाला, इनपुट टेप पर हेड्स की संख्या, वर्कटेप पर हेड्स की संख्या (वर्कटेप का उपयोग करके) को उचित बनाते हैं, एवं वर्कटेप के विज़िट किए गए भाग के लिए सीमांकक जोड़ते हैं (जिसे स्पेस उपयोग में वृद्धि के बिना चेक किया जा सकता है)। SPACE(f(n)) इस विषय पर निर्भर नहीं करता है कि वर्कटेप अनंत है या अर्ध-अनंत है। हमारे पास निश्चित संख्या में वर्कटेप भी हो सकते हैं यदि f(n) या तो प्रति-टेप स्पेस उपयोग देने वाला स्पेस कंस्ट्रक्टीबल टपल है, या SPACE(f(n)-ω(log(f(n))) - कुल स्पेस उपयोग देने वाली कंस्ट्रक्टीबल संख्या है (प्रत्येक टेप की लंबाई को संग्रहीत करने के लिए ओवरहेड की गिनती नहीं है)। | ||
प्रमाण स्पेस हायरार्की थ्योरम के प्रमाण के समान है, किन्तु दो | प्रमाण स्पेस हायरार्की थ्योरम के प्रमाण के समान है, किन्तु दो कॉम्प्लिकेशन के साथ: सार्वभौमिक ट्यूरिंग मशीन को स्पेस-कुशल होना चाहिए, एवं विपरीत स्पेस-कुशल होना चाहिए। कोई सामान्यतः {{tmath|O(\log(space))}} स्पेस ओवरहेड, एवं उचित धारणाओं के अंतर्गत, {{tmath|O(1)}} स्पेस ओवरहेड (जो मशीन के सिम्युलेटेड होने पर निर्भर हो सकता है) के साथ सार्वभौमिक ट्यूरिंग मशीनों का निर्माण कर सकता है। उत्क्रमण के लिए, मुख्य विषय यह है कि कैसे ज्ञात किया जाए कि सिम्युलेटेड मशीन अनंत (स्पेस-बाधित) लूप में प्रवेश करकेअस्वीकार कर देती है। केवल चरणों की संख्या गिनने से स्पेस का उपयोग लगभग {{tmath|f(n)}} बढ़ जाता है। संभावित रूप से घातीय टाइम वृद्धि की कीमत पर, लूप को स्पेस-कुशलता से निम्नानुसार ज्ञात किया जा सकता है:<ref>{{cite conference | first = Michael | last = Sipser | title = अंतरिक्ष-बद्ध संगणनाओं को रोकना| book-title = Proceedings of the 19th Annual Symposium on Foundations of Computer Science | date = 1978}}</ref> | ||
सब समाप्त करने के लिए मशीन को संशोधित करते है एवं सफल होने पर विशिष्ट कॉन्फ़िगरेशन A पर जाते है। यह निर्धारित करने के लिए डेप्थ-प्रथम शोध का उपयोग करें कि क्या A प्रारंभिक कॉन्फ़िगरेशन से बंधे | सब समाप्त करने के लिए मशीन को संशोधित करते है एवं सफल होने पर विशिष्ट कॉन्फ़िगरेशन A पर जाते है। यह निर्धारित करने के लिए डेप्थ-प्रथम शोध का उपयोग करें कि क्या A प्रारंभिक कॉन्फ़िगरेशन से बंधे स्पेस में पहुंच योग्य है। शोध A से प्रारम्भ होती है एवं उन कॉन्फ़िगरेशनों पर जाती है जो A की ओर ले जाती हैं। नियतिवाद के कारण, यह लूप में जाए बिना ही किया जा सकता है। | ||
यह भी निर्धारित किया जा सकता है कि क्या मशीन स्पेस सीमा से अधिक हो गई है (स्पेस सीमा के अंदर लूपिंग के विपरीत) सभी कॉन्फ़िगरेशन पर पुनरावृत्ति करके एवं परीक्षण करके (पुनः [[गहराई-पहली खोज|डेप्थ-प्रथम शोध]] का उपयोग करके) कि क्या प्रारंभिक कॉन्फ़िगरेशन उनमें से किसी की ओर ले जाता है। | यह भी निर्धारित किया जा सकता है कि क्या मशीन स्पेस सीमा से अधिक हो गई है (स्पेस सीमा के अंदर लूपिंग के विपरीत) सभी कॉन्फ़िगरेशन पर पुनरावृत्ति करके एवं परीक्षण करके (पुनः [[गहराई-पहली खोज|डेप्थ-प्रथम शोध]] का उपयोग करके) कि क्या प्रारंभिक कॉन्फ़िगरेशन उनमें से किसी की ओर ले जाता है। | ||
Line 80: | Line 80: | ||
\mathbb{N}</math>, के लिए जहाँ <math>f_1(n)</math>, <math>o(f_2(n))</math> है, एवं <math>f_2</math> स्पेस-कंस्ट्रक्टिबल <math>\mathsf{SPACE}(f_1(n)) \subsetneq \mathsf{SPACE}(f_2(n))</math> है, | \mathbb{N}</math>, के लिए जहाँ <math>f_1(n)</math>, <math>o(f_2(n))</math> है, एवं <math>f_2</math> स्पेस-कंस्ट्रक्टिबल <math>\mathsf{SPACE}(f_1(n)) \subsetneq \mathsf{SPACE}(f_2(n))</math> है, | ||
यह परिणाम हमें विभिन्न स्पेस समष्टिता वर्गों को भिन्न करने की सुविधा देता है। किसी भी फंक्शन <math>n^k</math> के लिए किसी भी प्राकृतिक संख्या k के लिए | यह परिणाम हमें विभिन्न स्पेस समष्टिता वर्गों को भिन्न करने की सुविधा देता है। किसी भी फंक्शन <math>n^k</math> के लिए किसी भी प्राकृतिक संख्या k के लिए स्पेस-कंस्ट्रक्टीबल है। इसलिए किन्हीं दो प्राकृत संख्याओं <math>k_1 < k_2</math> के लिए हम <math>\mathsf{SPACE}(n^{k_1}) \subsetneq \mathsf{SPACE}(n^{k_2})</math> सिद्ध कर सकते हैं। इस विचार को निम्नलिखित परिणाम में वास्तविक संख्याओं के लिए बढ़ाया जा सकता है। यह पीस्पेस वर्ग के अंदर विस्तृत हायरार्की को प्रदर्शित करता है। | ||
=== परिणाम 2 === | === परिणाम 2 === | ||
Line 93: | Line 93: | ||
==== प्रमाण ==== | ==== प्रमाण ==== | ||
सैविच का | सैविच का थ्योरम यह प्रदर्शित करता है <math>\mathsf{NL} \subseteq \mathsf{SPACE}(\log^2n)</math>, जबकि स्पेस हायरार्की थ्योरम <math>\mathsf{SPACE}(\log^2n) \subsetneq \mathsf{SPACE}(n)</math> प्रदर्शित करता है। इसका परिणाम इस तथ्य के साथ है कि TQBF ∉ NL क्योंकि टीक्यूबीएफ पीस्पेस-पूर्ण है। | ||
यह दिखाने के लिए अन्य-नियतात्मक स्पेस हायरार्की थ्योरम का उपयोग करके भी सिद्ध किया जा सकता है कि एनएल ⊊ एनपीस्पेस, और सैविच के | यह दिखाने के लिए अन्य-नियतात्मक स्पेस हायरार्की थ्योरम का उपयोग करके भी सिद्ध किया जा सकता है कि एनएल ⊊ एनपीस्पेस, और सैविच के थ्योरम का उपयोग करके यह दिखाया जा सकता है कि पीस्पेस = एनपीस्पेस होता है। | ||
=== परिणाम 4 === | === परिणाम 4 === | ||
Line 105: | Line 105: | ||
=== परिणाम 5 === | === परिणाम 5 === | ||
{{sans-serif|पीस्पेस}} में ऐसी प्रोब्लेम्स हैं जिनको सॉल्व करने के लिए | {{sans-serif|पीस्पेस}} में ऐसी प्रोब्लेम्स हैं जिनको सॉल्व करने के लिए आर्बिटरी रूप से बड़े घातांक की आवश्यकता होती है; इसलिए {{sans-serif|पीस्पेस}}, कुछ स्थिरांक k के लिए {{sans-serif|डीस्पेस}}(n<sup>k</sup>) में परिवर्तित नहीं होता है। | ||
== यह भी देखें == | == यह भी देखें == |
Revision as of 19:49, 14 September 2023
कम्प्यूटेशनल कम्प्लेक्सिटी थ्योरी में, स्पेस हायरार्की थ्योरम ऐसे सेपरेशन रिजल्ट्स हैं जो प्रदर्शित करते हैं कि डेटर्मीनिस्टिक एवं नॉन-डेटर्मीनिस्टिक दोनों मशीनें कुछ कंडीशंस के अधीन (अस्पष्ट रूप से) अधिक स्पेस में अधिक प्रोब्लेम्स को सॉल्व कर सकती हैं। उदाहरण के लिए, डेटर्मीनिस्टिक ट्यूरिंग मशीन स्पेस n की अपेक्षा स्पेस n log n में डिसिशन प्रोब्लेम्स को सॉल्व कर सकती है। टाइम के लिए कुछ सीमा तक वीकर एनलॉगस थेओरेम्स टाइम हायरार्की थेओरेम्स हैं।
हायरार्की थेओरेम्स के आधार के इंटूइशन में निहित है कि अधिक टाइम या अधिक स्पेस के साथ कंप्यूट करने की क्षमता होती है। हायरार्की थेओरेम्स का उपयोग यह प्रदर्शित करने के लिए किया जाता है कि टाइम एवं स्पेस कम्प्लेक्सिटी क्लासेज हायरार्की बनाते हैं जहां टाइटर बॉन्ड्स में अधिक रिलैक्स्ड बॉन्ड्स की अपेक्षा कम लैंग्वेजेज होती हैं। यहां स्पेस हायरार्की थ्योरम को परिभाषित एवं सिद्ध किया जाता है।
स्पेस हायरार्की थ्योरम स्पेस-कंस्ट्रक्टिबल फंक्शन्स की अवधारणा पर निर्भर करते हैं। डेटर्मीनिस्टिक एवं नॉन-डेटर्मीनिस्टिक स्पेस हायरार्की थ्योरम बताते हैं कि सभी स्पेस-कंस्ट्रक्टिबल फंक्शन्स के लिए f(n), इस प्रकार है:
- ,
जहां स्पेस का तात्पर्य डीस्पेस या एनस्पेस है, और o छोटे o नोटेशन को संदर्भित करता है।
स्टेटमेंट
औपचारिक रूप से, फंक्शन स्पेस-कंस्ट्रक्टीबल है यदि एवं वहाँ ट्यूरिंग मशीन उपस्थित है जो फंक्शन की कंप्यूट स्पेस में इनपुट के साथ प्रारंभ करते टाइम करता है, जहाँ n क्रमागत 1s की स्ट्रिंग का प्रतिनिधित्व करता है। अधिकांश सामान्य फंक्शन जिनके साथ हम कार्य करते हैं, वे स्पेस-कंस्ट्रक्टीबल हैं, जिनमें बहुपद, घातांक एवं लघुगणक सम्मिलित हैं।
प्रत्येक स्पेस-कंस्ट्रक्टीबल फंक्शन के लिए, वहाँ लैंग्वेज L उपस्थित है जो स्पेस में निर्णय लेने योग्य है किन्तु स्पेस में नहीं है।
प्रूफ
गोल ऐसी लैंग्वेज को परिभाषित करना है जिसे स्पेस में नहीं अपितु में निश्चित किया जा सकता है। लैंग्वेज को L के रूप में परिभाषित किया गया है,
किसी भी मशीन M के लिए जो स्पेस में लैंग्वेज सुनिश्चित करता है, L M की लैंग्वेज से कम से कम स्पेस पर भिन्न होगा, अर्थात्, कुछ बड़े पर्याप्त k के लिए, M स्पेस का उपयोग करेगा on और इसलिए इसके मूल्य में भिन्नता होगी।
दूसरी ओर, L, में है। लैंग्वेज L सुनिश्चित करने के लिए एल्गोरिदम इस प्रकार है:
- इनपुट x पर, स्पेस-निर्माणशीलता का उपयोग और मार्क ऑफ करके कंप्यूट की जाती है, एवं टेप की सेल को चिह्नित किया जाता है, जब भी इससे अधिक प्रयोग करने का प्रयास किया जाता है तो सेल इसे अस्वीकार कर देती है।
- यदि x, का स्वरूप नहीं है, तो कुछ TM के लिए M, अस्वीकार किया जाता है।
- अधिक से अधिक इनपुट x पर M का अनुकरण करता है, चरण ( स्पेस का उपयोग करके) है। यदि सिमुलेशन स्पेस से अधिक या उससे अधिक ऑपरेशन का उपयोग करने का प्रयास करता है तो इसे अस्वीकार कर दिया जाता है।
- यदि इस अनुकरण के टाइम M ने x को स्वीकार कर लिया है, तो इसे अस्वीकार अन्यथा स्वीकार कर लिया जाता है।
चरण 3 पर ध्यान दें: निष्पादन यहीं तक सीमित है, उस स्थिति से बचने के लिए चरण जहां M इनपुट x पर नहीं रुकता है। अर्थात्, वह स्थिति जहाँ M केवल स्थान का उपभोग करता है। आवश्यकतानुसार, किन्तु अनंत टाइम तक उपयोग होता है।
उपरोक्त प्रमाण पीस्पेस की स्थिति में मान्य है, किन्तु एनपीस्पेस की स्थिति में कुछ परिवर्तन करने की आवश्यकता है। महत्वपूर्ण बिंदु यह है कि नियतात्मक TM पर, स्वीकृति एवं अस्वीकृति को विपरीत किया जा सकता है (चरण 4 के लिए महत्वपूर्ण), अन्य-नियतात्मक मशीन पर यह संभव नहीं है।
एनपीस्पेस की स्थिति में, L को पुनः परिभाषित करने की आवश्यकता है:
अब, चरण 4 को संशोधित करके L को स्वीकार करने के लिए एल्गोरिदम को परिवर्तित करने की आवश्यकता है:
- यदि इस अनुकरण के टाइम M ने x को स्वीकार कर लिया है, तो स्वीकार करें; अन्यथा, अस्वीकार करें।
L का उपयोग TM द्वारा का उपयोग नहीं किया जा सकता है। यह मानते हुए कि L का निर्णय कुछ TM M उपयोग करके किया जा सकता है सेल एवं इमरमैन-स्ज़ेलेपीसीसेनी थ्योरम का अनुसरण करते हुए, को TM (जिसे कहा जाता है) द्वारा सेल का उपयोग करके भी निर्धारित किया जा सकता है। यहाँ विरोधाभास है, इसलिए धारणा असत्य होनी चाहिए:
- यदि (कुछ बड़े पर्याप्त k के लिए) में नहीं है इसलिए M इसे स्वीकार करेगा, इसलिए w को अस्वीकार करता है, इसलिए w में है (विरोधाभास)।
- यदि (कुछ बड़े पर्याप्त k के लिए) में है इसलिए M इसे अस्वीकार कर देगा w को स्वीकार करता है, इसलिए w, में नहीं है (विरोधाभास)।
कम्पेरिज़न और इम्प्रोवेमेन्ट्स
स्पेस हायरार्की थ्योरम कई विषयों में अनुरूप टाइम हायरार्की थेओरेम्स से अधिक सशक्त है:
- इसके लिए केवल s(n) को कम से कम n के अतिरिक्त कम से कम log n होना आवश्यक है।
- यह किसी भी स्पर्शोन्मुख अंतर के साथ वर्गों को भिन्न कर सकता है, जबकि टाइम हायरार्की थ्योरम के लिए उन्हें लोगरिथम फैक्टर द्वारा भिन्न करने की आवश्यकता होती है।
- इसके लिए फंक्शन को टाइम-कंस्ट्रक्टीबल नहीं अपितु स्पेस-कंस्ट्रक्टीबल होना आवश्यक है।
टाइम की अपेक्षा में स्पेस में वर्गों को भिन्न करना सरल लगता है। वास्तव में, जबकि टाइम हायरार्की थ्योरम ने अपनी स्थापना के पश्चात से उल्लेखनीय सुधार देखा है, नॉन डिटरमिनिस्टिक स्पेस हायरार्की थ्योरम में कम से कम महत्वपूर्ण सुधार देखा गया है जिसे विलियम गेफ़र्ट ने अपने 2003 के पेपर स्पेस हायरार्की थ्योरम में संशोधित किया है। इस पेपर ने थ्योरम के कई सामान्यीकरण किये है:
- यह स्पेस-निर्माण योग्यता की आवश्यकता को शिथिल करता है। केवल संघ वर्गों एवं को भिन्न करने के अतिरिक्त यह से को भिन्न करता है, जहाँ आर्बिटरी है फंक्शन एवं g(n) कंप्यूट योग्य फंक्शन है। इन फंक्शन को स्पेस-कंस्ट्रक्टीबल या मोनोटोन बढ़ाने की आवश्यकता नहीं है।
- यह यूनरी लैंग्वेज या टैली लैंग्वेज की पहचान करता है, जो वर्ग में है किन्तु दूसरे में नहीं है। मूल थ्योरम में, भिन्न करने वाली लैंग्वेज आर्बिटरी थी।
- इसकी आवश्यकता नहीं है, कम से कम log n होना चाहिए; यह कोई भी अन्य-नियतात्मक रूप से पूर्णतः स्पेस-कंस्ट्रक्टीबल कार्य हो सकता है।
रिफाइनमेंट स्पेस हायरार्की
यदि स्पेस को वर्णमाला के आकार पर विचार किए बिना उपयोग की गई सेल की संख्या के रूप में मापा जाता है, तो होता है, क्योंकि कोई भी बड़े वर्णमाला पर स्विच करके किसी भी रैखिक कम्प्रेशन को प्राप्त कर सकता है। चूँकि, बिट्स में स्पेस को मापने से, नियतात्मक स्पेस के लिए अधिक तीव्र पृथक्करण प्राप्त किया जा सकता है। गुणात्मक स्थिरांक तक परिभाषित होने के अतिरिक्त, स्पेस को अब योगात्मक स्थिरांक तक परिभाषित किया गया है। चूँकि, क्योंकि एक्सटर्नल स्पेस की किसी भी स्थिर मात्रा को कंटेंट्स को आंतरिक स्थिति में संग्रहीत करके बचाया जा सकता है, हमारे पास अभी भी है।
मान लें कि f स्पेस-कंस्ट्रक्टीबल है। स्पेस निर्धारणात्मक है।
- ट्यूरिंग मशीनों सहित अनुक्रमिक कम्प्यूटेशनल मॉडल की विस्तृत विविधता के लिए, SPACE(f(n)-Big O Notation|ω(log(f(n)+n))) ⊊ SPACE(f(n)) है। यह तब भी मान्य है जब SPACE(f(n)-ω(log(f(n)+n))) को से किसी भिन्न कम्प्यूटेशनल मॉडल का उपयोग करके परिभाषित किया गया हो क्योंकि विभिन्न मॉडल स्पेस के साथ दूसरे का अनुकरण कर सकते हैं।
- कुछ कम्प्यूटेशनल मॉडल के लिए, हमारे पास SPACE(f(n)-ω(1)) ⊊ SPACE(f(n)) भी है। विशेष रूप से, यह ट्यूरिंग मशीनों के लिए प्रस्तावित होता है यदि हम वर्णमाला, इनपुट टेप पर हेड्स की संख्या, वर्कटेप पर हेड्स की संख्या (वर्कटेप का उपयोग करके) को उचित बनाते हैं, एवं वर्कटेप के विज़िट किए गए भाग के लिए सीमांकक जोड़ते हैं (जिसे स्पेस उपयोग में वृद्धि के बिना चेक किया जा सकता है)। SPACE(f(n)) इस विषय पर निर्भर नहीं करता है कि वर्कटेप अनंत है या अर्ध-अनंत है। हमारे पास निश्चित संख्या में वर्कटेप भी हो सकते हैं यदि f(n) या तो प्रति-टेप स्पेस उपयोग देने वाला स्पेस कंस्ट्रक्टीबल टपल है, या SPACE(f(n)-ω(log(f(n))) - कुल स्पेस उपयोग देने वाली कंस्ट्रक्टीबल संख्या है (प्रत्येक टेप की लंबाई को संग्रहीत करने के लिए ओवरहेड की गिनती नहीं है)।
प्रमाण स्पेस हायरार्की थ्योरम के प्रमाण के समान है, किन्तु दो कॉम्प्लिकेशन के साथ: सार्वभौमिक ट्यूरिंग मशीन को स्पेस-कुशल होना चाहिए, एवं विपरीत स्पेस-कुशल होना चाहिए। कोई सामान्यतः स्पेस ओवरहेड, एवं उचित धारणाओं के अंतर्गत, स्पेस ओवरहेड (जो मशीन के सिम्युलेटेड होने पर निर्भर हो सकता है) के साथ सार्वभौमिक ट्यूरिंग मशीनों का निर्माण कर सकता है। उत्क्रमण के लिए, मुख्य विषय यह है कि कैसे ज्ञात किया जाए कि सिम्युलेटेड मशीन अनंत (स्पेस-बाधित) लूप में प्रवेश करकेअस्वीकार कर देती है। केवल चरणों की संख्या गिनने से स्पेस का उपयोग लगभग बढ़ जाता है। संभावित रूप से घातीय टाइम वृद्धि की कीमत पर, लूप को स्पेस-कुशलता से निम्नानुसार ज्ञात किया जा सकता है:[1]
सब समाप्त करने के लिए मशीन को संशोधित करते है एवं सफल होने पर विशिष्ट कॉन्फ़िगरेशन A पर जाते है। यह निर्धारित करने के लिए डेप्थ-प्रथम शोध का उपयोग करें कि क्या A प्रारंभिक कॉन्फ़िगरेशन से बंधे स्पेस में पहुंच योग्य है। शोध A से प्रारम्भ होती है एवं उन कॉन्फ़िगरेशनों पर जाती है जो A की ओर ले जाती हैं। नियतिवाद के कारण, यह लूप में जाए बिना ही किया जा सकता है।
यह भी निर्धारित किया जा सकता है कि क्या मशीन स्पेस सीमा से अधिक हो गई है (स्पेस सीमा के अंदर लूपिंग के विपरीत) सभी कॉन्फ़िगरेशन पर पुनरावृत्ति करके एवं परीक्षण करके (पुनः डेप्थ-प्रथम शोध का उपयोग करके) कि क्या प्रारंभिक कॉन्फ़िगरेशन उनमें से किसी की ओर ले जाता है।
परिणाम
परिणाम 1
किन्हीं दो फंक्शन , , के लिए जहाँ , है, एवं स्पेस-कंस्ट्रक्टिबल है,
यह परिणाम हमें विभिन्न स्पेस समष्टिता वर्गों को भिन्न करने की सुविधा देता है। किसी भी फंक्शन के लिए किसी भी प्राकृतिक संख्या k के लिए स्पेस-कंस्ट्रक्टीबल है। इसलिए किन्हीं दो प्राकृत संख्याओं के लिए हम सिद्ध कर सकते हैं। इस विचार को निम्नलिखित परिणाम में वास्तविक संख्याओं के लिए बढ़ाया जा सकता है। यह पीस्पेस वर्ग के अंदर विस्तृत हायरार्की को प्रदर्शित करता है।
परिणाम 2
किन्हीं दो अऋणात्मक वास्तविक संख्याओं के लिए है।
परिणाम 3
प्रमाण
सैविच का थ्योरम यह प्रदर्शित करता है , जबकि स्पेस हायरार्की थ्योरम प्रदर्शित करता है। इसका परिणाम इस तथ्य के साथ है कि TQBF ∉ NL क्योंकि टीक्यूबीएफ पीस्पेस-पूर्ण है।
यह दिखाने के लिए अन्य-नियतात्मक स्पेस हायरार्की थ्योरम का उपयोग करके भी सिद्ध किया जा सकता है कि एनएल ⊊ एनपीस्पेस, और सैविच के थ्योरम का उपयोग करके यह दिखाया जा सकता है कि पीस्पेस = एनपीस्पेस होता है।
परिणाम 4
- PSPACE ⊊ EXPSPACE
यह अंतिम परिणाम उन डीसीडबल प्रोब्लेम्स के अस्तित्व को प्रदर्शित करता है जो कठिन हैं। दूसरे शब्दों में, उनके डिसिशन प्रोसीजर को पोलीनोमिअल स्पेस से अधिक उपयोग करना चाहिए।
परिणाम 5
पीस्पेस में ऐसी प्रोब्लेम्स हैं जिनको सॉल्व करने के लिए आर्बिटरी रूप से बड़े घातांक की आवश्यकता होती है; इसलिए पीस्पेस, कुछ स्थिरांक k के लिए डीस्पेस(nk) में परिवर्तित नहीं होता है।
यह भी देखें
- टाइम हायरार्की थ्योरम
संदर्भ
- ↑ Sipser, Michael (1978). "अंतरिक्ष-बद्ध संगणनाओं को रोकना". Proceedings of the 19th Annual Symposium on Foundations of Computer Science.
- Arora, Sanjeev; Barak, Boaz (2009). Computational complexity. A modern approach. Cambridge University Press. ISBN 978-0-521-42426-4. Zbl 1193.68112.
- Luca Trevisan. Notes on Hierarchy Theorems. Handout 7. CS172: Automata, Computability and Complexity. U.C. Berkeley. April 26, 2004.
- Viliam Geffert. Space hierarchy theorem revised. Theoretical Computer Science, volume 295, number 1–3, p. 171-187. February 24, 2003.
- Sipser, Michael (1997). Introduction to the Theory of Computation. PWS Publishing. ISBN 0-534-94728-X. Pages 306–310 of section 9.1: Hierarchy theorems.
- Papadimitriou, Christos (1993). Computational Complexity (1st ed.). Addison Wesley. ISBN 0-201-53082-1. Section 7.2: The Hierarchy Theorem, pp. 143–146.