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

From Vigyanwiki
(Created page with "{{short description|Given more time, a Turing machine can solve more problems}} कम्प्यूटेशनल जटिलता सिद्धांत में,...")
 
No edit summary
Line 1: Line 1:
{{short description|Given more time, a Turing machine can solve more problems}}
{{short description|Given more time, a Turing machine can solve more problems}}
[[कम्प्यूटेशनल जटिलता सिद्धांत]] में, समय पदानुक्रम प्रमेय [[ट्यूरिंग मशीन]]ों पर समयबद्ध गणना के बारे में महत्वपूर्ण कथन हैं। अनौपचारिक रूप से, ये प्रमेय कहते हैं कि अधिक समय दिए जाने पर, एक ट्यूरिंग मशीन अधिक समस्याओं का समाधान कर सकती है। उदाहरण के लिए, ऐसी समस्याएं हैं जिन्हें ''एन'' से हल किया जा सकता है<sup>2</sup>समय लेकिन nसमय नहीं।
[[कम्प्यूटेशनल जटिलता सिद्धांत|कम्प्यूटेशनल कॉम्प्लेक्सिटी सिद्धांत]] में, '''समय हाइरार्की प्रमेय''' [[ट्यूरिंग मशीन]]ों पर समयबद्ध गणना के बारे में महत्वपूर्ण कथन हैं। अनौपचारिक रूप से, ये प्रमेय कहते हैं कि अधिक समय दिए जाने पर, एक ट्यूरिंग मशीन अधिक समस्याओं का समाधान कर सकती है। उदाहरण के लिए, ऐसी समस्याएं हैं जिन्हें ''एन'' से हल किया जा सकता है<sup>2</sup>समय लेकिन nसमय नहीं।


ट्यूरिंग मशीन के लिए समय पदानुक्रम प्रमेय | नियतात्मक मल्टी-टेप ट्यूरिंग मशीनों को पहली बार 1965 में रिचर्ड ई. स्टर्न्स और [[ज्यूरिस हार्टमैनिस]] द्वारा सिद्ध किया गया था।<ref>{{Cite journal
ट्यूरिंग मशीन के लिए समय हाइरार्की प्रमेय | नियतात्मक मल्टी-टेप ट्यूरिंग मशीनों को पहली बार 1965 में रिचर्ड ई. स्टर्न्स और [[ज्यूरिस हार्टमैनिस]] द्वारा सिद्ध किया गया था।<ref>{{Cite journal
  | last1 = Hartmanis | first1 = J. | author1-link = Juris Hartmanis
  | last1 = Hartmanis | first1 = J. | author1-link = Juris Hartmanis
  | last2 = Stearns | first2 = R. E. | author2-link = Richard E. Stearns
  | last2 = Stearns | first2 = R. E. | author2-link = Richard E. Stearns
Line 32: Line 32:
| issn        = 0004-5411
| issn        = 0004-5411
| doi          = 10.1145/321356.321362| s2cid = 2347143
| doi          = 10.1145/321356.321362| s2cid = 2347143
}}</ref> प्रमेय के परिणामस्वरूप, प्रत्येक नियतात्मक समय-सीमाबद्ध [[जटिलता वर्ग]] के लिए, एक सख्ती से बड़ा समय-सीमाबद्ध जटिलता वर्ग होता है, और इसलिए जटिलता वर्गों का समय-सीमाबद्ध पदानुक्रम पूरी तरह से नष्ट नहीं होता है। अधिक सटीक रूप से, नियतात्मक ट्यूरिंग मशीनों के लिए समय पदानुक्रम प्रमेय बताता है कि सभी रचनात्मक फ़ंक्शन के लिए | समय-निर्माण योग्य फ़ंक्शन f(n),
}}</ref> प्रमेय के परिणामस्वरूप, प्रत्येक नियतात्मक समय-सीमाबद्ध [[जटिलता वर्ग|कॉम्प्लेक्सिटी वर्ग]] के लिए, एक सख्ती से बड़ा समय-सीमाबद्ध कॉम्प्लेक्सिटी वर्ग होता है, और इसलिए कॉम्प्लेक्सिटी वर्गों का समय-सीमाबद्ध हाइरार्की पूरी तरह से नष्ट नहीं होता है। अधिक सटीक रूप से, नियतात्मक ट्यूरिंग मशीनों के लिए समय हाइरार्की प्रमेय बताता है कि सभी रचनात्मक फ़ंक्शन के लिए | समय-निर्माण योग्य फ़ंक्शन f(n),
:<math>\mathsf{DTIME}\left(o\left(\frac{f(n)}{\log f(n)}\right)\right) \subsetneq \mathsf{DTIME}(f(n))</math>,
:<math>\mathsf{DTIME}\left(o\left(\frac{f(n)}{\log f(n)}\right)\right) \subsetneq \mathsf{DTIME}(f(n))</math>,
जहां [[DTIME]](f(n)) बड़े O नोटेशन(f(n)) में समय में हल करने योग्य [[निर्णय समस्या]]ओं की जटिलता वर्ग को दर्शाता है।
जहां [[DTIME]](f(n)) बड़े O नोटेशन(f(n)) में समय में हल करने योग्य [[निर्णय समस्या]]ओं की कॉम्प्लेक्सिटी वर्ग को दर्शाता है।


