समष्टि पदानुक्रम प्रमेय: Difference between revisions

From Vigyanwiki
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'' लॉग ''n'' में अधिक [[निर्णय समस्या|निर्णय समस्याओं]] का निवारण कर सकती है। समय के लिए सीमा तक शक्तिहीन अनुरूप प्रमेय [[समय पदानुक्रम प्रमेय]] हैं।
{{short description|Both deterministic and nondeterministic machines can solve more problems given more space}}[[कम्प्यूटेशनल जटिलता सिद्धांत|कम्प्यूटेशनल समष्टिता सिद्धांत]] में, स्पेस पदानुक्रम प्रमेय पृथक्करण परिणाम हैं जो प्रदर्शित करते हैं कि नियतात्मक एवं अन्य-नियतात्मक दोनों मशीनें कुछ प्रतिबंधों के अधीन (अस्पष्ट रूप से) अधिक समष्टि में अधिक समस्याओं का निवारण कर सकती हैं। उदाहरण के लिए, [[नियतात्मक ट्यूरिंग मशीन]] स्पेस ''n'' की अपेक्षा में स्पेस ''n'' लॉग ''n'' में अधिक [[निर्णय समस्या|निर्णय समस्याओं]] का निवारण कर सकती है। समय के लिए सीमा तक शक्तिहीन अनुरूप प्रमेय [[समय पदानुक्रम प्रमेय]] हैं।


पदानुक्रम प्रमेयों की नींव अंतर्ज्ञान में निहित है कि या तो अधिक समय या अधिक समष्टि के साथ अधिक गणना करने की क्षमता आती है। पदानुक्रम प्रमेयों का प्रयोग यह प्रदर्शित करने के लिए किया जाता है कि समय एवं स्थान समष्टिता वर्ग पदानुक्रम बनाते हैं जहां कठिन सीमाओं वाली वर्गों में अधिक शिथिल सीमा वाले वर्गों की अपेक्षा में कम भाषाएं होती हैं। यहां स्पेस पदानुक्रम प्रमेय को परिभाषित एवं सिद्ध करते हैं।
पदानुक्रम प्रमेयों की नींव अंतर्ज्ञान में निहित है कि या तो अधिक समय या अधिक समष्टि के साथ अधिक गणना करने की क्षमता आती है। पदानुक्रम प्रमेयों का प्रयोग यह प्रदर्शित करने के लिए किया जाता है कि समय एवं स्थान समष्टिता वर्ग पदानुक्रम बनाते हैं जहां कठिन सीमाओं वाली वर्गों में अधिक शिथिल सीमा वाले वर्गों की अपेक्षा में कम लैंग्वेजएं होती हैं। यहां स्पेस पदानुक्रम प्रमेय को परिभाषित एवं सिद्ध करते हैं।


स्पेस पदानुक्रम प्रमेय [[अंतरिक्ष-निर्माण योग्य कार्य|स्पेस-निर्माण योग्य कार्य]]ों की अवधारणा पर निर्भर करते हैं। नियतात्मक एवं गैर-नियतात्मक स्पेस पदानुक्रम प्रमेय बताते हैं कि सभी स्पेस-निर्माण योग्य कार्यों के लिए ''f''(''n''),
स्पेस पदानुक्रम प्रमेय [[अंतरिक्ष-निर्माण योग्य कार्य|स्पेस-निर्माण योग्य कार्य]]ों की अवधारणा पर निर्भर करते हैं। नियतात्मक एवं अन्य-नियतात्मक स्पेस पदानुक्रम प्रमेय बताते हैं कि सभी स्पेस-निर्माण योग्य कार्यों के लिए ''f''(''n''),


:<math>\mathsf{SPACE}\left(o(f(n))\right) \subsetneq \mathsf{SPACE}(f(n))</math>,
:<math>\mathsf{SPACE}\left(o(f(n))\right) \subsetneq \mathsf{SPACE}(f(n))</math>,
जहां SPACE का मतलब [[DSPACE]] या [[NSPACE]] है, एवं {{mvar|o}} छोटे नोटेशन को संदर्भित करता है।
जहां SPACE का तात्पर्य [[DSPACE]] या [[NSPACE]] है, एवं {{mvar|o}} छोटे o नोटेशन को संदर्भित करता है।


