मैट्रिक्स-गुणन घातांक की परिभाषा


15

बोलचाल की भाषा में, मैट्रिक्स गुणन प्रतिपादक की परिभाषा ω सबसे छोटा मान जिसके लिए एक जाना जाता है nω मैट्रिक्स गुणा एल्गोरिथ्म। यह औपचारिक गणितीय परिभाषा के रूप में स्वीकार्य नहीं है, इसलिए मुझे लगता है कि तकनीकी परिभाषा कुछ ऐसी है जैसे कि सभी पर अनंत हैt जैसे कि में एक मैट्रिक्स-गुणा एल्गोरिथ्म मौजूद हैnt

इस मामले में, हम यह नहीं कह सकते में मैट्रिक्स गुणन के लिए एक एल्गोरिथ्म है nω या यहाँ तक कि nω+o(1) , केवल यह है कि सभी के लिए ϵ>0 वहाँ में एक एल्गोरिथ्म मौजूद nω+ϵ । अक्सर, हालांकि, कागजात और परिणाम जो मैट्रिक्स-गुणा का उपयोग करते हैं, उनकी लागत को केवल रूप में रिपोर्ट करेंगे O(nω)

वहाँ के कुछ वैकल्पिक परिभाषा है ω कि इस प्रयोग की अनुमति देता है? वहाँ किसी भी परिणाम है कि गारंटी नहीं है कि समय की एक एल्गोरिथ्म हैं nω या nω+o(1) मौजूद होना चाहिए? या उपयोग है O(nω) बस खराब?


2
तुम सिर्फ एक ब्लैक बॉक्स के रूप में आव्यूह गुणन का उपयोग करना चाहते हैं, तो सबसे आसान तरीका है कहने के लिए "चलो है हम कर सकते हैं कि इस तरह के गुणा होना n × n के साथ -matrices हे ( एन ω ) अंकगणितीय आपरेशनों"। बेशक, ω आव्यूह गुणन के प्रतिपादक तो नहीं है, लेकिन मनमाने ढंग से पास हो सकता है। आप दशमलव प्रतिनिधित्व अपने अंतिम चलने के प्रतिपादक राज्य चाहते हैं, वर्तमान में आप दौर वैसे भी करने के लिए है, के बाद से सभी के लिए nontrivial अनुमान ω है कि मैं या तो अपरिमेय संख्याओं या अनंत दृश्यों रहे हैं के बारे में पता कर रहा हूँ। ωn×nO(nω)ωω
मार्कस ब्लैसर