[[गैर-नियतात्मक ट्यूरिंग मशीन]]ों के लिए समय पदानुक्रम प्रमेय मूल रूप से 1972 में [[स्टीफन कुक]] द्वारा सिद्ध किया गया था।<ref>{{cite conference
[[गैर-नियतात्मक ट्यूरिंग मशीन]]ों के लिए समय हाइरार्की प्रमेय मूल रूप से 1972 में [[स्टीफन कुक]] द्वारा सिद्ध किया गया था।<ref>{{cite conference
| title        = A hierarchy for nondeterministic time complexity
| title        = A hierarchy for nondeterministic time complexity
| first        = Stephen A.
| first        = Stephen A.
Line 78: Line 78:
| publisher    = Elsevier Science B.V.
| publisher    = Elsevier Science B.V.
| doi          = 10.1016/0304-3975(83)90015-4| doi-access= free
| doi          = 10.1016/0304-3975(83)90015-4| doi-access= free
}}</ref> गैर-नियतात्मक ट्यूरिंग मशीनों के लिए समय पदानुक्रम प्रमेय बताता है कि यदि g(n) एक समय-निर्माण योग्य फ़ंक्शन है, और f(n+1) = [[लिटिल ओ अंकन]](g(n)), तो
}}</ref> गैर-नियतात्मक ट्यूरिंग मशीनों के लिए समय हाइरार्की प्रमेय बताता है कि यदि g(n) एक समय-निर्माण योग्य फ़ंक्शन है, और f(n+1) = [[लिटिल ओ अंकन]](g(n)), तो


:<math>\mathsf{NTIME}(f(n)) \subsetneq \mathsf{NTIME}(g(n))</math>.
:<math>\mathsf{NTIME}(f(n)) \subsetneq \mathsf{NTIME}(g(n))</math>.


अंतरिक्ष के लिए अनुरूप प्रमेय [[अंतरिक्ष पदानुक्रम प्रमेय]] हैं। एक समान प्रमेय समयबद्ध संभाव्य जटिलता वर्गों के लिए ज्ञात नहीं है, जब तक कि वर्ग में [[सलाह (जटिलता)]] का एक बिट भी न हो।<ref>{{Cite book|doi=10.1109/FOCS.2004.33|title=45th Annual IEEE Symposium on Foundations of Computer Science|year=2004|author=Fortnow, L.|pages=316|last2=Santhanam|first2=R.|chapter=Hierarchy Theorems for Probabilistic Polynomial Time|isbn=0-7695-2228-9|s2cid=5555450}}</ref>
अंतरिक्ष के लिए अनुरूप प्रमेय [[अंतरिक्ष पदानुक्रम प्रमेय|अंतरिक्ष हाइरार्की प्रमेय]] हैं। एक समान प्रमेय समयबद्ध संभाव्य कॉम्प्लेक्सिटी वर्गों के लिए ज्ञात नहीं है, जब तक कि वर्ग में [[सलाह (जटिलता)]] का एक बिट भी न हो।<ref>{{Cite book|doi=10.1109/FOCS.2004.33|title=45th Annual IEEE Symposium on Foundations of Computer Science|year=2004|author=Fortnow, L.|pages=316|last2=Santhanam|first2=R.|chapter=Hierarchy Theorems for Probabilistic Polynomial Time|isbn=0-7695-2228-9|s2cid=5555450}}</ref>




Line 91: Line 91:
हमें यह साबित करने की जरूरत है कि कुछ समय वर्ग TIME(''g''(''n'')) कुछ समय वर्ग TIME(''f''(''n'')) से बिल्कुल बड़ा है। हम एक ऐसी मशीन का निर्माण करके ऐसा करते हैं जो कैंटर के विकर्ण तर्क द्वारा TIME(''f''(''n'')) में नहीं हो सकती। फिर हम सिमुलेशन#कंप्यूटर विज्ञान का उपयोग करके दिखाते हैं कि मशीन TIME(''g''(''n'')) में है।
हमें यह साबित करने की जरूरत है कि कुछ समय वर्ग TIME(''g''(''n'')) कुछ समय वर्ग TIME(''f''(''n'')) से बिल्कुल बड़ा है। हम एक ऐसी मशीन का निर्माण करके ऐसा करते हैं जो कैंटर के विकर्ण तर्क द्वारा TIME(''f''(''n'')) में नहीं हो सकती। फिर हम सिमुलेशन#कंप्यूटर विज्ञान का उपयोग करके दिखाते हैं कि मशीन TIME(''g''(''n'')) में है।


==नियतात्मक समय पदानुक्रम प्रमेय==
==नियतात्मक समय हाइरार्की प्रमेय==


===कथन===
===कथन===
<ब्लॉककोट>समय पदानुक्रम प्रमेय। यदि ''f''(''n'') एक समय-निर्माण योग्य कार्य है, तो एक निर्णय समस्या मौजूद है जिसे सबसे खराब स्थिति वाले नियतात्मक समय ''f''(''n'') में हल नहीं किया जा सकता है, लेकिन सबसे खराब स्थिति वाले नियतात्मक समय में इसे ''f''(''n'')log ''f''(''n'') से बड़े आकार में हल किया जा सकता है। उदाहरण के लिए,
<ब्लॉककोट>समय हाइरार्की प्रमेय। यदि ''f''(''n'') एक समय-निर्माण योग्य कार्य है, तो एक निर्णय समस्या मौजूद है जिसे सबसे खराब स्थिति वाले नियतात्मक समय ''f''(''n'') में हल नहीं किया जा सकता है, लेकिन सबसे खराब स्थिति वाले नियतात्मक समय में इसे ''f''(''n'')log ''f''(''n'') से बड़े आकार में हल किया जा सकता है। उदाहरण के लिए,
:<math>\mathsf{DTIME}(f(n)) \subsetneq \mathsf{DTIME}\left (f(n)\log^2 f(n) \right).</math></ब्लॉककोट>
:<math>\mathsf{DTIME}(f(n)) \subsetneq \mathsf{DTIME}\left (f(n)\log^2 f(n) \right).</math></ब्लॉककोट>


