कंप्यूटिंग की जटिलता


10

कंप्यूटिंग n n 2 की जटिलता क्या है ,nn2,n∈N ?


2
आपने क्या प्रयास किया है? आप कौन सी मशीन और लागत मॉडल मानते हैं?
— राफेल

जवाबों:


12

तेजी से फूरियर को बदलने का उपयोग करके, पर गुणा -बिट संख्या समय में किया जा सकता ~ हे ( कश्मीर ) (जहां टिल्ड का प्रतीक है कि हम polylogarithmic कारकों की अनदेखी कर रहे हैं)। बार-बार स्क्वैरिंग करके, हम n n 2 को O ( log n ) गुणन के साथ गणना कर सकते हैं , और प्रत्येक गुणन में n n 2 से बड़ी कोई संख्या शामिल नहीं है , जिसमें लगभग n 2 लॉग 2 n बिट्स हैं। तो समय की कुल राशि की आवश्यकता है ~ हे ( एन 2 (kO~(k)nn2O(log⁡n)nn2n2log2⁡n ।O~(n2(log⁡n)2)=O~(n2)


3

टिप्पणी के जवाब में संपादित गणना करने के लिए समय में समय की गणना करने के लिए आवश्यक विघटित किया जा सकता च 1 ( एन ) = n 2 और उस करने के लिए आवश्यक n च 1 ( एन ) । मैं मान लेंगे कि एक गुणा मीटर एक से थोड़ा संख्या n बिट संख्या वास्तव में लेता मीटर n स्कूल किताब विधि द्वारा समय; परिवर्धन, आदि निरंतर समय है। नतीजतन, कंप्यूटिंग n 2 लॉग 2 लेता हैf(n)=nn2f1(n)=n2nf1(n)mnmnn2समय।log22⁡(n)

मान लीजिए कि हम कंप्यूटिंग लिए द्विआधारी घातांक का उपयोग करते हैं । द्विआधारी घातांक कंप्यूटिंग में दो प्रकार के संचालन करता है f ( n ) : वर्तमान उत्पाद को स्क्वेर करना, और वर्तमान उत्पाद को n से गुणा करना , चाहे n 2 के बाइनरी विस्तार में वर्तमान बिट 0 या 1. सबसे खराब स्थिति में है। n 2 दो की एक शक्ति है, इतना है कि द्विआधारी घातांक बार-बार वर्गों अपने मौजूदा उत्पाद जब तक यह answer.Note कि पहुंचता है n 2 है मी ' = ⌈ 2 लॉग 2 ( एनf(n)f(n)nn2n2n2 बिट्स, ताकि इस तरह के squarings की संख्या है मीटर = मीटर ' - 1 । यह वह मामला है जिसका हम नीचे विश्लेषण करते हैं।m′=⌈2log2⁡(n)⌉m=m′−1

पहला वर्ग समय लेता है , जिसके परिणामस्वरूप ओ 1 = 2 लॉग 2 ( एन ) -बिट उत्पाद होता है। दूसरा स्क्वेरिंग दो ओ 1 बिट संख्या में होता है और टी 2 = ओ 2 1 समय में चलता है , जिसके परिणामस्वरूप ओ 2 = 2 ओ 1 -बिट उत्पाद होता है। जारी रखते हुए, i -th चरण t i = 4 i - 1 लॉग लेता हैt1=log22⁡(n)o1=2log2⁡(n)o1t2=o12o2=2o1iसमय और आउटपुटoi=2iलॉग2(n)-बिट उत्पाद। यह प्रक्रियाएम-स्टेपपर रुकती है; नतीजतन, इसमें समय लगता हैti=4i−1log22⁡noi=2ilog2⁡(n)m

। Texp=∑[1..m]ti=log22⁡(n)∑[1..m]4i=4m−13log22⁡n

जब प्रारंभिक स्क्वेरिंग लागत शामिल होती है, तो हम पाते हैं कि हमें सबसे अधिक समय चाहिए

Texp+log22⁡n

ध्यान दें

  • मैंने गणना में कुछ मंजिलों और छत को छोड़ दिया, उम्मीद है कि वे उत्तर को प्रभावित नहीं करेंगे।
  • मैंने जानबूझकर एक कठोर ऊपरी विश्लेषण के पक्ष में एक आधारित विश्लेषण को छोड़ दिया है जो कठोर है। O
  • उपरोक्त तर्क यह भी स्पष्ट करता है कि मेरे पहले के विश्लेषण में दोष क्यों था। संकेतन एक तेजी से और ढीला तरह से इस्तेमाल किया गया था, और यह आसानी से कि इतने छोड़े गए स्थिरांक उदाहरण के लिए, Σ टी मैं जादुई बन गया हे ( लॉग एन ) । O∑tiO(log⁡n)
  • गुणन को हमेशा एफएफटी और अन्य तरीकों से तेज किया जा सकता है।

1
O(1)n2

4
nO(log⁡n)O(1)

2
n2log2⁡n bits. It's very hard to compute n2log2⁡n bits in O(log⁡n) time.

Fair point, I'll take note
— PKG

1
@ThomasAndrews: That depends on the machine and cost model. It is not unusual to assume a RAM model with contant cost for additions.
— Raphael
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.