एवरेज-केस कम्प्लेक्सिटी: Difference between revisions
(Created page with "{{redirect|AvgP|other uses|avgp (disambiguation)}} कम्प्यूटेशनल जटिलता सिद्धांत में, कलन विधि...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{redirect| | {{redirect|औसत.पी|अन्य उपयोग|औसत पी (असंबद्धता)}} | ||
[[कम्प्यूटेशनल जटिलता सिद्धांत]] में, [[कलन विधि]] की औसत-केस जटिलता | [[कम्प्यूटेशनल जटिलता सिद्धांत]] में, एक [[कलन विधि]] की औसत-केस जटिलता कलन विधि द्वारा उपयोग किए जाने वाले कुछ कम्प्यूटेशनल संसाधन (आमतौर पर समय) की मात्रा है, जो सभी संभावित इनपुट पर औसत होती है। इसकी तुलना अक्सर सबसे खराब स्थिति वाली जटिलता से की जाती है जो सभी संभावित इनपुटों पर कलन विधि की अधिकतम जटिलता पर विचार करती है। | ||
औसत-मामले की जटिलता का अध्ययन करने के लिए तीन प्राथमिक प्रेरणाएँ हैं।<ref name="gol07">O. Goldreich and S. Vadhan, Special issue on worst-case versus average-case complexity, Comput. Complex. 16, 325–330, 2007.</ref> सबसे पहले, हालांकि कुछ समस्याएं सबसे खराब स्थिति में कठिन हो सकती हैं, लेकिन इस व्यवहार को उत्पन्न करने वाले इनपुट व्यवहार में शायद ही कभी | औसत-मामले की जटिलता का अध्ययन करने के लिए तीन प्राथमिक प्रेरणाएँ हैं।<ref name="gol07">O. Goldreich and S. Vadhan, Special issue on worst-case versus average-case complexity, Comput. Complex. 16, 325–330, 2007.</ref> सबसे पहले, हालांकि कुछ समस्याएं सबसे खराब स्थिति में कठिन हो सकती हैं, लेकिन इस व्यवहार को उत्पन्न करने वाले इनपुट व्यवहार में शायद ही कभी हो सकते हैं, इसलिए औसत-मामले की जटिलता कलन विधि के प्रदर्शन का अधिक सटीक माप हो सकती है। दूसरा, औसत-मामला जटिलता विश्लेषण समस्याओं के कठिन उदाहरण उत्पन्न करने के लिए उपकरण और तकनीक प्रदान करता है जिसका उपयोग [[क्रिप्टोग्राफी]] और [[व्युत्पन्नकरण]] जैसे क्षेत्रों में किया जा सकता है। तीसरा, औसत-मामला जटिलता समतुल्य सर्वोत्तम-मामले जटिलता (उदाहरण के लिए क्विकॉर्ट) के कलन विधि के बीच व्यवहार में सबसे कुशल कलन विधि को भेदभाव करने की अनुमति देती है। | ||
औसत- | औसत-मामले विश्लेषण के लिए एक कलन विधि में "औसत" इनपुट की धारणा की आवश्यकता होती है, जिससे इनपुट पर संभाव्यता वितरण तैयार करने की समस्या पैदा होती है। वैकल्पिक रूप से, [[यादृच्छिक एल्गोरिदम|यादृच्छिक कलन विधि]] का उपयोग किया जा सकता है। ऐसे कलन विधि के विश्लेषण से अपेक्षित जटिलता की संबंधित धारणा सामने आती है।<ref name="clrs"/> | ||
==इतिहास और पृष्ठभूमि== | ==इतिहास और पृष्ठभूमि== | ||
1950 के दशक में कम्प्यूटेशनल दक्षता की आधुनिक धारणाएँ विकसित होने के बाद से | 1950 के दशक में कम्प्यूटेशनल दक्षता की आधुनिक धारणाएँ विकसित होने के बाद से कलन विधि के औसत-मामले प्रदर्शन का अध्ययन किया गया है। इस प्रारंभिक कार्य का अधिकांश भाग उन समस्याओं पर केंद्रित था जिनके लिए सबसे खराब स्थिति वाले बहुपद समय कलन विधि पहले से ही ज्ञात थे।<ref name="bog06">A. Bogdanov and L. Trevisan, "Average-Case Complexity," Foundations and Trends in Theoretical Computer Science, Vol. 2, No 1 (2006) 1–106.</ref> 1973 में, [[डोनाल्ड नुथ]]<ref name="knu73">D. Knuth, [[The Art of Computer Programming]]. Vol. 3, Addison-Wesley, 1973.</ref> [[कंप्यूटर प्रोग्रामिंग की कला]] का खंड 3 प्रकाशित किया गया है, जो सॉर्टिंग और मीडियन-फाइंडिंग जैसी सबसे खराब स्थिति वाले बहुपद समय में हल करने योग्य समस्याओं के लिए कलन विधि के औसत-केस प्रदर्शन का व्यापक रूप से सर्वेक्षण करता है। | ||
एनपी-पूर्ण के लिए एक कुशल | एनपी-पूर्ण के लिए एक कुशल कलन विधि|{{math|'''NP'''}}-पूर्ण समस्याओं को आम तौर पर एक ऐसी समस्या के रूप में जाना जाता है जो सभी इनपुट के लिए बहुपद समय में चलती है; यह कुशल सबसे खराब स्थिति की जटिलता की आवश्यकता के बराबर है। हालाँकि, एक कलन विधि जो कम संख्या में इनपुट पर अक्षम है, फिर भी व्यवहार में आने वाले अधिकांश इनपुट के लिए कुशल हो सकता है। इस प्रकार, इन कलन विधि के गुणों का अध्ययन करना वांछनीय है जहां औसत-मामले की जटिलता सबसे खराब-मामले की जटिलता से भिन्न हो सकती है और दोनों को जोड़ने के तरीके ढूंढ सकती है। | ||
औसत-मामले की जटिलता की मौलिक धारणाएं 1986 में [[लियोनिद लेविन]] द्वारा विकसित की गईं जब उन्होंने एक पेज का पेपर प्रकाशित किया<ref name="levin86">L. Levin, "Average case complete problems," SIAM Journal on Computing, vol. 15, no. 1, pp. 285–286, 1986.</ref> पूर्ण समस्या का उदाहरण देते हुए औसत-मामले की जटिलता और पूर्णता को परिभाषित करना {{math|'''distNP'''}}, एनपी (जटिलता) का औसत-केस एनालॉग|{{math|'''NP'''}}. | औसत-मामले की जटिलता की मौलिक धारणाएं 1986 में [[लियोनिद लेविन]] द्वारा विकसित की गईं जब उन्होंने एक पेज का पेपर प्रकाशित किया<ref name="levin86">L. Levin, "Average case complete problems," SIAM Journal on Computing, vol. 15, no. 1, pp. 285–286, 1986.</ref> पूर्ण समस्या का उदाहरण देते हुए औसत-मामले की जटिलता और पूर्णता को परिभाषित करना {{math|'''distNP'''}}, एनपी (जटिलता) का औसत-केस एनालॉग|{{math|'''NP'''}}. | ||
Line 18: | Line 18: | ||
===कुशल औसत-मामले की जटिलता=== | ===कुशल औसत-मामले की जटिलता=== | ||
पहला कार्य सटीक रूप से परिभाषित करना है कि एक | पहला कार्य सटीक रूप से परिभाषित करना है कि एक कलन विधि का क्या मतलब है जो औसतन कुशल है। एक प्रारंभिक प्रयास एक कुशल औसत-केस कलन विधि को परिभाषित कर सकता है जो सभी संभावित इनपुट पर अपेक्षित बहुपद समय में चलता है। ऐसी परिभाषा में विभिन्न कमियाँ हैं; विशेष रूप से, यह कम्प्यूटेशनल मॉडल में बदलाव के लिए मजबूत नहीं है। उदाहरण के लिए, मान लीजिए कलन विधि {{mvar|A}}समय पर चलता है {{math|''t''<sub>''A''</sub>(''x'')}} इनपुट पर {{mvar|x}} और कलन विधि {{mvar|B}}समय पर चलता है {{math|''t''<sub>''A''</sub>(''x'')<sup>2</sup>}} इनपुट पर {{mvar|x}}; वह है, {{mvar|B}} की तुलना में चतुष्कोणीय रूप से धीमा है {{mvar|A}}. सहज रूप से, औसत-मामले दक्षता की किसी भी परिभाषा में इस विचार को शामिल किया जाना चाहिए {{mvar|A}} औसत पर कुशल है यदि और केवल यदि {{mvar|B}} औसत रूप से कुशल है. हालाँकि, मान लीजिए कि इनपुट लंबाई के साथ स्ट्रिंग के समान वितरण से यादृच्छिक रूप से लिए गए हैं {{mvar|n}}, ओर वो {{mvar|A}}समय पर चलता है {{math|''n''<sup>2</sup>}} स्ट्रिंग को छोड़कर सभी इनपुट पर {{math|1<sup>''n''</sup>}} जिसके लिए {{mvar|A}} समय लेता है {{math|2<sup>''n''</sup>}}. फिर यह आसानी से जांचा जा सकता है कि अपेक्षित चलने का समय क्या है {{mvar|A}} बहुपद है लेकिन अपेक्षित चलने का समय {{mvar|B}}घातांकीय है.<ref name="bog06" /> | ||
औसत-केस दक्षता की अधिक मजबूत परिभाषा बनाने के लिए, एक | औसत-केस दक्षता की अधिक मजबूत परिभाषा बनाने के लिए, एक कलन विधि की अनुमति देना समझ में आता है {{mvar|A}} कुछ इनपुट पर बहुपद समय से अधिक समय तक चलने के लिए लेकिन जिस पर इनपुट का अंश {{mvar|A}} बड़ी और बड़ी आवश्यकता होती है, चलने का समय छोटा और छोटा होता जाता है। इस अंतर्ज्ञान को औसत बहुपद चलने वाले समय के लिए निम्नलिखित सूत्र में कैद किया गया है, जो चलने वाले समय और इनपुट के अंश के बीच बहुपद व्यापार-बंद को संतुलित करता है: | ||
:<math> | :<math> | ||
Line 30: | Line 30: | ||
E_{x \in_R D_n} \left[ \frac{t_{A}(x)^{\epsilon}}{n} \right] \leq C | E_{x \in_R D_n} \left[ \frac{t_{A}(x)^{\epsilon}}{n} \right] \leq C | ||
</math> | </math> | ||
कुछ स्थिरांक के लिए {{mvar|C}} और {{mvar|ε}}, कहाँ {{math|''n'' {{=}} {{abs|''x''}}}}.<ref name="ab09">S. Arora and B. Barak, Computational Complexity: A Modern Approach, Cambridge University Press, New York, NY, 2009.</ref> दूसरे शब्दों में, एक | कुछ स्थिरांक के लिए {{mvar|C}} और {{mvar|ε}}, कहाँ {{math|''n'' {{=}} {{abs|''x''}}}}.<ref name="ab09">S. Arora and B. Barak, Computational Complexity: A Modern Approach, Cambridge University Press, New York, NY, 2009.</ref><nowiki> दूसरे शब्दों में, एक कलन विधि {{mvar|A}यदि, दौड़ने के बाद, } में औसत-मामले की जटिलता अच्छी है </nowiki>{{math|''t''<sub>''A''</sub>(''n'')}} कदम, {{mvar|A}}ए को छोड़कर सभी को हल कर सकता है {{math|{{sfrac|''n''<sup>''c''</sup>|(''t''<sub>''A''</sub>(''n''))<sup>''ε''</sup>}}}} लंबाई के इनपुट का अंश {{mvar|n}}, कुछ के लिए {{math|''ε'', ''c'' > 0}}.<ref name="bog06"/> | ||
Line 43: | Line 43: | ||
===एवीजीपी और डिस्टएनपी=== | ===एवीजीपी और डिस्टएनपी=== | ||
एक वितरण संबंधी समस्या {{math|(''L'', ''D'')}} जटिलता वर्ग में है {{math|'''AvgP'''}} यदि इसके लिए एक कुशल औसत-केस | एक वितरण संबंधी समस्या {{math|(''L'', ''D'')}} जटिलता वर्ग में है {{math|'''AvgP'''}} यदि इसके लिए एक कुशल औसत-केस कलन विधि है {{mvar|L}}, जैसा कि ऊपर परिभाषित किया गया है। कक्षा {{math|'''AvgP'''}} को कभी-कभी बुलाया जाता है {{math|'''distP'''}} साहित्य में।<ref name="ab09"/> | ||
एक वितरण संबंधी समस्या {{math|(''L'', ''D'')}} जटिलता वर्ग में है {{math|'''distNP'''}} अगर {{mvar|L}} में है {{math|'''NP'''}} और {{mvar|D}} है {{math|'''P'''}}-गणनायोग्य. कब {{mvar|L}} में है {{math|'''NP'''}} और {{mvar|D}} है {{math|'''P'''}}-नमूना योग्य, {{math|(''L'', ''D'')}} से संबंधित {{math|'''sampNP'''}}.<ref name="ab09"/> | एक वितरण संबंधी समस्या {{math|(''L'', ''D'')}} जटिलता वर्ग में है {{math|'''distNP'''}} अगर {{mvar|L}} में है {{math|'''NP'''}} और {{mvar|D}} है {{math|'''P'''}}-गणनायोग्य. कब {{mvar|L}} में है {{math|'''NP'''}} और {{mvar|D}} है {{math|'''P'''}}-नमूना योग्य, {{math|(''L'', ''D'')}} से संबंधित {{math|'''sampNP'''}}.<ref name="ab09"/> | ||
Line 55: | Line 55: | ||
#(शुद्धता) {{math|''x'' ∈ ''L''}} अगर और केवल अगर {{math|''f''(''x'') ∈ ''L′''}} | #(शुद्धता) {{math|''x'' ∈ ''L''}} अगर और केवल अगर {{math|''f''(''x'') ∈ ''L′''}} | ||
#(प्रभुत्व) बहुपद होते हैं {{mvar|p}} और {{mvar|m}} ऐसा कि, प्रत्येक के लिए {{mvar|n}} और {{mvar|y}}, <math>\sum\limits_{x: f(x) = y} D_n(x) \leq p(n)D'_{m(n)}(y)</math> | #(प्रभुत्व) बहुपद होते हैं {{mvar|p}} और {{mvar|m}} ऐसा कि, प्रत्येक के लिए {{mvar|n}} और {{mvar|y}}, <math>\sum\limits_{x: f(x) = y} D_n(x) \leq p(n)D'_{m(n)}(y)</math> | ||
प्रभुत्व की स्थिति इस धारणा को लागू करती है कि यदि समस्या है {{math|(''L'', ''D'')}} तो फिर औसत रूप से कठिन है {{math|(''L′'', ''D′'')}} औसत रूप से भी कठिन है। सहज रूप से, कमी को किसी उदाहरण को हल करने का एक तरीका प्रदान करना चाहिए {{mvar|x}}समस्या का {{mvar|L}} कंप्यूटिंग द्वारा {{math|''f''(''x'')}} और आउटपुट को | प्रभुत्व की स्थिति इस धारणा को लागू करती है कि यदि समस्या है {{math|(''L'', ''D'')}} तो फिर औसत रूप से कठिन है {{math|(''L′'', ''D′'')}} औसत रूप से भी कठिन है। सहज रूप से, कमी को किसी उदाहरण को हल करने का एक तरीका प्रदान करना चाहिए {{mvar|x}}समस्या का {{mvar|L}} कंप्यूटिंग द्वारा {{math|''f''(''x'')}} और आउटपुट को कलन विधि को फीड करना जो हल करता है {{mvar|L'}}. वर्चस्व की स्थिति के बिना, यह संभव नहीं हो सकता है क्योंकि कलन विधि जो हल करता है {{mvar|L}} बहुपद समय में औसतन कम संख्या में इनपुट पर सुपर-बहुपद समय लग सकता है {{mvar|f}} इन इनपुटों को बहुत बड़े सेट में मैप कर सकता है {{mvar|D'}} तो वह कलन विधि {{mvar|A'}} अब औसतन बहुपद समय में नहीं चलता। वर्चस्व की स्थिति केवल ऐसे तारों को बहुपद रूप से घटित होने की अनुमति देती है जैसा कि अक्सर होता है {{mvar|D'}}.<ref name="wangsurvey"/> | ||
Line 73: | Line 73: | ||
==अनुप्रयोग== | ==अनुप्रयोग== | ||
===सॉर्टिंग | ===सॉर्टिंग कलन विधि=== | ||
जैसा कि ऊपर उल्लेख किया गया है, औसत-मामले की जटिलता से संबंधित बहुत से प्रारंभिक कार्य उन समस्याओं पर केंद्रित थे जिनके लिए बहुपद-समय | जैसा कि ऊपर उल्लेख किया गया है, औसत-मामले की जटिलता से संबंधित बहुत से प्रारंभिक कार्य उन समस्याओं पर केंद्रित थे जिनके लिए बहुपद-समय कलन विधि पहले से मौजूद थे, जैसे कि सॉर्टिंग। उदाहरण के लिए, कई सॉर्टिंग कलन विधि जो यादृच्छिकता का उपयोग करते हैं, जैसे कि [[जल्दी से सुलझाएं]], का चलने का समय सबसे खराब होता है {{math|O(''n''<sup>2</sup>)}}, लेकिन औसत केस चलने का समय {{math|O(''n'' log(''n''))}}, कहाँ {{mvar|n}} सॉर्ट किए जाने वाले इनपुट की लंबाई है।<ref name="clrs">Cormen, Thomas H.; Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford (2009) [1990]. Introduction to Algorithms (3rd ed.). MIT Press and McGraw-Hill. {{ISBN|0-262-03384-4}}.</ref> | ||
===क्रिप्टोग्राफी=== | ===क्रिप्टोग्राफी=== | ||
अधिकांश समस्याओं के लिए, औसत-केस जटिलता विश्लेषण उस समस्या के लिए कुशल | अधिकांश समस्याओं के लिए, औसत-केस जटिलता विश्लेषण उस समस्या के लिए कुशल कलन विधि खोजने के लिए किया जाता है जिसे सबसे खराब स्थिति में कठिन माना जाता है। हालाँकि, क्रिप्टोग्राफ़िक अनुप्रयोगों में, विपरीत सच है: सबसे खराब स्थिति की जटिलता अप्रासंगिक है; इसके बजाय हम यह गारंटी चाहते हैं कि क्रिप्टोग्राफ़िक योजना को तोड़ने वाले प्रत्येक कलन विधि की औसत-केस जटिलता अक्षम है।<ref name="katz07">J. Katz and Y. Lindell, Introduction to Modern Cryptography (Chapman and Hall/Crc Cryptography and Network Security Series), Chapman and Hall/CRC, 2007.</ref> | ||
इस प्रकार, सभी सुरक्षित क्रिप्टोग्राफ़िक योजनाएँ एकतरफा कार्यों के अस्तित्व पर निर्भर करती हैं।<ref name="bog06"/>हालाँकि एक-तरफ़ा फ़ंक्शंस का अस्तित्व अभी भी एक खुली समस्या है, कई उम्मीदवार एक-तरफ़ा फ़ंक्शंस [[पूर्णांक गुणनखंडन]] या असतत लॉग की गणना जैसी कठिन समस्याओं पर आधारित हैं। ध्यान दें कि उम्मीदवार के कार्य के लिए ऐसा होना वांछनीय नहीं है {{math|'''NP'''}}-पूर्ण क्योंकि यह केवल इस बात की गारंटी देगा कि सबसे खराब स्थिति में समस्या को हल करने के लिए कोई कुशल | इस प्रकार, सभी सुरक्षित क्रिप्टोग्राफ़िक योजनाएँ एकतरफा कार्यों के अस्तित्व पर निर्भर करती हैं।<ref name="bog06"/>हालाँकि एक-तरफ़ा फ़ंक्शंस का अस्तित्व अभी भी एक खुली समस्या है, कई उम्मीदवार एक-तरफ़ा फ़ंक्शंस [[पूर्णांक गुणनखंडन]] या असतत लॉग की गणना जैसी कठिन समस्याओं पर आधारित हैं। ध्यान दें कि उम्मीदवार के कार्य के लिए ऐसा होना वांछनीय नहीं है {{math|'''NP'''}}-पूर्ण क्योंकि यह केवल इस बात की गारंटी देगा कि सबसे खराब स्थिति में समस्या को हल करने के लिए कोई कुशल कलन विधि नहीं है; हम वास्तव में यह गारंटी चाहते हैं कि कोई भी कुशल कलन विधि यादृच्छिक इनपुट (यानी औसत मामला) पर समस्या का समाधान नहीं कर सकता है। वास्तव में, पूर्णांक गुणनखंडन और असतत लॉग समस्याएँ दोनों ही हैं {{math|'''NP''' ∩ }}coNP|{{math|'''coNP'''}}, और इसलिए ऐसा नहीं माना जाता है {{math|'''NP'''}}-पूरा।<ref name="ab09"/>तथ्य यह है कि संपूर्ण क्रिप्टोग्राफी औसत-मामले में कठिन समस्याओं के अस्तित्व पर आधारित है {{math|'''NP'''}} औसत-मामले की जटिलता का अध्ययन करने के लिए प्राथमिक प्रेरणाओं में से एक है। | ||
==अन्य परिणाम== | ==अन्य परिणाम== | ||
1990 में, इम्पाग्लिआज़ो और लेविन ने दिखाया कि यदि किसी के लिए एक कुशल औसत-केस | 1990 में, इम्पाग्लिआज़ो और लेविन ने दिखाया कि यदि किसी के लिए एक कुशल औसत-केस कलन विधि है {{math|'''distNP'''}}-समान वितरण के तहत पूर्ण समस्या, फिर प्रत्येक समस्या के लिए एक औसत-केस कलन विधि है {{math|'''NP'''}} किसी भी बहुपद-समय नमूना योग्य वितरण के तहत।<ref name="imp90">R. Impagliazzo and L. Levin, "No Better Ways to Generate Hard NP Instances than Picking Uniformly at Random," in Proceedings of the 31st IEEE Sympo- sium on Foundations of Computer Science, pp. 812–821, 1990.</ref> इस सिद्धांत को प्राकृतिक वितरण संबंधी समस्याओं पर लागू करना एक उत्कृष्ट खुला प्रश्न बना हुआ है।<ref name="bog06"/> | ||
1992 में, बेन-डेविड एट अल। दिखाया कि यदि सभी भाषाओं में {{math|'''distNP'''}} उनके पास औसत पर अच्छे निर्णय | 1992 में, बेन-डेविड एट अल। दिखाया कि यदि सभी भाषाओं में {{math|'''distNP'''}} उनके पास औसत पर अच्छे निर्णय कलन विधि हैं, उनके पास औसत पर अच्छे खोज कलन विधि भी हैं। इसके अलावा, वे दिखाते हैं कि यह निष्कर्ष एक कमजोर धारणा के अंतर्गत आता है: यदि प्रत्येक भाषा में {{math|'''NP'''}}समान वितरण के संबंध में निर्णय कलन विधि के लिए औसत रूप से आसान है, फिर समान वितरण के संबंध में खोज कलन विधि के लिए भी यह औसत रूप से आसान है।<ref name="bd92">S. Ben-David, [[Benny Chor|B. Chor]], O. Goldreich, and M. Luby, "On the theory of average case complexity," Journal of Computer and System Sciences, vol. 44, no. 2, pp. 193–219, 1992.</ref> इस प्रकार, क्रिप्टोग्राफ़िक वन-वे फ़ंक्शंस केवल तभी मौजूद हो सकते हैं जब वहाँ हों {{math|'''distNP'''}} समान वितरण पर समस्याएं जो निर्णय कलन विधि के लिए औसतन कठिन हैं। | ||
1993 में, फेगेनबाम और फ़ोर्टनो ने दिखाया कि गैर-अनुकूली यादृच्छिक कटौती के तहत, यह साबित करना संभव नहीं है कि एक अच्छे-ऑन-औसत | 1993 में, फेगेनबाम और फ़ोर्टनो ने दिखाया कि गैर-अनुकूली यादृच्छिक कटौती के तहत, यह साबित करना संभव नहीं है कि एक अच्छे-ऑन-औसत कलन विधि का अस्तित्व {{math|'''distNP'''}}-समान वितरण के तहत पूर्ण समस्या का तात्पर्य सभी समस्याओं के लिए सबसे खराब स्थिति वाले कुशल कलन विधि के अस्तित्व से है {{math|'''NP'''}}.<ref name="ff93">J. Feigenbaum and L. Fortnow, "Random-self-reducibility of complete sets," SIAM Journal on Computing, vol. 22, pp. 994–1005, 1993.</ref> 2003 में, बोगदानोव और ट्रेविसन ने इस परिणाम को मनमाने ढंग से गैर-अनुकूली कटौती के रूप में सामान्यीकृत किया।<ref name="bog03">A. Bogdanov and L. Trevisan, "On worst-case to average-case reductions for NP problems," in Proceedings of the 44th IEEE Symposium on Foundations of Computer Science, pp. 308–317, 2003.</ref> इन परिणामों से पता चलता है कि यह संभावना नहीं है कि कटौती के माध्यम से औसत-मामले की जटिलता और सबसे खराब-मामले की जटिलता के बीच कोई संबंध बनाया जा सकता है।<ref name="bog06"/> | ||
==यह भी देखें== | ==यह भी देखें== | ||
* [[एल्गोरिदम का संभाव्य विश्लेषण]] | * [[एल्गोरिदम का संभाव्य विश्लेषण|कलन विधि का संभाव्य विश्लेषण]] | ||
*एनपी-पूर्ण समस्याएं | *एनपी-पूर्ण समस्याएं | ||
*सबसे खराब स्थिति जटिलता | *सबसे खराब स्थिति जटिलता |
Revision as of 09:33, 11 July 2023
कम्प्यूटेशनल जटिलता सिद्धांत में, एक कलन विधि की औसत-केस जटिलता कलन विधि द्वारा उपयोग किए जाने वाले कुछ कम्प्यूटेशनल संसाधन (आमतौर पर समय) की मात्रा है, जो सभी संभावित इनपुट पर औसत होती है। इसकी तुलना अक्सर सबसे खराब स्थिति वाली जटिलता से की जाती है जो सभी संभावित इनपुटों पर कलन विधि की अधिकतम जटिलता पर विचार करती है।
औसत-मामले की जटिलता का अध्ययन करने के लिए तीन प्राथमिक प्रेरणाएँ हैं।[1] सबसे पहले, हालांकि कुछ समस्याएं सबसे खराब स्थिति में कठिन हो सकती हैं, लेकिन इस व्यवहार को उत्पन्न करने वाले इनपुट व्यवहार में शायद ही कभी हो सकते हैं, इसलिए औसत-मामले की जटिलता कलन विधि के प्रदर्शन का अधिक सटीक माप हो सकती है। दूसरा, औसत-मामला जटिलता विश्लेषण समस्याओं के कठिन उदाहरण उत्पन्न करने के लिए उपकरण और तकनीक प्रदान करता है जिसका उपयोग क्रिप्टोग्राफी और व्युत्पन्नकरण जैसे क्षेत्रों में किया जा सकता है। तीसरा, औसत-मामला जटिलता समतुल्य सर्वोत्तम-मामले जटिलता (उदाहरण के लिए क्विकॉर्ट) के कलन विधि के बीच व्यवहार में सबसे कुशल कलन विधि को भेदभाव करने की अनुमति देती है।
औसत-मामले विश्लेषण के लिए एक कलन विधि में "औसत" इनपुट की धारणा की आवश्यकता होती है, जिससे इनपुट पर संभाव्यता वितरण तैयार करने की समस्या पैदा होती है। वैकल्पिक रूप से, यादृच्छिक कलन विधि का उपयोग किया जा सकता है। ऐसे कलन विधि के विश्लेषण से अपेक्षित जटिलता की संबंधित धारणा सामने आती है।[2]
इतिहास और पृष्ठभूमि
1950 के दशक में कम्प्यूटेशनल दक्षता की आधुनिक धारणाएँ विकसित होने के बाद से कलन विधि के औसत-मामले प्रदर्शन का अध्ययन किया गया है। इस प्रारंभिक कार्य का अधिकांश भाग उन समस्याओं पर केंद्रित था जिनके लिए सबसे खराब स्थिति वाले बहुपद समय कलन विधि पहले से ही ज्ञात थे।[3] 1973 में, डोनाल्ड नुथ[4] कंप्यूटर प्रोग्रामिंग की कला का खंड 3 प्रकाशित किया गया है, जो सॉर्टिंग और मीडियन-फाइंडिंग जैसी सबसे खराब स्थिति वाले बहुपद समय में हल करने योग्य समस्याओं के लिए कलन विधि के औसत-केस प्रदर्शन का व्यापक रूप से सर्वेक्षण करता है।
एनपी-पूर्ण के लिए एक कुशल कलन विधि|NP-पूर्ण समस्याओं को आम तौर पर एक ऐसी समस्या के रूप में जाना जाता है जो सभी इनपुट के लिए बहुपद समय में चलती है; यह कुशल सबसे खराब स्थिति की जटिलता की आवश्यकता के बराबर है। हालाँकि, एक कलन विधि जो कम संख्या में इनपुट पर अक्षम है, फिर भी व्यवहार में आने वाले अधिकांश इनपुट के लिए कुशल हो सकता है। इस प्रकार, इन कलन विधि के गुणों का अध्ययन करना वांछनीय है जहां औसत-मामले की जटिलता सबसे खराब-मामले की जटिलता से भिन्न हो सकती है और दोनों को जोड़ने के तरीके ढूंढ सकती है।
औसत-मामले की जटिलता की मौलिक धारणाएं 1986 में लियोनिद लेविन द्वारा विकसित की गईं जब उन्होंने एक पेज का पेपर प्रकाशित किया[5] पूर्ण समस्या का उदाहरण देते हुए औसत-मामले की जटिलता और पूर्णता को परिभाषित करना distNP, एनपी (जटिलता) का औसत-केस एनालॉग|NP.
परिभाषाएँ
कुशल औसत-मामले की जटिलता
पहला कार्य सटीक रूप से परिभाषित करना है कि एक कलन विधि का क्या मतलब है जो औसतन कुशल है। एक प्रारंभिक प्रयास एक कुशल औसत-केस कलन विधि को परिभाषित कर सकता है जो सभी संभावित इनपुट पर अपेक्षित बहुपद समय में चलता है। ऐसी परिभाषा में विभिन्न कमियाँ हैं; विशेष रूप से, यह कम्प्यूटेशनल मॉडल में बदलाव के लिए मजबूत नहीं है। उदाहरण के लिए, मान लीजिए कलन विधि Aसमय पर चलता है tA(x) इनपुट पर x और कलन विधि Bसमय पर चलता है tA(x)2 इनपुट पर x; वह है, B की तुलना में चतुष्कोणीय रूप से धीमा है A. सहज रूप से, औसत-मामले दक्षता की किसी भी परिभाषा में इस विचार को शामिल किया जाना चाहिए A औसत पर कुशल है यदि और केवल यदि B औसत रूप से कुशल है. हालाँकि, मान लीजिए कि इनपुट लंबाई के साथ स्ट्रिंग के समान वितरण से यादृच्छिक रूप से लिए गए हैं n, ओर वो Aसमय पर चलता है n2 स्ट्रिंग को छोड़कर सभी इनपुट पर 1n जिसके लिए A समय लेता है 2n. फिर यह आसानी से जांचा जा सकता है कि अपेक्षित चलने का समय क्या है A बहुपद है लेकिन अपेक्षित चलने का समय Bघातांकीय है.[3]
औसत-केस दक्षता की अधिक मजबूत परिभाषा बनाने के लिए, एक कलन विधि की अनुमति देना समझ में आता है A कुछ इनपुट पर बहुपद समय से अधिक समय तक चलने के लिए लेकिन जिस पर इनपुट का अंश A बड़ी और बड़ी आवश्यकता होती है, चलने का समय छोटा और छोटा होता जाता है। इस अंतर्ज्ञान को औसत बहुपद चलने वाले समय के लिए निम्नलिखित सूत्र में कैद किया गया है, जो चलने वाले समय और इनपुट के अंश के बीच बहुपद व्यापार-बंद को संतुलित करता है:
हरएक के लिए n, t > 0 और बहुपद p, कहाँ tA(x) एल्गोरिथम के चलने के समय को दर्शाता है A इनपुट पर x, और ε एक सकारात्मक स्थिरांक मान है.[6] वैकल्पिक रूप से, इसे इस प्रकार लिखा जा सकता है
कुछ स्थिरांक के लिए C और ε, कहाँ n = |x|.[7] दूसरे शब्दों में, एक कलन विधि {{mvar|A}यदि, दौड़ने के बाद, } में औसत-मामले की जटिलता अच्छी है tA(n) कदम, Aए को छोड़कर सभी को हल कर सकता है nc/(tA(n))ε लंबाई के इनपुट का अंश n, कुछ के लिए ε, c > 0.[3]
वितरण संबंधी समस्या
अगला कदम किसी विशेष समस्या के औसत इनपुट को परिभाषित करना है। यह प्रत्येक समस्या के इनपुट को एक विशेष संभाव्यता वितरण के साथ जोड़कर प्राप्त किया जाता है। अर्थात्, एक औसत-मामले की समस्या में एक भाषा शामिल होती है L और एक संबद्ध संभाव्यता वितरण D जो जोड़ी बनाता है (L, D).[7]वितरण के दो सबसे सामान्य वर्ग जिनकी अनुमति है वे हैं:
- बहुपद-समय गणना योग्य वितरण (P-कंप्यूटेबल): ये ऐसे वितरण हैं जिनके लिए किसी दिए गए इनपुट के संचयी घनत्व की गणना करना संभव है x. अधिक औपचारिक रूप से, संभाव्यता वितरण दिया गया μ और एक स्ट्रिंग x ∈ {0, 1}n मूल्य की गणना करना संभव है बहुपद समय में. इसका अर्थ यह है कि Pr[x] बहुपद समय में भी गणना योग्य है।
- बहुपद-समय नमूना योग्य वितरण (P-नमूना योग्य): ये ऐसे वितरण हैं जिनसे बहुपद समय में यादृच्छिक नमूने निकालना संभव है।
समान होते हुए भी ये दोनों सूत्र समतुल्य नहीं हैं। यदि कोई वितरण है P-यह संगणनीय भी है P-नमूना योग्य, लेकिन यदि P (जटिलता)| तो इसका विपरीत सत्य नहीं हैP ≠ P#P.[7]
एवीजीपी और डिस्टएनपी
एक वितरण संबंधी समस्या (L, D) जटिलता वर्ग में है AvgP यदि इसके लिए एक कुशल औसत-केस कलन विधि है L, जैसा कि ऊपर परिभाषित किया गया है। कक्षा AvgP को कभी-कभी बुलाया जाता है distP साहित्य में।[7]
एक वितरण संबंधी समस्या (L, D) जटिलता वर्ग में है distNP अगर L में है NP और D है P-गणनायोग्य. कब L में है NP और D है P-नमूना योग्य, (L, D) से संबंधित sampNP.[7]
साथ में, AvgP और distNP के औसत-केस एनालॉग्स को परिभाषित करें P और NP, क्रमश।[7]
वितरण संबंधी समस्याओं के बीच कटौती
होने देना (L,D) और (L′, D′)दो वितरणात्मक समस्याएँ हों। (L, D) औसत-मामला कम हो जाता है (L′, D′) (लिखा हुआ (L, D) ≤AvgP (L′, D′)) यदि कोई फ़ंक्शन है f वह हर एक के लिए n, इनपुट पर x की गणना समय बहुपद में की जा सकती है n और
- (शुद्धता) x ∈ L अगर और केवल अगर f(x) ∈ L′
- (प्रभुत्व) बहुपद होते हैं p और m ऐसा कि, प्रत्येक के लिए n और y,
प्रभुत्व की स्थिति इस धारणा को लागू करती है कि यदि समस्या है (L, D) तो फिर औसत रूप से कठिन है (L′, D′) औसत रूप से भी कठिन है। सहज रूप से, कमी को किसी उदाहरण को हल करने का एक तरीका प्रदान करना चाहिए xसमस्या का L कंप्यूटिंग द्वारा f(x) और आउटपुट को कलन विधि को फीड करना जो हल करता है L'. वर्चस्व की स्थिति के बिना, यह संभव नहीं हो सकता है क्योंकि कलन विधि जो हल करता है L बहुपद समय में औसतन कम संख्या में इनपुट पर सुपर-बहुपद समय लग सकता है f इन इनपुटों को बहुत बड़े सेट में मैप कर सकता है D' तो वह कलन विधि A' अब औसतन बहुपद समय में नहीं चलता। वर्चस्व की स्थिति केवल ऐसे तारों को बहुपद रूप से घटित होने की अनुमति देती है जैसा कि अक्सर होता है D'.[6]
डिस्टएनपी-पूर्ण समस्याएं
औसत-केस एनालॉग NP-सम्पूर्णता है distNP-सम्पूर्णता. एक वितरण संबंधी समस्या (L′, D′) है distNP-पूर्ण करें यदि (L′, D′) में है distNP और प्रत्येक के लिए (L, D) में distNP, (L, D) औसत-मामले को कम करने योग्य है (L′, D′).[7]
ए का एक उदाहरण distNP-पूर्ण समस्या बाउंडेड हॉल्टिंग समस्या है, BH, इस प्रकार परिभाषित:
अपने मूल पेपर में, लेविन ने वितरणात्मक टाइलिंग समस्या का एक उदाहरण दिखाया जो औसत-मामला है NP-पूरा।[5]ज्ञात का एक सर्वेक्षण distNP-सम्पूर्ण समस्याएँ ऑनलाइन उपलब्ध है।[6]
सक्रिय अनुसंधान के एक क्षेत्र में नया खोजना शामिल है distNP-पूर्ण समस्याएँ। हालाँकि, गुरेविच के परिणाम के कारण ऐसी समस्याओं का पता लगाना जटिल हो सकता है जो दर्शाता है कि एक फ्लैट वितरण के साथ कोई भी वितरण समस्या नहीं हो सकती है distNP-जब तक EXP|पूर्ण न हो जाएEXP = NEXP|NEXP.[8] (एक फ्लैट वितरण μ वह है जिसके लिए एक मौजूद है ε > 0 ऐसा कि किसी के लिए भी x, μ(x) ≤ 2−|x|ε.) लिव्ने के एक परिणाम से पता चलता है कि सब कुछ प्राकृतिक है NP-पूर्ण समस्याएँ हैं DistNP-पूर्ण संस्करण।[9] हालाँकि, एक प्राकृतिक वितरणात्मक समस्या को खोजने का लक्ष्य यही है DistNP-अभी तक पूरा नहीं हो पाया है.[10]
अनुप्रयोग
सॉर्टिंग कलन विधि
जैसा कि ऊपर उल्लेख किया गया है, औसत-मामले की जटिलता से संबंधित बहुत से प्रारंभिक कार्य उन समस्याओं पर केंद्रित थे जिनके लिए बहुपद-समय कलन विधि पहले से मौजूद थे, जैसे कि सॉर्टिंग। उदाहरण के लिए, कई सॉर्टिंग कलन विधि जो यादृच्छिकता का उपयोग करते हैं, जैसे कि जल्दी से सुलझाएं, का चलने का समय सबसे खराब होता है O(n2), लेकिन औसत केस चलने का समय O(n log(n)), कहाँ n सॉर्ट किए जाने वाले इनपुट की लंबाई है।[2]
क्रिप्टोग्राफी
अधिकांश समस्याओं के लिए, औसत-केस जटिलता विश्लेषण उस समस्या के लिए कुशल कलन विधि खोजने के लिए किया जाता है जिसे सबसे खराब स्थिति में कठिन माना जाता है। हालाँकि, क्रिप्टोग्राफ़िक अनुप्रयोगों में, विपरीत सच है: सबसे खराब स्थिति की जटिलता अप्रासंगिक है; इसके बजाय हम यह गारंटी चाहते हैं कि क्रिप्टोग्राफ़िक योजना को तोड़ने वाले प्रत्येक कलन विधि की औसत-केस जटिलता अक्षम है।[11] इस प्रकार, सभी सुरक्षित क्रिप्टोग्राफ़िक योजनाएँ एकतरफा कार्यों के अस्तित्व पर निर्भर करती हैं।[3]हालाँकि एक-तरफ़ा फ़ंक्शंस का अस्तित्व अभी भी एक खुली समस्या है, कई उम्मीदवार एक-तरफ़ा फ़ंक्शंस पूर्णांक गुणनखंडन या असतत लॉग की गणना जैसी कठिन समस्याओं पर आधारित हैं। ध्यान दें कि उम्मीदवार के कार्य के लिए ऐसा होना वांछनीय नहीं है NP-पूर्ण क्योंकि यह केवल इस बात की गारंटी देगा कि सबसे खराब स्थिति में समस्या को हल करने के लिए कोई कुशल कलन विधि नहीं है; हम वास्तव में यह गारंटी चाहते हैं कि कोई भी कुशल कलन विधि यादृच्छिक इनपुट (यानी औसत मामला) पर समस्या का समाधान नहीं कर सकता है। वास्तव में, पूर्णांक गुणनखंडन और असतत लॉग समस्याएँ दोनों ही हैं NP ∩ coNP|coNP, और इसलिए ऐसा नहीं माना जाता है NP-पूरा।[7]तथ्य यह है कि संपूर्ण क्रिप्टोग्राफी औसत-मामले में कठिन समस्याओं के अस्तित्व पर आधारित है NP औसत-मामले की जटिलता का अध्ययन करने के लिए प्राथमिक प्रेरणाओं में से एक है।
अन्य परिणाम
1990 में, इम्पाग्लिआज़ो और लेविन ने दिखाया कि यदि किसी के लिए एक कुशल औसत-केस कलन विधि है distNP-समान वितरण के तहत पूर्ण समस्या, फिर प्रत्येक समस्या के लिए एक औसत-केस कलन विधि है NP किसी भी बहुपद-समय नमूना योग्य वितरण के तहत।[12] इस सिद्धांत को प्राकृतिक वितरण संबंधी समस्याओं पर लागू करना एक उत्कृष्ट खुला प्रश्न बना हुआ है।[3]
1992 में, बेन-डेविड एट अल। दिखाया कि यदि सभी भाषाओं में distNP उनके पास औसत पर अच्छे निर्णय कलन विधि हैं, उनके पास औसत पर अच्छे खोज कलन विधि भी हैं। इसके अलावा, वे दिखाते हैं कि यह निष्कर्ष एक कमजोर धारणा के अंतर्गत आता है: यदि प्रत्येक भाषा में NPसमान वितरण के संबंध में निर्णय कलन विधि के लिए औसत रूप से आसान है, फिर समान वितरण के संबंध में खोज कलन विधि के लिए भी यह औसत रूप से आसान है।[13] इस प्रकार, क्रिप्टोग्राफ़िक वन-वे फ़ंक्शंस केवल तभी मौजूद हो सकते हैं जब वहाँ हों distNP समान वितरण पर समस्याएं जो निर्णय कलन विधि के लिए औसतन कठिन हैं।
1993 में, फेगेनबाम और फ़ोर्टनो ने दिखाया कि गैर-अनुकूली यादृच्छिक कटौती के तहत, यह साबित करना संभव नहीं है कि एक अच्छे-ऑन-औसत कलन विधि का अस्तित्व distNP-समान वितरण के तहत पूर्ण समस्या का तात्पर्य सभी समस्याओं के लिए सबसे खराब स्थिति वाले कुशल कलन विधि के अस्तित्व से है NP.[14] 2003 में, बोगदानोव और ट्रेविसन ने इस परिणाम को मनमाने ढंग से गैर-अनुकूली कटौती के रूप में सामान्यीकृत किया।[15] इन परिणामों से पता चलता है कि यह संभावना नहीं है कि कटौती के माध्यम से औसत-मामले की जटिलता और सबसे खराब-मामले की जटिलता के बीच कोई संबंध बनाया जा सकता है।[3]
यह भी देखें
- कलन विधि का संभाव्य विश्लेषण
- एनपी-पूर्ण समस्याएं
- सबसे खराब स्थिति जटिलता
- परिशोधन विश्लेषण
- सबसे अच्छा, सबसे खराब और औसत मामला
संदर्भ
- ↑ O. Goldreich and S. Vadhan, Special issue on worst-case versus average-case complexity, Comput. Complex. 16, 325–330, 2007.
- ↑ 2.0 2.1 Cormen, Thomas H.; Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford (2009) [1990]. Introduction to Algorithms (3rd ed.). MIT Press and McGraw-Hill. ISBN 0-262-03384-4.
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 A. Bogdanov and L. Trevisan, "Average-Case Complexity," Foundations and Trends in Theoretical Computer Science, Vol. 2, No 1 (2006) 1–106.
- ↑ D. Knuth, The Art of Computer Programming. Vol. 3, Addison-Wesley, 1973.
- ↑ 5.0 5.1 L. Levin, "Average case complete problems," SIAM Journal on Computing, vol. 15, no. 1, pp. 285–286, 1986.
- ↑ 6.0 6.1 6.2 J. Wang, "Average-case computational complexity theory," Complexity Theory Retrospective II, pp. 295–328, 1997.
- ↑ 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 S. Arora and B. Barak, Computational Complexity: A Modern Approach, Cambridge University Press, New York, NY, 2009.
- ↑ Y. Gurevich, "Complete and incomplete randomized NP problems", Proc. 28th Annual Symp. on Found. of Computer Science, IEEE (1987), pp. 111–117.
- ↑ N. Livne, "All Natural NP-Complete Problems Have Average-Case Complete Versions," Computational Complexity (2010) 19:477. https://doi.org/10.1007/s00037-010-0298-9
- ↑ O. Goldreich, "Notes on Levin's theory of average-case complexity," Technical Report TR97-058, Electronic Colloquium on Computational Complexity, 1997.
- ↑ J. Katz and Y. Lindell, Introduction to Modern Cryptography (Chapman and Hall/Crc Cryptography and Network Security Series), Chapman and Hall/CRC, 2007.
- ↑ R. Impagliazzo and L. Levin, "No Better Ways to Generate Hard NP Instances than Picking Uniformly at Random," in Proceedings of the 31st IEEE Sympo- sium on Foundations of Computer Science, pp. 812–821, 1990.
- ↑ S. Ben-David, B. Chor, O. Goldreich, and M. Luby, "On the theory of average case complexity," Journal of Computer and System Sciences, vol. 44, no. 2, pp. 193–219, 1992.
- ↑ J. Feigenbaum and L. Fortnow, "Random-self-reducibility of complete sets," SIAM Journal on Computing, vol. 22, pp. 994–1005, 1993.
- ↑ A. Bogdanov and L. Trevisan, "On worst-case to average-case reductions for NP problems," in Proceedings of the 44th IEEE Symposium on Foundations of Computer Science, pp. 308–317, 2003.
अग्रिम पठन
The literature of average case complexity includes the following work:
- Franco, John (1986), "On the probabilistic performance of algorithms for the satisfiability problem", Information Processing Letters, 23 (2): 103–106, doi:10.1016/0020-0190(86)90051-7.
- Levin, Leonid (1986), "Average case complete problems", SIAM Journal on Computing, 15 (1): 285–286, doi:10.1137/0215020.
- Flajolet, Philippe; Vitter, J. S. (August 1987), Average-case analysis of algorithms and data structures, Tech. Report, Institut National de Recherche en Informatique et en Automatique, B.P. 105-78153 Le Chesnay Cedex France.
- Gurevich, Yuri; Shelah, Saharon (1987), "Expected computation time for Hamiltonian path problem", SIAM Journal on Computing, 16 (3): 486–502, CiteSeerX 10.1.1.359.8982, doi:10.1137/0216034.
- Ben-David, Shai; Chor, Benny; Goldreich, Oded; Luby, Michael (1989), "On the theory of average case complexity", Proc. 21st Annual Symposium on Theory of Computing, Association for Computing Machinery, pp. 204–216.
- Gurevich, Yuri (1991), "Average case completeness", Journal of Computer and System Sciences, 42 (3): 346–398, doi:10.1016/0022-0000(91)90007-R, hdl:2027.42/29307. See also 1989 draft.
- Selman, B.; Mitchell, D.; Levesque, H. (1992), "Hard and easy distributions of SAT problems", Proc. 10th National Conference on Artificial Intelligence, pp. 459–465.
- Schuler, Rainer; Yamakami, Tomoyuki (1992), "Structural average case complexity", Proc. Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science, vol. 652, Springer-Verlag, pp. 128–139.
- Reischuk, Rüdiger; Schindelhauer, Christian (1993), "Precise average case complexity", Proc. 10th Annual Symposium on Theoretical Aspects of Computer Science, pp. 650–661.
- Venkatesan, R.; Rajagopalan, S. (1992), "Average case intractability of matrix and Diophantine problems", Proc. 24th Annual Symposium on Theory of Computing, Association for Computing Machinery, pp. 632–642.
- Cox, Jim; Ericson, Lars; Mishra, Bud (1995), The average case complexity of multilevel syllogistic (PDF), Technical Report TR1995-711, New York University Computer Science Department.
- Impagliazzo, Russell (April 17, 1995), A personal view of average-case complexity, University of California, San Diego.
- Paul E. Black, "Θ", in Dictionary of Algorithms and Data Structures[online]Paul E. Black, ed., U.S. National Institute of Standards and Technology. 17 December 2004.Retrieved Feb. 20/09.
- Christos Papadimitriou (1994). Computational Complexity. Addison-Wesley.