Line 115: Line 115:
यहां, एम एक नियतात्मक ट्यूरिंग मशीन है, और एक्स इसका इनपुट (इसके टेप की प्रारंभिक सामग्री) है। [एम] एक इनपुट को दर्शाता है जो ट्यूरिंग मशीन एम को एनकोड करता है। मान लीजिए कि एम टुपल का आकार है ([एम], एक्स)।
यहां, एम एक नियतात्मक ट्यूरिंग मशीन है, और एक्स इसका इनपुट (इसके टेप की प्रारंभिक सामग्री) है। [एम] एक इनपुट को दर्शाता है जो ट्यूरिंग मशीन एम को एनकोड करता है। मान लीजिए कि एम टुपल का आकार है ([एम], एक्स)।


हम जानते हैं कि हम एच की सदस्यता तय कर सकते हैं<sub>f</sub>एक नियतात्मक ट्यूरिंग मशीन आर के माध्यम से, जो पहले एफ (| प्रत्येक चरण में, अगली कार्रवाई क्या होगी, यह तय करने के लिए सिमुलेशन मशीन को एम की परिभाषा को देखने की जरूरत है। यह कहना सुरक्षित है कि इसमें अधिकतम f(m) लगता है<sup>3</sup> संचालन (चूंकि यह ज्ञात है कि समय जटिलता T(n) की मशीन का अनुकरण समय में प्राप्त किया जा सकता है <math>O(T(n)\cdot|M|)</math> एक मल्टीटेप मशीन पर, जहाँ |M| एम की एन्कोडिंग की लंबाई है), हमारे पास वह है:
हम जानते हैं कि हम एच की सदस्यता तय कर सकते हैं<sub>f</sub>एक नियतात्मक ट्यूरिंग मशीन आर के माध्यम से, जो पहले एफ (| प्रत्येक चरण में, अगली कार्रवाई क्या होगी, यह तय करने के लिए सिमुलेशन मशीन को एम की परिभाषा को देखने की जरूरत है। यह कहना सुरक्षित है कि इसमें अधिकतम f(m) लगता है<sup>3</sup> संचालन (चूंकि यह ज्ञात है कि समय कॉम्प्लेक्सिटी T(n) की मशीन का अनुकरण समय में प्राप्त किया जा सकता है <math>O(T(n)\cdot|M|)</math> एक मल्टीटेप मशीन पर, जहाँ |M| एम की एन्कोडिंग की लंबाई है), हमारे पास वह है:


: <math> H_f \in \mathsf{TIME}\left(f(m)^3\right). </math>
: <math> H_f \in \mathsf{TIME}\left(f(m)^3\right). </math>
Line 121: Line 121:


: <math> H_f \notin \mathsf{TIME}\left(f\left( \left\lfloor \frac{m}{2} \right\rfloor \right)\right) </math>
: <math> H_f \notin \mathsf{TIME}\left(f\left( \left\lfloor \frac{m}{2} \right\rfloor \right)\right) </math>
ताकि यदि हम m के स्थान पर 2n + 1 प्रतिस्थापित करें, तो हमें वांछित परिणाम प्राप्त हो। आइए मान लें कि एच<sub>f</sub>इस समय जटिलता वर्ग में है, और हम एक विरोधाभास पर पहुंच जाएंगे।
ताकि यदि हम m के स्थान पर 2n + 1 प्रतिस्थापित करें, तो हमें वांछित परिणाम प्राप्त हो। आइए मान लें कि एच<sub>f</sub>इस समय कॉम्प्लेक्सिटी वर्ग में है, और हम एक विरोधाभास पर पहुंच जाएंगे।


यदि एच<sub>f</sub>इस समय जटिलता वर्ग में है, तो वहां एक मशीन K मौजूद है, जो कुछ मशीन विवरण [M] और इनपुट x दिए जाने पर यह तय करती है कि टुपल ([M], x) H में है या नहीं<sub>f</sub>अंदर
यदि एच<sub>f</sub>इस समय कॉम्प्लेक्सिटी वर्ग में है, तो वहां एक मशीन K मौजूद है, जो कुछ मशीन विवरण [M] और इनपुट x दिए जाने पर यह तय करती है कि टुपल ([M], x) H में है या नहीं<sub>f</sub>अंदर


:<math>\mathsf{TIME}\left(f\left( \left\lfloor \frac{m}{2} \right\rfloor \right)\right). </math>
:<math>\mathsf{TIME}\left(f\left( \left\lfloor \frac{m}{2} \right\rfloor \right)\right). </math>
Line 146: Line 146:
: <math> H_f \in \mathsf{TIME}(f(m) \log f(m)) </math>.
: <math> H_f \in \mathsf{TIME}(f(m) \log f(m)) </math>.


==गैर-नियतात्मक [[समय]] पदानुक्रम प्रमेय==
==गैर-नियतात्मक [[समय]] हाइरार्की प्रमेय==
यदि g(n) एक समय-निर्माण योग्य फ़ंक्शन है, और f(n+1) = बिग O नोटेशन(g(n)), तो एक निर्णय समस्या मौजूद है जिसे गैर-नियतात्मक समय f(n) में हल नहीं किया जा सकता है, लेकिन गैर-नियतात्मक समय g(n) में हल किया जा सकता है। दूसरे शब्दों में, जटिलता वर्ग 'NTIME'(f(n)) 'NTIME'(g(n)) का एक सख्त उपसमुच्चय है।
यदि g(n) एक समय-निर्माण योग्य फ़ंक्शन है, और f(n+1) = बिग O नोटेशन(g(n)), तो एक निर्णय समस्या मौजूद है जिसे गैर-नियतात्मक समय f(n) में हल नहीं किया जा सकता है, लेकिन गैर-नियतात्मक समय g(n) में हल किया जा सकता है। दूसरे शब्दों में, कॉम्प्लेक्सिटी वर्ग 'NTIME'(f(n)) 'NTIME'(g(n)) का एक सख्त उपसमुच्चय है।


==परिणाम==
==परिणाम==
समय पदानुक्रम प्रमेय गारंटी देते हैं कि [[घातीय पदानुक्रम]] के नियतात्मक और गैर-नियतात्मक संस्करण वास्तविक पदानुक्रम हैं: दूसरे शब्दों में [[पी (जटिलता)]] ⊊ [[EXPTIME]] ⊊ [[2-EXP]] ⊊ ... और NP (जटिलता) ⊊ [[NEXPTIME]] ⊊ 2-NEXP ⊊ ....
समय हाइरार्की प्रमेय गारंटी देते हैं कि [[घातीय पदानुक्रम|घातीय]] हाइरार्की के नियतात्मक और गैर-नियतात्मक संस्करण वास्तविक हाइरार्की हैं: दूसरे शब्दों में [[पी (जटिलता)]] ⊊ [[EXPTIME]] ⊊ [[2-EXP]] ⊊ ... और NP (जटिलता) ⊊ [[NEXPTIME]] ⊊ 2-NEXP ⊊ ....


उदाहरण के लिए, <math>\mathsf{P} \subsetneq \mathsf{EXPTIME}</math> तब से <math>\mathsf{P} \subseteq \mathsf{DTIME} (2^n)\subsetneq  \mathsf{DTIME} (2^{2n}) \subseteq \mathsf{EXPTIME}</math>. वास्तव में, <math>\mathsf{DTIME}\left(2^n\right) \subseteq \mathsf{DTIME}\left(o\left(\frac{2^{2n}}{2n}\right)\right) \subsetneq \mathsf{DTIME}(2^{2n})</math> समय पदानुक्रम प्रमेय से.
उदाहरण के लिए, <math>\mathsf{P} \subsetneq \mathsf{EXPTIME}</math> तब से <math>\mathsf{P} \subseteq \mathsf{DTIME} (2^n)\subsetneq  \mathsf{DTIME} (2^{2n}) \subseteq \mathsf{EXPTIME}</math>. वास्तव में, <math>\mathsf{DTIME}\left(2^n\right) \subseteq \mathsf{DTIME}\left(o\left(\frac{2^{2n}}{2n}\right)\right) \subsetneq \mathsf{DTIME}(2^{2n})</math> समय हाइरार्की प्रमेय से.


प्रमेय यह भी गारंटी देता है कि पी में ऐसी समस्याएं हैं जिन्हें हल करने के लिए मनमाने ढंग से बड़े घातांक की आवश्यकता होती है; दूसरे शब्दों में, P DTIME(''n'' तक संक्षिप्त नहीं होता है<sup>k</sup>) किसी निश्चित k के लिए। उदाहरण के लिए, n में हल करने योग्य समस्याएं हैं<sup>5000</sup>समय लेकिन n नहीं<sup>4999</sup>समय. यह कोबम की थीसिस के ख़िलाफ़ एक तर्क है, यह परंपरा कि पी एल्गोरिदम का एक व्यावहारिक वर्ग है। यदि ऐसा पतन होता है, तो हम यह निष्कर्ष निकाल सकते हैं कि P ≠ [[PSPACE]], क्योंकि यह एक प्रसिद्ध प्रमेय है कि DTIME(''f''(''n'')) सख्ती से DSPACE(''f''(''n'')) में समाहित है।
प्रमेय यह भी गारंटी देता है कि पी में ऐसी समस्याएं हैं जिन्हें हल करने के लिए मनमाने ढंग से बड़े घातांक की आवश्यकता होती है; दूसरे शब्दों में, P DTIME(''n'' तक संक्षिप्त नहीं होता है<sup>k</sup>) किसी निश्चित k के लिए। उदाहरण के लिए, n में हल करने योग्य समस्याएं हैं<sup>5000</sup>समय लेकिन n नहीं<sup>4999</sup>समय. यह कोबम की थीसिस के ख़िलाफ़ एक तर्क है, यह परंपरा कि पी एल्गोरिदम का एक व्यावहारिक वर्ग है। यदि ऐसा पतन होता है, तो हम यह निष्कर्ष निकाल सकते हैं कि P ≠ [[PSPACE]], क्योंकि यह एक प्रसिद्ध प्रमेय है कि DTIME(''f''(''n'')) सख्ती से DSPACE(''f''(''n'')) में समाहित है।


हालाँकि, समय पदानुक्रम प्रमेय नियतात्मक और गैर-नियतात्मक जटिलता, या समय और स्थान जटिलता से संबंधित कोई साधन प्रदान नहीं करते हैं, इसलिए वे कम्प्यूटेशनल जटिलता सिद्धांत के महान अनसुलझे प्रश्नों पर कोई प्रकाश नहीं डालते हैं: क्या P = NP समस्या, NP और PSPACE, PSPACE और EXPTIME, या EXPTIME और NEXPTIME समान हैं या नहीं।
हालाँकि, समय हाइरार्की प्रमेय नियतात्मक और गैर-नियतात्मक जटिलता, या समय और स्थान कॉम्प्लेक्सिटी से संबंधित कोई साधन प्रदान नहीं करते हैं, इसलिए वे कम्प्यूटेशनल कॉम्प्लेक्सिटी सिद्धांत के महान अनसुलझे प्रश्नों पर कोई प्रकाश नहीं डालते हैं: क्या P = NP समस्या, NP और PSPACE, PSPACE और EXPTIME, या EXPTIME और NEXPTIME समान हैं या नहीं।


==तीव्र पदानुक्रम प्रमेय==
==तीव्र हाइरार्की प्रमेय==
का अंतर लगभग <math>\log f(n)</math> पदानुक्रम प्रमेय में बंधे निचले और ऊपरी समय के बीच प्रमाण में प्रयुक्त डिवाइस की दक्षता का पता लगाया जा सकता है, अर्थात् एक सार्वभौमिक कार्यक्रम जो चरण-गणना बनाए रखता है। इसे कुछ कम्प्यूटेशनल मॉडलों पर अधिक कुशलता से किया जा सकता है। नीचे प्रस्तुत किए गए सबसे तीव्र परिणाम इसके लिए सिद्ध हुए हैं:
का अंतर लगभग <math>\log f(n)</math> हाइरार्की प्रमेय में बंधे निचले और ऊपरी समय के बीच प्रमाण में प्रयुक्त डिवाइस की दक्षता का पता लगाया जा सकता है, अर्थात् एक सार्वभौमिक कार्यक्रम जो चरण-गणना बनाए रखता है। इसे कुछ कम्प्यूटेशनल मॉडलों पर अधिक कुशलता से किया जा सकता है। नीचे प्रस्तुत किए गए सबसे तीव्र परिणाम इसके लिए सिद्ध हुए हैं:
* यूनिट-लागत [[रैंडम एक्सेस मशीन]]<ref>{{cite journal |last1=Sudborough |first1=Ivan H. |last2=Zalcberg |first2=A. |title=समयबद्ध रैंडम एक्सेस मशीनों द्वारा परिभाषित भाषाओं के परिवारों पर|journal=SIAM Journal on Computing |date=1976 |volume=5 |issue=2 |pages=217--230 |doi=10.1137/0205018}}</ref>
* यूनिट-लागत [[रैंडम एक्सेस मशीन]]<ref>{{cite journal |last1=Sudborough |first1=Ivan H. |last2=Zalcberg |first2=A. |title=समयबद्ध रैंडम एक्सेस मशीनों द्वारा परिभाषित भाषाओं के परिवारों पर|journal=SIAM Journal on Computing |date=1976 |volume=5 |issue=2 |pages=217--230 |doi=10.1137/0205018}}</ref>
* एक [[प्रोग्रामिंग भाषा]] मॉडल जिसका प्रोग्राम एक बाइनरी ट्री पर काम करता है जिसे हमेशा इसके रूट के माध्यम से एक्सेस किया जाता है। यह मॉडल, नील डी. जोन्स द्वारा प्रस्तुत किया गया<ref>{{cite journal |last1=Jones |first1=Neil D. |title=लगातार कारक मायने रखते हैं|journal=25th Symposium on the theory of Computing |date=1993 |pages=602-611 |doi=10.1145/167088.167244}}</ref> नियतात्मक ट्यूरिंग मशीन से अधिक मजबूत है लेकिन रैंडम एक्सेस मशीन से कमजोर है।
* एक [[प्रोग्रामिंग भाषा]] मॉडल जिसका प्रोग्राम एक बाइनरी ट्री पर काम करता है जिसे हमेशा इसके रूट के माध्यम से एक्सेस किया जाता है। यह मॉडल, नील डी. जोन्स द्वारा प्रस्तुत किया गया<ref>{{cite journal |last1=Jones |first1=Neil D. |title=लगातार कारक मायने रखते हैं|journal=25th Symposium on the theory of Computing |date=1993 |pages=602-611 |doi=10.1145/167088.167244}}</ref> नियतात्मक ट्यूरिंग मशीन से अधिक मजबूत है लेकिन रैंडम एक्सेस मशीन से कमजोर है।
Line 167: Line 167:


== यह भी देखें ==
== यह भी देखें ==
*अंतरिक्ष पदानुक्रम प्रमेय
*अंतरिक्ष हाइरार्की प्रमेय


==संदर्भ==
==संदर्भ==

Revision as of 23:24, 4 August 2023

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

ट्यूरिंग मशीन के लिए समय हाइरार्की प्रमेय | नियतात्मक मल्टी-टेप ट्यूरिंग मशीनों को पहली बार 1965 में रिचर्ड ई. स्टर्न्स और ज्यूरिस हार्टमैनिस द्वारा सिद्ध किया गया था।[1] एक साल बाद इसमें सुधार किया गया जब एफ. सी. हेनी और रिचर्ड ई. स्टर्न्स ने यूनिवर्सल ट्यूरिंग मशीन#दक्षता की दक्षता में सुधार किया।[2] प्रमेय के परिणामस्वरूप, प्रत्येक नियतात्मक समय-सीमाबद्ध कॉम्प्लेक्सिटी वर्ग के लिए, एक सख्ती से बड़ा समय-सीमाबद्ध कॉम्प्लेक्सिटी वर्ग होता है, और इसलिए कॉम्प्लेक्सिटी वर्गों का समय-सीमाबद्ध हाइरार्की पूरी तरह से नष्ट नहीं होता है। अधिक सटीक रूप से, नियतात्मक ट्यूरिंग मशीनों के लिए समय हाइरार्की प्रमेय बताता है कि सभी रचनात्मक फ़ंक्शन के लिए | समय-निर्माण योग्य फ़ंक्शन f(n),

,

जहां DTIME(f(n)) बड़े O नोटेशन(f(n)) में समय में हल करने योग्य निर्णय समस्याओं की कॉम्प्लेक्सिटी वर्ग को दर्शाता है।

गैर-नियतात्मक ट्यूरिंग मशीनों के लिए समय हाइरार्की प्रमेय मूल रूप से 1972 में स्टीफन कुक द्वारा सिद्ध किया गया था।[3] 1978 में जोएल सेफेरस, माइकल जे. फिशर और अल्बर्ट आर. मेयर द्वारा एक जटिल प्रमाण के माध्यम से इसे इसके वर्तमान स्वरूप में सुधार किया गया था।[4] आख़िरकार 1983 में, स्टैनिस्लाव ज़ैक ने आज सिखाए गए सरल प्रमाण के साथ वही परिणाम प्राप्त किया।[5] गैर-नियतात्मक ट्यूरिंग मशीनों के लिए समय हाइरार्की प्रमेय बताता है कि यदि g(n) एक समय-निर्माण योग्य फ़ंक्शन है, और f(n+1) = लिटिल ओ अंकन(g(n)), तो

.

अंतरिक्ष के लिए अनुरूप प्रमेय अंतरिक्ष हाइरार्की प्रमेय हैं। एक समान प्रमेय समयबद्ध संभाव्य कॉम्प्लेक्सिटी वर्गों के लिए ज्ञात नहीं है, जब तक कि वर्ग में सलाह (जटिलता) का एक बिट भी न हो।[6]


पृष्ठभूमि

दोनों प्रमेय एक रचनात्मक फ़ंक्शन | समय-निर्माण योग्य फ़ंक्शन की धारणा का उपयोग करते हैं। एक फ़ंक्शन (गणित) समय-निर्माण योग्य है यदि प्रत्येक के लिए ऐसी नियतात्मक ट्यूरिंग मशीन मौजूद है , यदि मशीन को n वाले इनपुट के साथ शुरू किया जाता है, तो यह ठीक f(n) चरणों के बाद रुक जाएगी। गैर-ऋणात्मक पूर्णांक गुणांक वाले सभी बहुपद समय-निर्माण योग्य हैं, जैसे कि 2 जैसे घातीय कार्य हैंn.

प्रमाण सिंहावलोकन

हमें यह साबित करने की जरूरत है कि कुछ समय वर्ग TIME(g(n)) कुछ समय वर्ग TIME(f(n)) से बिल्कुल बड़ा है। हम एक ऐसी मशीन का निर्माण करके ऐसा करते हैं जो कैंटर के विकर्ण तर्क द्वारा TIME(f(n)) में नहीं हो सकती। फिर हम सिमुलेशन#कंप्यूटर विज्ञान का उपयोग करके दिखाते हैं कि मशीन TIME(g(n)) में है।

नियतात्मक समय हाइरार्की प्रमेय

कथन

<ब्लॉककोट>समय हाइरार्की प्रमेय। यदि f(n) एक समय-निर्माण योग्य कार्य है, तो एक निर्णय समस्या मौजूद है जिसे सबसे खराब स्थिति वाले नियतात्मक समय f(n) में हल नहीं किया जा सकता है, लेकिन सबसे खराब स्थिति वाले नियतात्मक समय में इसे f(n)log f(n) से बड़े आकार में हल किया जा सकता है। उदाहरण के लिए,

</ब्लॉककोट>

नोट 1. f(n) कम से कम n है, क्योंकि छोटे फ़ंक्शन कभी भी समय-निर्माण योग्य नहीं होते हैं।

नोट 2. एल्गोरिदम का सटीक विवरण निम्न प्रकार से छोटे ओ का उपयोग करके लिखा जा सकता है: यदि एफ(एन) समय-रचना योग्य है, तो

उदाहरण के लिए, टाइम एनलॉग में हल करने योग्य समस्याएं हैं2n लेकिन समय और नहीं, स्थान n अंदर है


प्रमाण

हम यहां एक कमजोर परिणाम का प्रमाण शामिल करते हैं, अर्थात् DTIME(f(n)) DTIME(f(2n + 1) का एक सख्त उपसमुच्चय है3), क्योंकि यह सरल है लेकिन प्रमाण विचार को दर्शाता है। सबूत को f(n)logf(n) तक कैसे बढ़ाया जाए, इसकी जानकारी के लिए इस अनुभाग के नीचे देखें।

इसे साबित करने के लिए, हम पहले मशीनों की एन्कोडिंग और उनके इनपुट की भाषा को परिभाषित करते हैं जो उन्हें एफ के भीतर रुकने का कारण बनता है

यहां ध्यान दें कि यह एक समय-वर्ग है। यह उन मशीनों (M,x) के लिए मशीनों और इनपुट के जोड़े का सेट है ताकि मशीन M f(|x|) चरणों के भीतर स्वीकार कर सके।

यहां, एम एक नियतात्मक ट्यूरिंग मशीन है, और एक्स इसका इनपुट (इसके टेप की प्रारंभिक सामग्री) है। [एम] एक इनपुट को दर्शाता है जो ट्यूरिंग मशीन एम को एनकोड करता है। मान लीजिए कि एम टुपल का आकार है ([एम], एक्स)।

हम जानते हैं कि हम एच की सदस्यता तय कर सकते हैंfएक नियतात्मक ट्यूरिंग मशीन आर के माध्यम से, जो पहले एफ (| प्रत्येक चरण में, अगली कार्रवाई क्या होगी, यह तय करने के लिए सिमुलेशन मशीन को एम की परिभाषा को देखने की जरूरत है। यह कहना सुरक्षित है कि इसमें अधिकतम f(m) लगता है3 संचालन (चूंकि यह ज्ञात है कि समय कॉम्प्लेक्सिटी T(n) की मशीन का अनुकरण समय में प्राप्त किया जा सकता है एक मल्टीटेप मशीन पर, जहाँ |M| एम की एन्कोडिंग की लंबाई है), हमारे पास वह है:

बाकी सबूत यह दिखा देंगे

ताकि यदि हम m के स्थान पर 2n + 1 प्रतिस्थापित करें, तो हमें वांछित परिणाम प्राप्त हो। आइए मान लें कि एचfइस समय कॉम्प्लेक्सिटी वर्ग में है, और हम एक विरोधाभास पर पहुंच जाएंगे।

यदि एचfइस समय कॉम्प्लेक्सिटी वर्ग में है, तो वहां एक मशीन K मौजूद है, जो कुछ मशीन विवरण [M] और इनपुट x दिए जाने पर यह तय करती है कि टुपल ([M], x) H में है या नहींfअंदर

हम इस K का उपयोग एक अन्य मशीन, N के निर्माण के लिए करते हैं, जो एक मशीन विवरण [M] लेती है और K को टुपल ([M], [M]) पर चलाती है, अर्थात। M को K द्वारा अपने स्वयं के कोड पर सिम्युलेटेड किया गया है, और यदि K अस्वीकार करता है तो N स्वीकार करता है, और यदि K स्वीकार करता है तो N अस्वीकार करता है। यदि n, N के इनपुट की लंबाई है, तो m (K के इनपुट की लंबाई) n से दोगुना और कुछ सीमांकक चिह्न है, इसलिए m = 2n + 1. N{'}} का चलने का समय इस प्रकार है

अब यदि हम एन में ही इनपुट के रूप में [एन] फीड करते हैं (जो एन को [एन] की लंबाई बनाता है) और सवाल पूछते हैं कि क्या एन अपने विवरण को इनपुट के रूप में स्वीकार करता है, तो हमें मिलता है:

  • यदि N 'स्वीकार' करता है [N] (जैसा कि हम जानते हैं कि यह अधिकतम f(n) संचालन में करता है क्योंकि K, f(n) चरणों में ([N], [N]) पर रुकता है), इसका मतलब है कि K 'अस्वीकार' करता है ([N], [N]), इसलिए ([N], [N]) H में नहीं हैf, और इसी तरह एच की परिभाषा के अनुसारf, इसका तात्पर्य यह है कि N, f(n) चरणों में [N] को स्वीकार नहीं करता है। विरोधाभास।
  • यदि N 'अस्वीकार' करता है [N] (जैसा कि हम जानते हैं कि यह अधिकतर f(n) ऑपरेशनों में करता है), इसका मतलब यह है कि K 'स्वीकार करता है' ([N], [N]), इसलिए ([N], [N]) H में 'है'f, और इस प्रकार N 'f(n) चरणों में [N] को स्वीकार करता है। विरोधाभास।

इस प्रकार हम यह निष्कर्ष निकालते हैं कि मशीन K मौजूद नहीं है, और इसलिए


विस्तार

पाठक ने महसूस किया होगा कि प्रमाण कमजोर परिणाम देता है क्योंकि हमने एक सरल ट्यूरिंग मशीन सिमुलेशन चुना है जिसके लिए हम जानते हैं

यह ज्ञात है[7] एक अधिक कुशल सिमुलेशन मौजूद है जो इसे स्थापित करता है

.

गैर-नियतात्मक समय हाइरार्की प्रमेय

यदि g(n) एक समय-निर्माण योग्य फ़ंक्शन है, और f(n+1) = बिग O नोटेशन(g(n)), तो एक निर्णय समस्या मौजूद है जिसे गैर-नियतात्मक समय f(n) में हल नहीं किया जा सकता है, लेकिन गैर-नियतात्मक समय g(n) में हल किया जा सकता है। दूसरे शब्दों में, कॉम्प्लेक्सिटी वर्ग 'NTIME'(f(n)) 'NTIME'(g(n)) का एक सख्त उपसमुच्चय है।

परिणाम

समय हाइरार्की प्रमेय गारंटी देते हैं कि घातीय हाइरार्की के नियतात्मक और गैर-नियतात्मक संस्करण वास्तविक हाइरार्की हैं: दूसरे शब्दों में पी (जटिलता)EXPTIME2-EXP ⊊ ... और NP (जटिलता) ⊊ NEXPTIME ⊊ 2-NEXP ⊊ ....

उदाहरण के लिए, तब से . वास्तव में, समय हाइरार्की प्रमेय से.

प्रमेय यह भी गारंटी देता है कि पी में ऐसी समस्याएं हैं जिन्हें हल करने के लिए मनमाने ढंग से बड़े घातांक की आवश्यकता होती है; दूसरे शब्दों में, P DTIME(n तक संक्षिप्त नहीं होता हैk) किसी निश्चित k के लिए। उदाहरण के लिए, n में हल करने योग्य समस्याएं हैं5000समय लेकिन n नहीं4999समय. यह कोबम की थीसिस के ख़िलाफ़ एक तर्क है, यह परंपरा कि पी एल्गोरिदम का एक व्यावहारिक वर्ग है। यदि ऐसा पतन होता है, तो हम यह निष्कर्ष निकाल सकते हैं कि P ≠ PSPACE, क्योंकि यह एक प्रसिद्ध प्रमेय है कि DTIME(f(n)) सख्ती से DSPACE(f(n)) में समाहित है।

हालाँकि, समय हाइरार्की प्रमेय नियतात्मक और गैर-नियतात्मक जटिलता, या समय और स्थान कॉम्प्लेक्सिटी से संबंधित कोई साधन प्रदान नहीं करते हैं, इसलिए वे कम्प्यूटेशनल कॉम्प्लेक्सिटी सिद्धांत के महान अनसुलझे प्रश्नों पर कोई प्रकाश नहीं डालते हैं: क्या P = NP समस्या, NP और PSPACE, PSPACE और EXPTIME, या EXPTIME और NEXPTIME समान हैं या नहीं।

तीव्र हाइरार्की प्रमेय

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

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

इन मॉडलों के लिए, प्रमेय का निम्नलिखित रूप है:

यदि f(n) एक समय-निर्माण योग्य फ़ंक्शन है, तो एक निर्णय समस्या मौजूद है जिसे सबसे खराब स्थिति वाले नियतात्मक समय f(n) में हल नहीं किया जा सकता है, लेकिन कुछ स्थिरांक a (f पर निर्भर) के लिए सबसे खराब स्थिति वाले समय af(n) में हल किया जा सकता है।

इस प्रकार, समय सीमा में एक निरंतर-कारक वृद्धि ट्यूरिंग मशीनों की स्थिति के विपरीत, अधिक समस्याओं को हल करने की अनुमति देती है (रेखीय स्पीडअप प्रमेय देखें)। इसके अलावा, बेन-अम्राम ने साबित किया[10] उपरोक्त चालों में, बहुपद वृद्धि दर (लेकिन रैखिक से अधिक) के लिए, यह मामला है कि सभी के लिए , एक निर्णय समस्या मौजूद है जिसे सबसे खराब स्थिति नियतात्मक समय f(n) में हल नहीं किया जा सकता है लेकिन सबसे खराब स्थिति में हल किया जा सकता है .

यह भी देखें

  • अंतरिक्ष हाइरार्की प्रमेय

संदर्भ

  1. Hartmanis, J.; Stearns, R. E. (1 May 1965). "On the computational complexity of algorithms". Transactions of the American Mathematical Society. American Mathematical Society. 117: 285–306. doi:10.2307/1994208. ISSN 0002-9947. JSTOR 1994208. MR 0170805.
  2. Hennie, F. C.; Stearns, R. E. (October 1966). "Two-Tape Simulation of Multitape Turing Machines". J. ACM. New York, NY, USA: ACM. 13 (4): 533–546. doi:10.1145/321356.321362. ISSN 0004-5411. S2CID 2347143.
  3. Cook, Stephen A. (1972). "A hierarchy for nondeterministic time complexity". Proceedings of the fourth annual ACM symposium on Theory of computing. STOC '72. Denver, Colorado, United States: ACM. pp. 187–192. doi:10.1145/800152.804913.
  4. Seiferas, Joel I.; Fischer, Michael J.; Meyer, Albert R. (January 1978). "Separating Nondeterministic Time Complexity Classes". J. ACM. New York, NY, USA: ACM. 25 (1): 146–167. doi:10.1145/322047.322061. ISSN 0004-5411. S2CID 13561149.
  5. Žák, Stanislav (October 1983). "A Turing machine time hierarchy". Theoretical Computer Science. Elsevier Science B.V. 26 (3): 327–333. doi:10.1016/0304-3975(83)90015-4.
  6. Fortnow, L.; Santhanam, R. (2004). "Hierarchy Theorems for Probabilistic Polynomial Time". 45th Annual IEEE Symposium on Foundations of Computer Science. p. 316. doi:10.1109/FOCS.2004.33. ISBN 0-7695-2228-9. S2CID 5555450.
  7. Sipser, Michael. संगणना के सिद्धांत का परिचय (3rd ed.). CENGAGE learning. ISBN 1-133-18779-X.
  8. Sudborough, Ivan H.; Zalcberg, A. (1976). "समयबद्ध रैंडम एक्सेस मशीनों द्वारा परिभाषित भाषाओं के परिवारों पर". SIAM Journal on Computing. 5 (2): 217--230. doi:10.1137/0205018.
  9. Jones, Neil D. (1993). "लगातार कारक मायने रखते हैं". 25th Symposium on the theory of Computing: 602–611. doi:10.1145/167088.167244.
  10. Ben-Amram, Amir M. (2003). "सख्त स्थिर-कारक समय पदानुक्रम". Information Processing Letters. 87 (1): 39–44.


अग्रिम पठन