स्पेस कम्प्लेक्सिटी: Difference between revisions

From Vigyanwiki
m (Abhishekkshukla moved page अंतरिक्ष जटिलता to समष्टि सम्मिश्र without leaving a redirect)
No edit summary
Line 1: Line 1:
{{Short description|Computer memory needed by an algorithm}}
{{Short description|Computer memory needed by an algorithm}}
एक [[कलन विधि]] या [[कंप्यूटर प्रोग्राम]] की '''स्पेस जटिलता''' इनपुट की विशेषताओं के एक फ़ंक्शन के रूप में [[कम्प्यूटेशनल समस्या]] के एक उदाहरण को हल करने के लिए आवश्यक मेमोरी स्पेस की मात्रा है। यह एक एल्गोरिदम द्वारा पूरी तरह से निष्पादित होने तक आवश्यक मेमोरी है।<ref>{{citation|title=Optimal Reliability Modeling: Principles and Applications|first1=Way|last1=Kuo|first2=Ming J.|last2=Zuo|publisher=John Wiley & Sons|year=2003|isbn=9780471275459|url=https://books.google.com/books?id=vdZ4Bm-LnHMC&pg=PA62|page=62}}</ref> इसमें इसके इनपुट द्वारा उपयोग की जाने वाली मेमोरी स्पेस, जिसे इनपुट स्पेस कहा जाता है, और निष्पादन के समय  उपयोग की जाने वाली कोई अन्य (सहायक) मेमोरी सम्मिलित  है जिसे सहायक स्पेस कहा जाता है।
एक [[कलन विधि]] या [[कंप्यूटर प्रोग्राम]] की '''समष्टि सम्मिश्रता''' इनपुट की विशेषताओं के एक फ़ंक्शन के रूप में [[कम्प्यूटेशनल समस्या]] के एक उदाहरण को हल करने के लिए आवश्यक मेमोरी समष्टि की मात्रा है। यह एक एल्गोरिदम द्वारा पूरी तरह से निष्पादित होने तक आवश्यक मेमोरी है।<ref>{{citation|title=Optimal Reliability Modeling: Principles and Applications|first1=Way|last1=Kuo|first2=Ming J.|last2=Zuo|publisher=John Wiley & Sons|year=2003|isbn=9780471275459|url=https://books.google.com/books?id=vdZ4Bm-LnHMC&pg=PA62|page=62}}</ref> इसमें इसके इनपुट द्वारा उपयोग की जाने वाली मेमोरी समष्टि, जिसे इनपुट समष्टि कहा जाता है, और निष्पादन के समय  उपयोग की जाने वाली कोई अन्य (सहायक) मेमोरी सम्मिलित  है जिसे सहायक समष्टि कहा जाता है।


समय जटिलता के समान स्पेस जटिलता को सम्मिलित [[बड़ा ओ अंकन]] में स्पर्शोन्मुख रूप से व्यक्त किया जाता है, जैसे कि <math>O(n),</math>
समय सम्मिश्रता के समान समष्टि सम्मिश्रता को सम्मिलित [[बड़ा ओ अंकन]] में स्पर्शोन्मुख रूप से व्यक्त किया जाता है, जैसे कि <math>O(n),</math>
<math>O(n\log n),</math> <math>O(n^\alpha),</math> <math>O(2^n),</math> आदि, जहाँ {{mvar|n}} स्पेस जटिलता को प्रभावित करने वाले इनपुट की एक विशेषता है।
<math>O(n\log n),</math> <math>O(n^\alpha),</math> <math>O(2^n),</math> आदि, जहाँ {{mvar|n}} समष्टि सम्मिश्रता को प्रभावित करने वाले इनपुट की एक विशेषता है।


==स्पेस  जटिलता वर्ग==
==समष्टि सम्मिश्रता वर्ग==


[[समय]] जटिलता वर्गों DTIME(f(n)) और NTIME(f(n)) के अनुरूप, जटिलता वर्ग DSPACE(f(n)) और NSPACE(f(n)) सेट हैं ऐसी भाषाएँ जो नियतात्मक (क्रमशः, गैर-नियतात्मक) [[ट्यूरिंग मशीन]] जो <math>O(f(n))</math> स्थान का उपयोग करती हैं। जटिलता वर्ग [[PSPACE]] और [[NPSPACE]] अनुमति देते हैं <math>f</math> [[पी (जटिलता)]] और [[एनपी (जटिलता)]] के अनुरूप, कोई भी बहुपद होना। वह है,
[[समय]] सम्मिश्रता वर्गों DTIME(f(n)) और NTIME(f(n)) के अनुरूप, सम्मिश्रता वर्ग DSPACE(f(n)) और NSPACE(f(n)) सेट हैं ऐसी भाषाएँ जो नियतात्मक (क्रमशः, गैर-नियतात्मक) [[ट्यूरिंग मशीन]] जो <math>O(f(n))</math> स्थान का उपयोग करती हैं। सम्मिश्रता वर्ग [[PSPACE]] और [[NPSPACE]] अनुमति देते हैं <math>f</math> पी (सम्मिश्रता) और [[एनपी (जटिलता)|एनपी (सम्मिश्रता)]] के अनुरूप, कोई भी बहुपद होना। वह है,
<math display=block>\mathsf{PSPACE} = \bigcup_{c \in \Z^+} \mathsf{DSPACE}(n^c)</math>
<math display=block>\mathsf{PSPACE} = \bigcup_{c \in \Z^+} \mathsf{DSPACE}(n^c)</math>
और
और
Line 15: Line 15:
==वर्गों के बीच संबंध==
==वर्गों के बीच संबंध==


[[अंतरिक्ष पदानुक्रम प्रमेय|स्पेस पदानुक्रम प्रमेय]] बताता है कि, सभी  [[अंतरिक्ष-निर्माण योग्य कार्य|स्पेस -निर्माण योग्य कार्य]] के लिए<math>f(n),</math>एक समस्या उपस्थित है जिसे <math>f(n),</math> मेमोरी स्पेस वाली मशीन द्वारा हल किया जा सकता है किंतु  <math>f(n),</math> से कम स्पेस वाली मशीन द्वारा हल नहीं किया जा सकता है .
[[अंतरिक्ष पदानुक्रम प्रमेय|समष्टि पदानुक्रम प्रमेय]] बताता है कि, सभी  [[अंतरिक्ष-निर्माण योग्य कार्य|समष्टि -निर्माण योग्य कार्य]] के लिए<math>f(n),</math>एक समस्या उपस्थित है जिसे <math>f(n),</math> मेमोरी समष्टि वाली मशीन द्वारा हल किया जा सकता है किंतु  <math>f(n),</math> से कम समष्टि वाली मशीन द्वारा हल नहीं किया जा सकता है .


जटिलता वर्गों के बीच निम्नलिखित नियंत्रण कायम हैं।<ref>{{citation |title=Computational Complexity : A Modern Approach |edition=draft|year=2007|first1=Sanjeev|last1=Arora|author1-link=Sanjeev Arora|first2=Boaz|last2=Barak|isbn=9780511804090 |page=76 |url=https://theory.cs.princeton.edu/complexity/book.pdf}}</ref>
सम्मिश्रता वर्गों के बीच निम्नलिखित नियंत्रण कायम हैं।<ref>{{citation |title=Computational Complexity : A Modern Approach |edition=draft|year=2007|first1=Sanjeev|last1=Arora|author1-link=Sanjeev Arora|first2=Boaz|last2=Barak|isbn=9780511804090 |page=76 |url=https://theory.cs.princeton.edu/complexity/book.pdf}}</ref>
<math display=block>\mathsf{DTIME}(f(n)) \subseteq \mathsf{DSPACE}(f(n)) \subseteq \mathsf{NSPACE}(f(n)) \subseteq \mathsf{DTIME}\left(2^{O(f(n))}\right)</math>
<math display=block>\mathsf{DTIME}(f(n)) \subseteq \mathsf{DSPACE}(f(n)) \subseteq \mathsf{NSPACE}(f(n)) \subseteq \mathsf{DTIME}\left(2^{O(f(n))}\right)</math>
इसके अतिरिक्त  सैविच का प्रमेय विपरीत रोकथाम देता है कि यदि <math>f \in \Omega(\log(n)),</math>
इसके अतिरिक्त  सैविच का प्रमेय विपरीत रोकथाम देता है कि यदि <math>f \in \Omega(\log(n)),</math>
<math display=block>\mathsf{NSPACE}(f(n)) \subseteq \mathsf{DSPACE}\left((f(n))^2\right).</math>
<math display=block>\mathsf{NSPACE}(f(n)) \subseteq \mathsf{DSPACE}\left((f(n))^2\right).</math>
प्रत्यक्ष परिणाम के रूप में, <math>\mathsf{PSPACE} = \mathsf{NPSPACE}.</math> यह परिणाम आश्चर्यजनक है क्योंकि यह बताता है कि गैर-नियतिवाद किसी समस्या को हल करने के लिए आवश्यक स्थान को केवल थोड़ी मात्रा में कम कर सकता है। इसके विपरीत घातीय समय परिकल्पना का अनुमान है कि समय जटिलता के लिए, नियतात्मक और गैर-नियतात्मक जटिलता के बीच एक घातीय अंतर हो सकता है।
प्रत्यक्ष परिणाम के रूप में, <math>\mathsf{PSPACE} = \mathsf{NPSPACE}.</math> यह परिणाम आश्चर्यजनक है क्योंकि यह बताता है कि गैर-नियतिवाद किसी समस्या को हल करने के लिए आवश्यक स्थान को केवल थोड़ी मात्रा में कम कर सकता है। इसके विपरीत घातीय समय परिकल्पना का अनुमान है कि समय सम्मिश्रता के लिए, नियतात्मक और गैर-नियतात्मक सम्मिश्रता के बीच एक घातीय अंतर हो सकता है।


इमरमैन-स्ज़ेलेपेसेनी प्रमेय कहता है कि, फिर से <math>f\in\Omega(\log(n)),</math> <math>\mathsf{NSPACE}(f(n))</math> पूरकता के तहत बंद कर दिया गया है। यह समय और स्थान जटिलता वर्गों के बीच एक और गुणात्मक अंतर दिखाता है, क्योंकि गैर-नियतात्मक समय जटिलता वर्गों को पूरकता के तहत बंद नहीं माना जाता है; उदाहरण के लिए, यह अनुमान लगाया गया है कि NP ≠ co-NP.।<ref>{{citation
इमरमैन-स्ज़ेलेपेसेनी प्रमेय कहता है कि, फिर से <math>f\in\Omega(\log(n)),</math> <math>\mathsf{NSPACE}(f(n))</math> पूरकता के तहत बंद कर दिया गया है। यह समय और स्थान सम्मिश्रता वर्गों के बीच एक और गुणात्मक अंतर दिखाता है, क्योंकि गैर-नियतात्मक समय सम्मिश्रता वर्गों को पूरकता के तहत बंद नहीं माना जाता है; उदाहरण के लिए, यह अनुमान लगाया गया है कि NP ≠ co-NP.।<ref>{{citation
  | last = Immerman | first = Neil | authorlink = Neil Immerman
  | last = Immerman | first = Neil | authorlink = Neil Immerman
  | doi = 10.1137/0217058
  | doi = 10.1137/0217058
Line 40: Line 40:
  | volume = 33
  | volume = 33
  | year = 1987}}</ref>
  | year = 1987}}</ref>
==लॉगस्पेस==
==लॉगसमष्टि==


[[एल (जटिलता)|एल]] या लॉगस्पेस समस्याओं का समूह है जिसे इनपुट आकार के संबंध में केवल <math>O(\log n)</math> मेमोरी स्पेस का उपयोग करके एक नियतात्मक ट्यूरिंग मशीन द्वारा हल किया जा सकता है। यहां तक कि एक एकल काउंटर जो संपूर्ण <math>n</math>-बिट इनपुट को अनुक्रमित कर सकता है, उसे <math>\log n</math> स्पेस की आवश्यकता होती है, इसलिए लॉगस्पेस एल्गोरिदम केवल काउंटरों की एक स्थिर संख्या या समान बिट जटिलता के अन्य चर बनाए रख सकते हैं।
[[एल (जटिलता)|एल]] या लॉगसमष्टि समस्याओं का समूह है जिसे इनपुट आकार के संबंध में केवल <math>O(\log n)</math> मेमोरी समष्टि का उपयोग करके एक नियतात्मक ट्यूरिंग मशीन द्वारा हल किया जा सकता है। यहां तक कि एक एकल काउंटर जो संपूर्ण <math>n</math>-बिट इनपुट को अनुक्रमित कर सकता है, उसे <math>\log n</math> समष्टि की आवश्यकता होती है, इसलिए लॉगसमष्टि एल्गोरिदम केवल काउंटरों की एक स्थिर संख्या या समान बिट सम्मिश्रता के अन्य चर बनाए रख सकते हैं।


लॉगस्पेस और अन्य सब-लीनियर स्पेस जटिलता बड़े डेटा को संसाधित करते समय उपयोगी होती है जो कंप्यूटर की [[रैंडम एक्सेस मेमोरी]] में फिट नहीं हो सकती है। वे [[स्ट्रीमिंग एल्गोरिदम]] से संबंधित हैं, किंतु  केवल यह सीमित करते हैं कि कितनी मेमोरी का उपयोग किया जा सकता है, जबकि स्ट्रीमिंग एल्गोरिदम में एल्गोरिदम में इनपुट को कैसे फीड किया जाता है, इस पर और भी बाधाएं हैं।
लॉगसमष्टि और अन्य सब-लीनियर समष्टि सम्मिश्रता बड़े डेटा को संसाधित करते समय उपयोगी होती है जो कंप्यूटर की [[रैंडम एक्सेस मेमोरी]] में फिट नहीं हो सकती है। वे [[स्ट्रीमिंग एल्गोरिदम]] से संबंधित हैं, किंतु  केवल यह सीमित करते हैं कि कितनी मेमोरी का उपयोग किया जा सकता है, जबकि स्ट्रीमिंग एल्गोरिदम में एल्गोरिदम में इनपुट को कैसे फीड किया जाता है, इस पर और भी बाधाएं हैं।


यह वर्ग [[छद्म यादृच्छिकता]] और व्युत्पन्नता के क्षेत्र में भी उपयोग देखता है, जहां शोधकर्ता  L = RL की खुली समस्या पर विचार करते हैं।<ref>{{citation
यह वर्ग [[छद्म यादृच्छिकता]] और व्युत्पन्नता के क्षेत्र में भी उपयोग देखता है, जहां शोधकर्ता  L = RL की खुली समस्या पर विचार करते हैं।<ref>{{citation
Line 66: Line 66:
  | year = 2006| s2cid = 17360260 }}</ref>
  | year = 2006| s2cid = 17360260 }}</ref>


संबंधित गैर-नियतात्मक स्पेस जटिलता वर्ग [[एनएल (जटिलता)]] है।
संबंधित गैर-नियतात्मक समष्टि सम्मिश्रता वर्ग [[एनएल (जटिलता)|एनएल (सम्मिश्रता)]] है।


==सहायक स्थान जटिलता==
==सहायक स्थान सम्मिश्रता==
सहायक स्थान शब्द का तात्पर्य इनपुट द्वारा उपभोग किए गए स्थान के अलावा अन्य स्थान से है। सहायक स्पेस जटिलता को औपचारिक रूप से एक ट्यूरिंग मशीन के संदर्भ में परिभाषित किया जा सकता है जिसमें एक अलग इनपुट टेप होता है जिसे लिखा नहीं जा सकता, केवल पढ़ा जा सकता है, और एक पारंपरिक कार्यरत टेप जिसे लिखा जा सकता है। फिर सहायक स्थान जटिलता को कार्यशील टेप के माध्यम से परिभाषित (और विश्लेषण) किया जाता है। उदाहरण के लिए, <math>n</math> नोड्स के साथ एक संतुलित बाइनरी ट्री की गहराई-पहली खोज पर विचार करें: इसकी सहायक स्थान जटिलता <math>\Theta(\log n).</math> है।
सहायक स्थान शब्द का तात्पर्य इनपुट द्वारा उपभोग किए गए स्थान के अलावा अन्य स्थान से है। सहायक समष्टि सम्मिश्रता को औपचारिक रूप से एक ट्यूरिंग मशीन के संदर्भ में परिभाषित किया जा सकता है जिसमें एक अलग इनपुट टेप होता है जिसे लिखा नहीं जा सकता, केवल पढ़ा जा सकता है, और एक पारंपरिक कार्यरत टेप जिसे लिखा जा सकता है। फिर सहायक स्थान सम्मिश्रता को कार्यशील टेप के माध्यम से परिभाषित (और विश्लेषण) किया जाता है। उदाहरण के लिए, <math>n</math> नोड्स के साथ एक संतुलित बाइनरी ट्री की गहराई-पहली खोज पर विचार करें: इसकी सहायक स्थान सम्मिश्रता <math>\Theta(\log n).</math> है।
==यह भी देखें                                                                                                                                                            ==
==यह भी देखें                                                                                                                                                            ==



Revision as of 15:06, 24 August 2023

एक कलन विधि या कंप्यूटर प्रोग्राम की समष्टि सम्मिश्रता इनपुट की विशेषताओं के एक फ़ंक्शन के रूप में कम्प्यूटेशनल समस्या के एक उदाहरण को हल करने के लिए आवश्यक मेमोरी समष्टि की मात्रा है। यह एक एल्गोरिदम द्वारा पूरी तरह से निष्पादित होने तक आवश्यक मेमोरी है।[1] इसमें इसके इनपुट द्वारा उपयोग की जाने वाली मेमोरी समष्टि, जिसे इनपुट समष्टि कहा जाता है, और निष्पादन के समय उपयोग की जाने वाली कोई अन्य (सहायक) मेमोरी सम्मिलित है जिसे सहायक समष्टि कहा जाता है।

समय सम्मिश्रता के समान समष्टि सम्मिश्रता को सम्मिलित बड़ा ओ अंकन में स्पर्शोन्मुख रूप से व्यक्त किया जाता है, जैसे कि आदि, जहाँ n समष्टि सम्मिश्रता को प्रभावित करने वाले इनपुट की एक विशेषता है।

समष्टि सम्मिश्रता वर्ग

समय सम्मिश्रता वर्गों DTIME(f(n)) और NTIME(f(n)) के अनुरूप, सम्मिश्रता वर्ग DSPACE(f(n)) और NSPACE(f(n)) सेट हैं ऐसी भाषाएँ जो नियतात्मक (क्रमशः, गैर-नियतात्मक) ट्यूरिंग मशीन जो स्थान का उपयोग करती हैं। सम्मिश्रता वर्ग PSPACE और NPSPACE अनुमति देते हैं पी (सम्मिश्रता) और एनपी (सम्मिश्रता) के अनुरूप, कोई भी बहुपद होना। वह है,

और


वर्गों के बीच संबंध

समष्टि पदानुक्रम प्रमेय बताता है कि, सभी समष्टि -निर्माण योग्य कार्य के लिएएक समस्या उपस्थित है जिसे मेमोरी समष्टि वाली मशीन द्वारा हल किया जा सकता है किंतु से कम समष्टि वाली मशीन द्वारा हल नहीं किया जा सकता है .

सम्मिश्रता वर्गों के बीच निम्नलिखित नियंत्रण कायम हैं।[2]

इसके अतिरिक्त सैविच का प्रमेय विपरीत रोकथाम देता है कि यदि
प्रत्यक्ष परिणाम के रूप में, यह परिणाम आश्चर्यजनक है क्योंकि यह बताता है कि गैर-नियतिवाद किसी समस्या को हल करने के लिए आवश्यक स्थान को केवल थोड़ी मात्रा में कम कर सकता है। इसके विपरीत घातीय समय परिकल्पना का अनुमान है कि समय सम्मिश्रता के लिए, नियतात्मक और गैर-नियतात्मक सम्मिश्रता के बीच एक घातीय अंतर हो सकता है।

इमरमैन-स्ज़ेलेपेसेनी प्रमेय कहता है कि, फिर से पूरकता के तहत बंद कर दिया गया है। यह समय और स्थान सम्मिश्रता वर्गों के बीच एक और गुणात्मक अंतर दिखाता है, क्योंकि गैर-नियतात्मक समय सम्मिश्रता वर्गों को पूरकता के तहत बंद नहीं माना जाता है; उदाहरण के लिए, यह अनुमान लगाया गया है कि NP ≠ co-NP.।[3][4]

लॉगसमष्टि

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

लॉगसमष्टि और अन्य सब-लीनियर समष्टि सम्मिश्रता बड़े डेटा को संसाधित करते समय उपयोगी होती है जो कंप्यूटर की रैंडम एक्सेस मेमोरी में फिट नहीं हो सकती है। वे स्ट्रीमिंग एल्गोरिदम से संबंधित हैं, किंतु केवल यह सीमित करते हैं कि कितनी मेमोरी का उपयोग किया जा सकता है, जबकि स्ट्रीमिंग एल्गोरिदम में एल्गोरिदम में इनपुट को कैसे फीड किया जाता है, इस पर और भी बाधाएं हैं।

यह वर्ग छद्म यादृच्छिकता और व्युत्पन्नता के क्षेत्र में भी उपयोग देखता है, जहां शोधकर्ता L = RL की खुली समस्या पर विचार करते हैं।[5][6]

संबंधित गैर-नियतात्मक समष्टि सम्मिश्रता वर्ग एनएल (सम्मिश्रता) है।

सहायक स्थान सम्मिश्रता

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

यह भी देखें

संदर्भ

  1. Kuo, Way; Zuo, Ming J. (2003), Optimal Reliability Modeling: Principles and Applications, John Wiley & Sons, p. 62, ISBN 9780471275459
  2. Arora, Sanjeev; Barak, Boaz (2007), Computational Complexity : A Modern Approach (PDF) (draft ed.), p. 76, ISBN 9780511804090
  3. Immerman, Neil (1988), "Nondeterministic space is closed under complementation" (PDF), SIAM Journal on Computing, 17 (5): 935–938, doi:10.1137/0217058, MR 0961049
  4. Szelepcsényi, Róbert (1987), "The method of forcing for nondeterministic automata", Bulletin of the EATCS, 33: 96–100
  5. Nisan, Noam (1992), "RL ⊆ SC", Proceedings of the 24th ACM Symposium on Theory of computing (STOC '92), Victoria, British Columbia, Canada, pp. 619–623, doi:10.1145/129712.129772, S2CID 11651375{{citation}}: CS1 maint: location missing publisher (link).
  6. Reingold, Omer; Trevisan, Luca; Vadhan, Salil (2006), "Pseudorandom walks on regular digraphs and the RL vs. L problem" (PDF), STOC'06: Proceedings of the 38th Annual ACM Symposium on Theory of Computing, New York: ACM, pp. 457–466, doi:10.1145/1132516.1132583, MR 2277171, S2CID 17360260