== कथन ==
== कथन ==


औपचारिक रूप से,  समारोह <math>f:\mathbb{N} \longrightarrow \mathbb{N}</math> यदि स्पेस-निर्माण योग्य है <math>f(n) \ge \log~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(n)</math> स्पेस में <math>O(f(n))</math> प्रारंभ करते समय
इनपुट के साथ <math>1^n</math>, कहाँ <math>1^n</math> n क्रमागत 1s की स्ट्रिंग का प्रतिनिधित्व करता है। अधिकांश सामान्य फ़ंक्शन जिनके साथ हम काम करते हैं, वे स्पेस-निर्माण योग्य हैं, जिनमें बहुपद, घातांक एवं लघुगणक शामिल हैं।


प्रत्येक समष्टि-निर्माण योग्य फ़ंक्शन के लिए <math>f:\mathbb{N} \longrightarrow
प्रत्येक समष्टि-निर्माण योग्य फलन <math>f:\mathbb{N} \longrightarrow
\mathbb{N}</math>, वहाँ भाषा मौजूद है {{mvar|L}} जो स्पेस में निर्णय लेने योग्य है
\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>.


== प्रमाण ==
== प्रमाण ==


लक्ष्य ऐसी भाषा को परिभाषित करना है जिसे स्पेस में तय किया जा सके <math>O(f(n))</math> लेकिन जगह नहीं <math>o(f(n))</math>. भाषा को इस प्रकार परिभाषित किया गया है {{mvar|L}}:
लक्ष्य ऐसी लैंग्वेज को परिभाषित करना है जिसे स्पेस <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,
<ब्लॉककोट>
<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|k}}, {{mvar|M}} समष्टि का उपयोग करेगा <math>\le f(|\langle M \rangle, 10^k|)</Math> on <math>(\langle M \rangle, 10^k)</Math> and will therefore differ at its value.
किसी भी मशीन के लिए {{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> and will therefore differ at its value.


On the other hand, {{mvar|L}} is in <math>\mathsf{SPACE}(f(n))</math>. भाषा तय करने के लिए एल्गोरिदम {{mvar|L}} इस प्रकार है:
On the other hand, {{mvar|L}} is in <math>\mathsf{SPACE}(f(n))</math>. लैंग्वेज सुनिश्चित करने के लिए एल्गोरिदम {{mvar|L}} इस प्रकार है:


# इनपुट पर {{mvar|x}}, गणना करें <math>f(|x|)</math> स्पेस-निर्माणशीलता का उपयोग करना, एवं चिह्नित करना <math>f(|x|)</math> टेप की कोशिकाएँ. जब भी इससे अधिक प्रयोग करने का प्रयास किया जाता है <math>f(|x|)</math> कोशिकाएँ, अस्वीकार करें।
# इनपुट पर {{mvar|x}}, गणना करें <math>f(|x|)</math> स्पेस-निर्माणशीलता का उपयोग करना, एवं चिह्नित करना <math>f(|x|)</math> टेप की कोशिकाएँ. जब भी इससे अधिक प्रयोग करने का प्रयास किया जाता है <math>f(|x|)</math> कोशिकाएँ, अस्वीकार करें।
Line 35: Line 29:
# अगर {{mvar|M}} को स्वीकृत {{mvar|x}} इस अनुकरण के दौरान, फिर अस्वीकार करें; अन्यथा, स्वीकार करें.
# अगर {{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> आवश्यकतानुसार, किन्तु अनंत समय तक चलता है।


उपरोक्त प्रमाण PSPACE के मामले में मान्य है, लेकिन NPSPACE के मामले में कुछ बदलाव करने की आवश्यकता है। महत्वपूर्ण बिंदु यह है कि  नियतात्मक टीएम पर, स्वीकृति एवं अस्वीकृति को उलटा किया जा सकता है (चरण 4 के लिए महत्वपूर्ण),  गैर-नियतात्मक मशीन पर यह संभव नहीं है।<br>
उपरोक्त प्रमाण PSPACE के मामले में मान्य है, किन्तु NPSPACE के मामले में कुछ बदलाव करने की आवश्यकता है। महत्वपूर्ण बिंदु यह है कि  नियतात्मक टीएम पर, स्वीकृति एवं अस्वीकृति को उलटा किया जा सकता है (चरण 4 के लिए महत्वपूर्ण),  अन्य-नियतात्मक मशीन पर यह संभव नहीं है।<br>


एनपीस्पेस के मामले के लिए, {{mvar|L}} को पहले पुनः परिभाषित करने की आवश्यकता है:
एनपीस्पेस के मामले के लिए, {{mvar|L}} को पहले पुनः परिभाषित करने की आवश्यकता है:
Line 47: Line 41:
* अगर {{mvar|M}} को स्वीकृत {{mvar|x}} इस अनुकरण के दौरान, फिर स्वीकार करें; अन्यथा, अस्वीकार करें.
* अगर {{mvar|M}} को स्वीकृत {{mvar|x}} इस अनुकरण के दौरान, फिर स्वीकार करें; अन्यथा, अस्वीकार करें.


{{mvar|L}} का उपयोग टीएम द्वारा तय नहीं किया जा सकता <math>o(f(n))</math> कोशिकाएं. यह मानते हुए {{mvar|L}} कुछ टीएम द्वारा निर्णय लिया जा सकता है {{mvar|M}} का उपयोग करना <math>o(f(n))</math> कोशिकाएँ, एवं इमरमैन-स्ज़ेलेपीसीसेनी प्रमेय का अनुसरण करते हुए, <math>\overline L</math> इसे टीएम (जिसे कहा जाता है) द्वारा भी निर्धारित किया जा सकता है <math>\overline M</math>) का उपयोग करना <math>o(f(n))</math> कोशिकाएं. यहाँ विरोधाभास है, इसलिए धारणा झूठी होनी चाहिए:
{{mvar|L}} का उपयोग टीएम द्वारा सुनिश्चित नहीं किया जा सकता <math>o(f(n))</math> कोशिकाएं. यह मानते हुए {{mvar|L}} कुछ टीएम द्वारा निर्णय लिया जा सकता है {{mvar|M}} का उपयोग करना <math>o(f(n))</math> कोशिकाएँ, एवं इमरमैन-स्ज़ेलेपीसीसेनी प्रमेय का अनुसरण करते हुए, <math>\overline L</math> इसे टीएम (जिसे कहा जाता है) द्वारा भी निर्धारित किया जा सकता है <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 56: Line 50:
* इसके लिए केवल s(n) को कम से कम n के बजाय कम से कम लॉग n होना आवश्यक है।
* इसके लिए केवल s(n) को कम से कम n के बजाय कम से कम लॉग n होना आवश्यक है।
* यह किसी भी स्पर्शोन्मुख अंतर के साथ वर्गों को अलग कर सकता है, जबकि समय पदानुक्रम प्रमेय के लिए उन्हें लघुगणकीय कारक द्वारा अलग करने की आवश्यकता होती है।
* यह किसी भी स्पर्शोन्मुख अंतर के साथ वर्गों को अलग कर सकता है, जबकि समय पदानुक्रम प्रमेय के लिए उन्हें लघुगणकीय कारक द्वारा अलग करने की आवश्यकता होती है।
* इसके लिए केवल फ़ंक्शन को समष्टि-निर्माण योग्य होना आवश्यक है, समय-निर्माण योग्य नहीं।
* इसके लिए केवल फलन को समष्टि-निर्माण योग्य होना आवश्यक है, समय-निर्माण योग्य नहीं।


समय की अपेक्षा में स्पेस में कक्षाओं को अलग करना आसान लगता है। वास्तव में, जबकि समय पदानुक्रम प्रमेय ने अपनी स्थापना के बाद से थोड़ा उल्लेखनीय सुधार देखा है, गैर-नियतात्मक स्पेस पदानुक्रम प्रमेय में कम से कम  महत्वपूर्ण सुधार देखा गया है जिसे [[ विलियम गेफ़र्ट ]] ने अपने 2003 के पेपर स्पेस पदानुक्रम प्रमेय में संशोधित किया है। इस पेपर ने प्रमेय के कई सामान्यीकरण किये:
समय की अपेक्षा में स्पेस में कक्षाओं को अलग करना आसान लगता है। वास्तव में, जबकि समय पदानुक्रम प्रमेय ने अपनी स्थापना के बाद से थोड़ा उल्लेखनीय सुधार देखा है, अन्य-नियतात्मक स्पेस पदानुक्रम प्रमेय में कम से कम  महत्वपूर्ण सुधार देखा गया है जिसे [[ विलियम गेफ़र्ट ]] ने अपने 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|O(s(n))}} फ़ंक्शन एवं g(n)  गणना योग्य फ़ंक्शन है {{tmath|o(s(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)}} कम से कम लॉग एन होना; यह कोई भी गैर-नियतात्मक रूप से पूर्णतः स्पेस-निर्माण योग्य कार्य हो सकता है।
* इसकी आवश्यकता नहीं है {{tmath|s(n)}} कम से कम लॉग एन होना; यह कोई भी अन्य-नियतात्मक रूप से पूर्णतः स्पेस-निर्माण योग्य कार्य हो सकता है।


==स्पेस पदानुक्रम का परिशोधन==
==स्पेस पदानुक्रम का परिशोधन==
Line 72: Line 66:
* कुछ कम्प्यूटेशनल मॉडल के लिए, हमारे पास SPACE(f(n)-ω(1)) ⊊ SPACE(f(n)) भी है। विशेष रूप से, यह ट्यूरिंग मशीनों के लिए लागू होता है यदि हम वर्णमाला, इनपुट टेप पर हेड्स की संख्या, वर्कटेप पर हेड्स की संख्या (ल वर्कटेप का उपयोग करके) को ठीक करते हैं, एवं वर्कटेप के विज़िट किए गए हिस्से के लिए सीमांकक जोड़ते हैं (जिसे स्पेस उपयोग में वृद्धि के बिना चेक किया जा सकता है)। SPACE(f(n)) इस बात पर निर्भर नहीं करता है कि वर्कटेप अनंत है या अर्ध-अनंत। हमारे पास निश्चित संख्या में वर्कटेप भी हो सकते हैं यदि f(n) या तो प्रति-टेप स्पेस उपयोग देने वाला  SPACE रचनात्मक टपल है, या  SPACE(f(n)-ω(log(f(n))) - कुल स्पेस उपयोग देने वाली रचनात्मक संख्या है (प्रत्येक टेप की लंबाई को संग्रहीत करने के लिए ओवरहेड की गिनती नहीं)।
* कुछ कम्प्यूटेशनल मॉडल के लिए, हमारे पास SPACE(f(n)-ω(1)) ⊊ SPACE(f(n)) भी है। विशेष रूप से, यह ट्यूरिंग मशीनों के लिए लागू होता है यदि हम वर्णमाला, इनपुट टेप पर हेड्स की संख्या, वर्कटेप पर हेड्स की संख्या (ल वर्कटेप का उपयोग करके) को ठीक करते हैं, एवं वर्कटेप के विज़िट किए गए हिस्से के लिए सीमांकक जोड़ते हैं (जिसे स्पेस उपयोग में वृद्धि के बिना चेक किया जा सकता है)। SPACE(f(n)) इस बात पर निर्भर नहीं करता है कि वर्कटेप अनंत है या अर्ध-अनंत। हमारे पास निश्चित संख्या में वर्कटेप भी हो सकते हैं यदि f(n) या तो प्रति-टेप स्पेस उपयोग देने वाला  SPACE रचनात्मक टपल है, या  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>
प्रमाण स्पेस पदानुक्रम प्रमेय के प्रमाण के समान है, किन्तु दो समष्टिताओं के साथ: सार्वभौमिक ट्यूरिंग मशीन को स्पेस-कुशल होना चाहिए, एवं उलटा समष्टि-कुशल होना चाहिए। कोई आम तौर पर सार्वभौमिक ट्यूरिंग मशीनों का निर्माण कर सकता है {{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>
सब कुछ मिटाने के लिए मशीन को संशोधित करें एवं सफल होने पर  विशिष्ट कॉन्फ़िगरेशन ए पर जाएं। यह निर्धारित करने के लिए गहराई-प्रथम खोज का उपयोग करें कि क्या ए प्रारंभिक कॉन्फ़िगरेशन से बंधे समष्टि में पहुंच योग्य है। खोज ए से शुरू होती है एवं उन कॉन्फ़िगरेशनों पर जाती है जो ए की ओर ले जाती हैं। नियतिवाद के कारण, यह  लूप में जाए बिना ही किया जा सकता है।
सब कुछ मिटाने के लिए मशीन को संशोधित करें एवं सफल होने पर  विशिष्ट कॉन्फ़िगरेशन ए पर जाएं। यह निर्धारित करने के लिए गहराई-प्रथम खोज का उपयोग करें कि क्या ए प्रारंभिक कॉन्फ़िगरेशन से बंधे समष्टि में पहुंच योग्य है। खोज ए से शुरू होती है एवं उन कॉन्फ़िगरेशनों पर जाती है जो ए की ओर ले जाती हैं। नियतिवाद के कारण, यह  लूप में जाए बिना ही किया जा सकता है।


Line 82: Line 76:


किन्हीं दो कार्यों के लिए <math>f_1</math>, <math>f_2: \mathbb{N} \longrightarrow
किन्हीं दो कार्यों के लिए <math>f_1</math>, <math>f_2: \mathbb{N} \longrightarrow
\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> किसी भी प्राकृतिक के लिए समष्टि-निर्माण योग्य है
किसी भी फंक्शन के लिए <math>n^k</math> किसी भी प्राकृतिक के लिए समष्टि-निर्माण योग्य है
संख्या क. इसलिए किन्हीं दो प्राकृत संख्याओं के लिए <math>k_1 < k_2</math> हम कर सकते हैं
संख्या क. इसलिए किन्हीं दो प्राकृत संख्याओं के लिए <math>k_1 < k_2</math> हम कर सकते हैं
सिद्ध करना <math>\mathsf{SPACE}(n^{k_1}) \subsetneq \mathsf{SPACE}(n^{k_2})</math>. इस विचार को निम्नलिखित परिणाम में वास्तविक संख्याओं के लिए बढ़ाया जा सकता है। यह PSPACE वर्ग के भीतर विस्तृत पदानुक्रम को प्रदर्शित करता है।
सिद्ध करना <math>\mathsf{SPACE}(n^{k_1}) \subsetneq \mathsf{SPACE}(n^{k_2})</math>. इस विचार को निम्नलिखित परिणाम में वास्तविक संख्याओं के लिए बढ़ाया जा सकता है। यह PSPACE वर्ग के भीतर विस्तृत पदानुक्रम को प्रदर्शित करता है।
Line 103: Line 97:
चूँकि TQBF PSPACE-पूर्ण है।
चूँकि TQBF PSPACE-पूर्ण है।


यह दिखाने के लिए गैर-नियतात्मक स्पेस पदानुक्रम प्रमेय का उपयोग करके भी सिद्ध किया जा सकता है कि एनएल ⊊ एनपीपीएसीई, एवं सैविच के प्रमेय का उपयोग करके यह दिखाया जा सकता है कि पीएसपीएसीई = एनपीपीएसीई।
यह दिखाने के लिए अन्य-नियतात्मक स्पेस पदानुक्रम प्रमेय का उपयोग करके भी सिद्ध किया जा सकता है कि एनएल ⊊ एनपीपीएसीई, एवं सैविच के प्रमेय का उपयोग करके यह दिखाया जा सकता है कि पीएसपीएसीई = एनपीपीएसीई।


=== परिणाम 4 ===
=== परिणाम 4 ===

Revision as of 16:21, 6 August 2023

कम्प्यूटेशनल समष्टिता सिद्धांत में, स्पेस पदानुक्रम प्रमेय पृथक्करण परिणाम हैं जो प्रदर्शित करते हैं कि नियतात्मक एवं अन्य-नियतात्मक दोनों मशीनें कुछ प्रतिबंधों के अधीन (अस्पष्ट रूप से) अधिक समष्टि में अधिक समस्याओं का निवारण कर सकती हैं। उदाहरण के लिए, नियतात्मक ट्यूरिंग मशीन स्पेस n की अपेक्षा में स्पेस n लॉग n में अधिक निर्णय समस्याओं का निवारण कर सकती है। समय के लिए सीमा तक शक्तिहीन अनुरूप प्रमेय समय पदानुक्रम प्रमेय हैं।

पदानुक्रम प्रमेयों की नींव अंतर्ज्ञान में निहित है कि या तो अधिक समय या अधिक समष्टि के साथ अधिक गणना करने की क्षमता आती है। पदानुक्रम प्रमेयों का प्रयोग यह प्रदर्शित करने के लिए किया जाता है कि समय एवं स्थान समष्टिता वर्ग पदानुक्रम बनाते हैं जहां कठिन सीमाओं वाली वर्गों में अधिक शिथिल सीमा वाले वर्गों की अपेक्षा में कम लैंग्वेजएं होती हैं। यहां स्पेस पदानुक्रम प्रमेय को परिभाषित एवं सिद्ध करते हैं।

स्पेस पदानुक्रम प्रमेय स्पेस-निर्माण योग्य कार्यों की अवधारणा पर निर्भर करते हैं। नियतात्मक एवं अन्य-नियतात्मक स्पेस पदानुक्रम प्रमेय बताते हैं कि सभी स्पेस-निर्माण योग्य कार्यों के लिए f(n),

,

जहां SPACE का तात्पर्य DSPACE या NSPACE है, एवं o छोटे o नोटेशन को संदर्भित करता है।

कथन

औपचारिक रूप से, फंक्शन स्पेस-निर्माण योग्य है यदि एवं वहाँ ट्यूरिंग मशीन उपस्थित है जो फलन की गणना करता है स्पेस में इनपुट के साथ प्रारंभ करते समय करता है, जहाँ n क्रमागत 1s की स्ट्रिंग का प्रतिनिधित्व करता है। अधिकांश सामान्य फलन जिनके साथ हम कार्य करते हैं, वे स्पेस-निर्माण योग्य हैं, जिनमें बहुपद, घातांक एवं लघुगणक सम्मिलित हैं।

प्रत्येक समष्टि-निर्माण योग्य फलन के लिए, वहाँ लैंग्वेज L उपस्थित है जो स्पेस में निर्णय लेने योग्य है किन्तु स्पेस में नहीं है।

प्रमाण

लक्ष्य ऐसी लैंग्वेज को परिभाषित करना है जिसे स्पेस में नहीं अपितु में निश्चित किया जा सकता है। लैंग्वेज को इस प्रकार L के रूप में परिभाषित किया गया है,

किसी भी मशीन के लिए M जो स्पेस में लैंग्वेज सुनिश्चित करता है, L की लैंग्वेज से कम से कम एक समष्टि पर M से भिन्न होगा अर्थात्, कुछ बड़े वर्गों के लिए k, M समष्टि का उपयोग करेगा on and will therefore differ at its value.

On the other hand, L is in . लैंग्वेज सुनिश्चित करने के लिए एल्गोरिदम L इस प्रकार है:

  1. इनपुट पर x, गणना करें स्पेस-निर्माणशीलता का उपयोग करना, एवं चिह्नित करना टेप की कोशिकाएँ. जब भी इससे अधिक प्रयोग करने का प्रयास किया जाता है कोशिकाएँ, अस्वीकार करें।
  2. अगर x रूप का नहीं है कुछ टीएम के लिए M, अस्वीकार करना।
  3. अनुकरण करें M इनपुट पर x अधिक से अधिक के लिए चरण (उपयोग करके) स्पेस)। यदि सिमुलेशन से अधिक का उपयोग करने का प्रयास करता है समष्टि या उससे अधिक संचालन, फिर अस्वीकार करें।
  4. अगर M को स्वीकृत x इस अनुकरण के दौरान, फिर अस्वीकार करें; अन्यथा, स्वीकार करें.

चरण 3 पर ध्यान दें: निष्पादन यहीं तक सीमित है मामले से बचने के लिए कदम जहां M इनपुट पर रुकता नहीं है x. यानी मामला कहां है M का ही समष्टि लेता है आवश्यकतानुसार, किन्तु अनंत समय तक चलता है।

उपरोक्त प्रमाण PSPACE के मामले में मान्य है, किन्तु NPSPACE के मामले में कुछ बदलाव करने की आवश्यकता है। महत्वपूर्ण बिंदु यह है कि नियतात्मक टीएम पर, स्वीकृति एवं अस्वीकृति को उलटा किया जा सकता है (चरण 4 के लिए महत्वपूर्ण), अन्य-नियतात्मक मशीन पर यह संभव नहीं है।

एनपीस्पेस के मामले के लिए, L को पहले पुनः परिभाषित करने की आवश्यकता है: <ब्लॉककोट> </ब्लॉककोट> अब, स्वीकार करने के लिए एल्गोरिदम को बदलने की जरूरत है L चरण 4 को संशोधित करके:

  • अगर M को स्वीकृत x इस अनुकरण के दौरान, फिर स्वीकार करें; अन्यथा, अस्वीकार करें.

L का उपयोग टीएम द्वारा सुनिश्चित नहीं किया जा सकता कोशिकाएं. यह मानते हुए L कुछ टीएम द्वारा निर्णय लिया जा सकता है M का उपयोग करना कोशिकाएँ, एवं इमरमैन-स्ज़ेलेपीसीसेनी प्रमेय का अनुसरण करते हुए, इसे टीएम (जिसे कहा जाता है) द्वारा भी निर्धारित किया जा सकता है ) का उपयोग करना कोशिकाएं. यहाँ विरोधाभास है, इसलिए धारणा झूठी होनी चाहिए:

  1. अगर (कुछ बड़े वर्गों के लिए k) इसमें नहीं है तब M इसलिए इसे स्वीकार करेंगे अस्वीकृत w, इसलिए w में है (विरोधाभास)।
  2. अगर (कुछ बड़े वर्गों के लिए k) में है तब M इसलिए इसे अस्वीकार कर देंगे स्वीकार w, इसलिए w इसमें नहीं है (विरोधाभास)।

अपेक्षा एवं सुधार

स्पेस पदानुक्रम प्रमेय कई मायनों में अनुरूप समय पदानुक्रम प्रमेयों से अधिक मजबूत है:

  • इसके लिए केवल s(n) को कम से कम n के बजाय कम से कम लॉग n होना आवश्यक है।
  • यह किसी भी स्पर्शोन्मुख अंतर के साथ वर्गों को अलग कर सकता है, जबकि समय पदानुक्रम प्रमेय के लिए उन्हें लघुगणकीय कारक द्वारा अलग करने की आवश्यकता होती है।
  • इसके लिए केवल फलन को समष्टि-निर्माण योग्य होना आवश्यक है, समय-निर्माण योग्य नहीं।

समय की अपेक्षा में स्पेस में कक्षाओं को अलग करना आसान लगता है। वास्तव में, जबकि समय पदानुक्रम प्रमेय ने अपनी स्थापना के बाद से थोड़ा उल्लेखनीय सुधार देखा है, अन्य-नियतात्मक स्पेस पदानुक्रम प्रमेय में कम से कम महत्वपूर्ण सुधार देखा गया है जिसे विलियम गेफ़र्ट ने अपने 2003 के पेपर स्पेस पदानुक्रम प्रमेय में संशोधित किया है। इस पेपर ने प्रमेय के कई सामान्यीकरण किये:

  • यह स्पेस-निर्माण योग्यता की आवश्यकता को शिथिल करता है। केवल संघ वर्गों को अलग करने के बजाय एवं , यह अलग हो जाता है से जहाँ मनमाना है फलन एवं g(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 रचनात्मक टपल है, या SPACE(f(n)-ω(log(f(n))) - कुल स्पेस उपयोग देने वाली रचनात्मक संख्या है (प्रत्येक टेप की लंबाई को संग्रहीत करने के लिए ओवरहेड की गिनती नहीं)।

प्रमाण स्पेस पदानुक्रम प्रमेय के प्रमाण के समान है, किन्तु दो समष्टिताओं के साथ: सार्वभौमिक ट्यूरिंग मशीन को स्पेस-कुशल होना चाहिए, एवं उलटा समष्टि-कुशल होना चाहिए। कोई आम तौर पर सार्वभौमिक ट्यूरिंग मशीनों का निर्माण कर सकता है समष्टि ओवरहेड, एवं उचित धारणाओं के तहत, बस स्पेस ओवरहेड (जो मशीन के सिम्युलेटेड होने पर निर्भर हो सकता है)। उत्क्रमण के लिए, मुख्य मुद्दा यह है कि कैसे पता लगाया जाए कि सिम्युलेटेड मशीन अनंत (समष्टि-बाधित) लूप में प्रवेश करके अस्वीकार कर देती है। केवल उठाए गए कदमों की संख्या गिनने से जगह की खपत लगभग बढ़ जाएगी . संभावित रूप से घातीय समय वृद्धि की कीमत पर, लूप को समष्टि-कुशलता से निम्नानुसार पता लगाया जा सकता है:[1] सब कुछ मिटाने के लिए मशीन को संशोधित करें एवं सफल होने पर विशिष्ट कॉन्फ़िगरेशन ए पर जाएं। यह निर्धारित करने के लिए गहराई-प्रथम खोज का उपयोग करें कि क्या ए प्रारंभिक कॉन्फ़िगरेशन से बंधे समष्टि में पहुंच योग्य है। खोज ए से शुरू होती है एवं उन कॉन्फ़िगरेशनों पर जाती है जो ए की ओर ले जाती हैं। नियतिवाद के कारण, यह लूप में जाए बिना ही किया जा सकता है।

यह भी निर्धारित किया जा सकता है कि क्या मशीन स्पेस सीमा से अधिक हो गई है (स्पेस सीमा के भीतर लूपिंग के विपरीत) सभी कॉन्फ़िगरेशन पर पुनरावृत्ति करके स्पेस सीमा से अधिक हो गई है एवं जांच कर रही है (फिर से गहराई-पहली खोज का उपयोग करके) कि क्या प्रारंभिक कॉन्फ़िगरेशन उनमें से किसी की ओर ले जाता है।

परिणाम

परिणाम 1

किन्हीं दो कार्यों के लिए , , जहाँ है एवं स्पेस-निर्माण योग्य है, .

यह परिणाम हमें विभिन्न स्पेस समष्टिता वर्गों को अलग करने की सुविधा देता है। किसी भी फंक्शन के लिए किसी भी प्राकृतिक के लिए समष्टि-निर्माण योग्य है संख्या क. इसलिए किन्हीं दो प्राकृत संख्याओं के लिए हम कर सकते हैं सिद्ध करना . इस विचार को निम्नलिखित परिणाम में वास्तविक संख्याओं के लिए बढ़ाया जा सकता है। यह PSPACE वर्ग के भीतर विस्तृत पदानुक्रम को प्रदर्शित करता है।

परिणाम 2

किन्हीं दो अऋणात्मक वास्तविक संख्याओं के लिए .

परिणाम 3

एनएल (समष्टिता)पीस्पेस

प्रमाण

सैविच का प्रमेय यह दर्शाता है , जबकि स्पेस पदानुक्रम प्रमेय यह दर्शाता है . परिणाम इस तथ्य के साथ-साथ यह है कि TQBF ∉ NL चूँकि TQBF PSPACE-पूर्ण है।

यह दिखाने के लिए अन्य-नियतात्मक स्पेस पदानुक्रम प्रमेय का उपयोग करके भी सिद्ध किया जा सकता है कि एनएल ⊊ एनपीपीएसीई, एवं सैविच के प्रमेय का उपयोग करके यह दिखाया जा सकता है कि पीएसपीएसीई = एनपीपीएसीई।

परिणाम 4

पीएसस्पेस ⊊्सस्पेस

यह अंतिम परिणाम उन निर्णायक समस्याओं के अस्तित्व को दर्शाता है जो कठिन हैं। दूसरे शब्दों में, उनकी निर्णय प्रक्रियाओं को बहुपद समष्टि से अधिक का उपयोग करना चाहिए।

परिणाम 5

में समस्याएं हैं PSPACE हल करने के लिए मनमाने ढंग से बड़े घातांक की आवश्यकता होती है; इसलिए PSPACE पतन नहीं होता DSPACE(एनk) कुछ स्थिरांक के लिए k.

यह भी देखें

  • समय पदानुक्रम प्रमेय

संदर्भ

  1. Sipser, Michael (1978). "अंतरिक्ष-बद्ध संगणनाओं को रोकना". Proceedings of the 19th Annual Symposium on Foundations of Computer Science.