गॉसियन उन्मूलन की वास्तविक समय जटिलता क्या है?


72

पहले के एक प्रश्न के उत्तर में , मैंने आम लेकिन गलत धारणा का उल्लेख किया कि "गाऊसी" उन्मूलन O(n3) समय में चलता है । हालांकि यह स्पष्ट है कि एल्गोरिथ्म अंकगणितीय संचालन का उपयोग करता है , लापरवाह कार्यान्वयन कई बिट्स के साथ संख्या बना सकता है। एक सरल उदाहरण के रूप में, मान लें कि हम निम्नलिखित मैट्रिक्स को विकर्ण करना चाहते हैं:O(n3)

[2000120011201112]

यदि हम विभाजन के बिना उन्मूलन एल्गोरिथ्म के एक संस्करण का उपयोग करते हैं, जो केवल एक पंक्ति के पूर्णांक गुणकों को दूसरे में जोड़ता है , और हम हमेशा मैट्रिक्स के एक विकर्ण प्रवेश पर धुरी करते हैं, आउटपुट मैट्रिक्स में वेक्टर विकर्ण के साथ ।(2,4,16,256,,22n1)

लेकिन गॉसियन उन्मूलन की वास्तविक समय जटिलता क्या है ? अधिकांश कॉम्बीनेटरियल ऑप्टिमाइज़ेशन लेखक "दृढ़ता से बहुपद" से खुश लगते हैं, लेकिन मैं उत्सुक हूं कि वास्तव में बहुपद क्या है।

जैक एडमंड्स का 1967 का पेपर गाऊसी एलिमिनेशन ("संभवतः गॉस के कारण") के एक संस्करण का वर्णन करता है जो दृढ़ता से बहुपदीय समय में चलता है। एडमंड्स की प्रमुख अंतर्दृष्टि यह है कि प्रत्येक मध्यवर्ती मैट्रिक्स में प्रत्येक प्रविष्टि मूल इनपुट मैट्रिक्स के एक नाबालिग का निर्धारक है। -bit पूर्णांक प्रविष्टियों के साथ एक मैट्रिक्स के लिए , एडमंड्स साबित करता है कि उनके एल्गोरिथ्म को अधिकांश बिट्स के साथ पूर्णांक की आवश्यकता होती है । "उचित" धारणा के तहत कि , एडमंड्स का एल्गोरिथ्म समय में चलता है यदि हम पाठ्यपुस्तक पूर्णांक अंकगणित का उपयोग करते हैं, या समय में अगर हम मानक पूर्णांक RAM पर FFT- आधारित गुणन का उपयोग करें, जोमीटर हे ( एन ( मीटर + लॉग एन ) ) मीटर = हे ( लॉग इन करें n ) हे ( n 5 ) ~ हे ( एन 4 ) हे ( लॉग इन करें n )n×nmO(n(m+logn))m=O(logn)O(n5)O~(n4)O(logn)निरंतर समय में कक्षा अंकगणित। (एडमंड्स ने इस बार विश्लेषण नहीं किया; उन्होंने केवल दावा किया कि उनका एल्गोरिथ्म "अच्छा" है।)

क्या यह अभी भी सबसे अच्छा विश्लेषण ज्ञात है? क्या कोई मानक संदर्भ है जो बेहतर स्पष्ट समय सीमा देता है, या कम से कम आवश्यक परिशुद्धता पर बेहतर बाध्य है?

अधिक आम तौर पर: रैखिक समीकरणों की मनमानी प्रणालियों को हल करने के लिए ज्ञात सबसे तेज़ एल्गोरिथम का रनिंग टाइम (पूर्णांक रैम पर) क्या है?


2
(हिंसक हैंडवॉव सम्मिलित करना) क्या आप हैशिंग मोड्यूलो छोटे प्राइम ट्रिक्स का उपयोग करके इस विशेष मामले में बड़ी पूर्णांक समस्या के आसपास नहीं पहुंच सकते हैं? एल्गोरिथ्म यादृच्छिक होगा, लेकिन फिर भी .. जाहिर है कि यह आपके द्वारा पूछे गए प्रश्न का उत्तर नहीं देता है ...
सुरेश वेंकट