2
आम तौर पर सभी reals से अधिक infimum के रूप में परिभाषित किया गया है कश्मीर के लिए n करने के लिए जा इस तरह के एक है कि वहाँ हे ( एन कश्मीर ) समय एल्गोरिथ्म कि पलता दो n × n मैट्रिक्स (जहां समय अतिरिक्त, गुणा और में डिवीजनों की संख्या है अंतर्निहित क्षेत्र)। यह भी मतलब है कि तकनीकी रूप से हम हमेशा लिखना चाहिए n ω + ( 1 ) लेकिन वह गंदा हो जाता है, इसलिए जब आप देखते हैं हे ( एन ω ) आपको लगता है चाहिए हे ( एम ( nωknO(nk)n×nnω+o(1)O(nω) जहां M ( n ) एक मैट्रिक्स गुणा एल्गोरिथ्म का रनटाइम है। O(M(n))M(n)
कुंवारी

जवाबों:


20

आव्यूह गुणन प्रतिपादक जा रहा है की गारंटी नहीं है एक एल्गोरिथ्म समय में रन है कि है कि वहाँ हे ( एन ω ) , लेकिन केवल कि प्रत्येक के लिए ε > 0 , वहाँ एक एल्गोरिथ्म है कि में रन हे ( एन ω + ε ) । आप एक एल्गोरिथ्म पा सकते हैं वास्तव में अगर उस समय में रन हे ( एन 2 पी एल वाई एल जी ( एन ) ) , तो यह पता चलता है कि ω = 2ωO(nω)ϵ>0O(nω+ϵ)O(n2polylog(n))ω=2

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


7

एक छोटी टिप्पणी है कि एक टिप्पणी के लिए बहुत लंबा है:

कभी-कभी जब आप एक समस्या है जिसके लिए वहाँ चल रहे समय के साथ एक एल्गोरिथ्म है हर के लिए ε > 0 , वहाँ समय चल रहा है के साथ एक एल्गोरिथ्म है n कश्मीर + ( 1 )O(nk+ϵ)ϵ>0nk+o(1)

उदाहरण के लिए, कभी कभी आप एल्गोरिदम ऐसे ही जाना मिल कुछ तेजी से बढ़ समारोह के लिए (जैसे 2 2 1 / ε )। यदि आप सेट ( 1 / ε ) के लिए (जैसे) लोग इन n , तो ε ओ (1) हो जाएगा। साथ उदाहरण में ( 1 / ε ) किया जा रहा है 2 2 1 / ε , आप चुन सकते हैं 1 / εf(1/ϵ)nk+ϵf221/ϵf(1/ϵ)lognϵf(1/ϵ)221/ϵ1/ϵ होने के लिए है, जो देता है εlogloglogn है, जो ओ (1)। तो इस एल्गोरिथ्म का अंतिम चलने का समय n k + o ( 1 ) होगा , क्योंकि log n भी n o ( 1 ) हैϵ=1/(logloglogn)nk+o(1)lognno(1)


मुझे लगता है कि Coppersmith-Winograd एल्गोरिथ्म इस श्रेणी में आता है?
डेविड हैरिस

2
@DavidHarris: उसके बारे में नहीं जानते। हो सकता है कि एल्गोरिथ्म को समझने वाला कोई व्यक्ति उस पर कुछ प्रकाश डालने में सक्षम हो। मैं सिर्फ इतना कहना है कि अक्सर मतलब के रूप में यह लग रहा है बुरा के रूप में नहीं है। O(nk+ϵ)
रॉबिन कोठारी

5

यह अच्छी तरह से जाना जाता है परिणाम ताम्रकार और Winograd की कि टाइम किसी एक एल्गोरिथ्म द्वारा नहीं किया जा सकता है। लेकिन मैंने पढ़ा है कि वे स्ट्रैसेन जैसी बिलिनियर पहचानों के आधार पर एल्गोरिदम तक सीमित हैं, इसलिए मुझे यकीन नहीं है कि पेपर पेवेल के पीछे है।O(nω)


3

मैं सवाल है कि में अपने बयान से सहमत नहीं हैं नहीं द्वारा अच्छी तरह से परिभाषित किया गया है "सबसे छोटा मान जिसके लिए एक जाना जाता है n ω मैट्रिक्स गुणा एल्गोरिथ्म।" जब लोगों को यह लगातार प्रयोग कर रहे हैं, क्योंकि उनके एल्गोरिथ्म एक आव्यूह गुणन पर निर्भर करता है, और एक जटिलता के द्वारा होता है n ω , वे मतलब है "हमारे एल्गोरिथ्म के इष्टतम जटिलता आव्यूह गुणन के लिए इष्टतम एल्गोरिथ्म द्वारा दिया जाता है।"ωnωnω

मैं नहीं कह रहा हूँ कि यह संभव परिभाषित करने के लिए नहीं है अन्यथा (कह जैसे कि ω सबसे अच्छा प्राप्त जटिलता है)।ωω

Btw, मैट्रिक्स गुणन के लिए सबसे अच्छा ज्ञात ऊपरी सीमा सिर्फ में सुधार की गई है अगर मैं गलत नहीं हूं। 2.3737


3
मैं यह नहीं देखता कि मानव ज्ञान गणितीय परिभाषा का हिस्सा कैसे हो सकता है
डेविड हैरिस

2
हाल के अनुभव से पता चलता है यह बहुत सब एल्गोरिदम वर्तमान में मानव जाति द्वारा ;-) में जाना जाता है के ऊपर से सब एल्गोरिदम से अधिक मात्रा ठहराना करने के लिए आसान है कि
मार्कस Blaser
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.