1
O(n3MB[n(logn+L)])

1
मानक गाऊसी उन्मूलन एल्गोरिथ्म बाद की पंक्तियों को कम करने से पहले धुरी तत्व द्वारा धुरी पंक्ति को विभाजित करता है। खुला प्रश्न इस मानक संस्करण को संदर्भित करता है। मैंने अपने प्रश्न के आरंभ में जो उदाहरण दिया, वह एक भिन्न प्रकार का उपयोग करता है, जो धुरी तत्व द्वारा विभाजित नहीं होता है।
जेफ

3
जिज्ञासु। बेरेस के एल्गोरिथ्म के लिए याप का समय एडमंड्स द्वारा गाऊसी उन्मूलन के विश्लेषण से बंधे हुए समय के समान है।
जेफ

1
rjlipton ने हाल ही में इस क्षेत्र का सर्वेक्षण किया और इस विषय पर कन्नन Phd थीसिस का हवाला दिया। विश्लेषण का एक महत्वपूर्ण हिस्सा स्मिथ स्मिथ का सामान्य रूप है
vzn

जवाबों:


35

O~(n3log(A+b))


संदर्भ के लिए धन्यवाद! यह मेरे दूसरे प्रश्न का उत्तर देता है, लेकिन मेरा पहला नहीं।
जेफ

3
यदि आप धुरी का उपयोग करते हैं तो गौसियन उन्मूलन (जीई) में मध्यवर्ती परिणामों के बिट्स बहुपद हैं, कोई घातीय विस्फोट नहीं है। मुझे लगता है कि यह बरेली का परिणाम है। जीई की जटिलता के लिए, एक मैट्रिक्स के निर्धारक की गणना के लिए गैथेन और गेरहार्ड की पुस्तक "आधुनिक कंप्यूटर बीजगणित" में एक एल्गोरिथ्म है , जो जीई, मॉड्यूलर अंकगणितीय और चीनी शेष बचे हुए अवसाद (सेक। 5.5) पर आधारित है। पीपी 101-105)। जटिलता । मुझे लगता है कि तेजी से अंकगणित का उपयोग करके एक कारक को बचाया जा सकता है। अगर मैं गलत नहीं हूं, तो यह वह बाध्यता है जिसका उपयोगकर्ता 834 ने उल्लेख किया है। AO(n4log2A)n
एलियास

@ एलियास, उस अभिव्यक्ति में आदर्श की परिभाषा क्या है? क्या यह पूर्ण आकार में सबसे बड़ा गुणांक है? क्या यह थोड़ा आकार है? इसके अलावा, क्या यह परिणाम मनमानी तर्कसंगत मैट्रिस के लिए है?
जुआन बर्मेज़ो वेगा

13

मुझे लगता है कि आपके पहले प्रश्न का उत्तर भी : एडमंड्स के पेपर में गौसियन उन्मूलन के एक प्रकार का वर्णन नहीं किया गया है। लेकिन यह साबित होता है कि एल्गोरिथ्म के एक चरण में गणना की गई कोई भी संख्या ए के कुछ सबमेट्रिक्स का एक निर्धारक है। रैखिक और इंटेगर प्रोग्रामिंग के सिद्धांत पर ब्रेज़र की पुस्तक द्वारा हम जानते हैं कि अगर ए की एन्कोडिंग की आवश्यकता बी बिट्स (बी में होनी चाहिए ~ हे (लॉग(एक)O~(n3log(A+b))O~(log(A)) तो इसके किसी भी सबडेटर्मिन्ट को सबसे अधिक 2 बी बिट्स (थ्योरम 3.2) की आवश्यकता होती है। गाऊसी उन्मूलन को एक बहुपद समय एल्गोरिथ्म बनाने के लिए हमें गणना किए गए उद्धरणों के बारे में ध्यान रखना होगा: हमें किसी भी मध्यवर्ती चरण में गणना करने वाले प्रत्येक अंश से सामान्य कारकों को रद्द करना होगा और फिर सभी संख्याओं में एन्कोडिंग लंबाई में ए की एन्कोडिंग लंबाई होगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.