इनपुट "आकार" के रूप में कोलमोगोरोव जटिलता का उपयोग करना


21

मान लीजिए कि हमारे पास एक कम्प्यूटेशनल समस्या है, उदाहरण के लिए 3-सैट, जिसमें समस्या इंस्टेंसेस (संभावित इनपुट्स) का एक सेट है । आम तौर पर एल्गोरिदम या कम्प्यूटेशनल जटिलता सिद्धांत के विश्लेषण में, हमारे पास कुछ सेट लंबाई के सभी आदानों की , और एक समारोह है कि कुछ समाधान एल्गोरिथ्म का चलने का समय देता है इनपुट पर । बुरी से बुरी हालत के लिए समय अनुक्रम चल रहा तो है S

I(n)={wS:|w|=n}
nT(w)AwA
fn=maxwI(n)T(w).

आइए अब हम

IK(n)={wS:K(w)=n}
के सेट को कोलमोगोरोव जटिलता n के साथ nपरिभाषित करते हैं, और हमें अनुक्रम f ^ K_n = \ frac 1 परिभाषित करते हैं। } {\ left | I ^ K (n) \ right |} \ sum_ {w \ in I ^ K (n)} T (w)।
fnK=1|IK(n)|wIK(n)T(w).
यहाँ f ^ K ए केfK लिए औसत रनिंग टाइम सीक्वेंस है , सिवाय इसके कि इनपुट्स का "आकार" उनकी कोलमोगोरोव जटिलता है, न कि उनकी लंबाई।A

क्या ऐसे एल्गोरिदम हैं जिनके लिए fn , asymptotically f ^ K_n से काफी अलग है fnK? यदि हां, तो क्या ऐसी समस्याएं हैं जिनके एल्गोरिदम का विश्लेषण करने के इस अलग तरीके का उपयोग करते समय समय की जटिलता बदल जाती है?


4
बड़ा अच्छा सवाल! एक जो मैंने अक्सर सोचा है - मुझे उम्मीद है कि इसे कुछ अच्छे उत्तर मिलेंगे। (मैंने टैग पैरामीटराइज्ड-कॉम्प्लेक्सिटी बी / सी को जोड़ा है आप इसे उदाहरण के सैट के पैरामीटर की जटिलता के सवाल के रूप में देख सकते हैं, जहां पैरामीटर कोलमोगोरोव जटिलता है।)
जोशुआ ग्रोचो

3
रैंडम स्ट्रिंग्स, उर्फ ​​सबसे स्ट्रिंग्स, उनकी मूल लंबाई के पास कोलमोगोरोव जटिलता है। इनपुट के विशाल बहुमत के लिए fn=fnK कोलमोगोरोव जटिलता के बजाय कम्प्यूटेशनल गहराई के बारे में पूछे जाने पर आपको अधिक दिलचस्प परिणाम मिल सकता है। google.com/…
चाड ब्रूकेकर

2
एक कठिन भाषा में समता के कुछ उदाहरणों में मिश्रण के लिए फार्म तक S (जैसे एक सा टॉगल का वर्णन करता है कि कौन सी भाषा उदाहरण से है के साथ प्रत्येक उदाहरण लगाकर द्वारा), तो fnK से छोटा होगा fn । बस छोटा कितना सापेक्ष घनत्व पर निर्भर करता है।
आंद्र सलाम

1
वडन के लेक्चर नोट्स में एक स्थान यहाँ है (19 फरवरी): People.seas.harvard.edu/~salil/cs221/spring10/lectures.html
usul

1
@ AndrásSalamon, हाँ, मुझे आशा है कि मैं बहुत मैला नहीं हो रहा हूँ, लेकिन मुझे लगता है किअनिवार्य रूप से व्यस्त-बीवर फ़ंक्शन होना चाहिए। nmaxw:K(w)=n|w|
usul

जवाबों:


14

समता फ़ंक्शन (या इनपुट के सभी / अधिकांश बिट्स पर निर्भर करता है) किसी अन्य फ़ंक्शन पर विचार करें। समता कार्य के लिए, | तो दूसरी ओर, T(w)=Θ(|w|)

fn=Θ(n).
fnK=Θ(1|IK(n)|w:K(w)=n|w|)Ω(12nmaxw:K(w)=n|w|).

ध्यान दें कि । इस प्रकार और । इसी प्रकार, ; इस प्रकार "बहुत तेजी से बढ़ता है"। इसके अलावा, यह देखना मुश्किल नहीं है कि लिए कोई कंप्यूटेबल अपर बाउंड नहीं है ।अधिकतम w : K ( w ) = n | w | 2 2 Ω ( एन )K(22n)=O(n)

maxw:K(w)=n|w|22Ω(n)
fnK22Ω(n)/2nK(222n)=O(n)fnK222Ω(n)/2nfnK

9

इस प्रश्न में रुचि को देखते हुए, मैंने सोचा कि यह स्पष्ट रूप से इंगित करने में मददगार हो सकता है कि जिस कारण से हमें उत्तर पर आश्चर्य नहीं होना चाहिए और प्रश्न के शोधन के लिए कुछ दिशा देने का प्रयास करना चाहिए। यह कुछ टिप्पणियों पर एकत्र और विस्तार करता है। मैं माफी माँगता हूँ अगर यह "स्पष्ट" है!

Kolmogorov जटिलता के तारों के सेट पर विचार करें : अधिकतम ऐसे तार हैं, क्योंकि लंबाई वर्णन हैं । लेकिन ध्यान दें कि यह सेट सामान्य (अन्यथा, हम गणना केवल से से कर सकते हैं और में सदस्यता की जाँच कर रहे हैं । इसके अलावा, फ़ंक्शन तेजी से बढ़ता है। यह व्यस्त-बीवर फ़ंक्शन का एक प्रकार है: विवरण लंबाई की ट्यूरिंग मशीन द्वारा सबसे लंबा आउटपुट क्या हैJ K ( n ) = { w : K ( w ) = n } एम 1 एम ' nn

JK(n)={w:K(w)=n}.
2n2nnnK(w)n=1|w|JK(n)
gK(n)=maxwJK(n)|w|
n? यदि यह कुछ गणनीय समारोह की तुलना में धीमी वृद्धि हुई है, हम हॉल्टिंग समस्या का निर्णय कर सकें: एक टीएम को देखते हुए , निर्माण है कि simulates और एक प्रिंट हर कदम पर। यदि का वर्णन लंबाई है , तो या तो: में हाल्ट ज्यादा से ज्यादा पर होते हैं; या रुका नहीं है।MMM1MnMgK(n)M

अब, एंड्रयू के प्रश्न के लिए, हमारे पास है कि , जहां मूल भाषा है। एक ही रास्ता से बचने के लिए तो आदानों में बहुत बड़ी युक्त हो सकता है अगर बहुत uncompressible तार शामिल हैं केवल। (ध्यान दें, अन्यथा, हम यहां सबसे खराब-मामले और औसत-केस विश्लेषण के बीच के अंतर को पूरी तरह से अनदेखा कर सकते हैं, क्योंकि हम औसतन अधिकतम स्ट्रिंग्स पर हैं लेकिन सबसे बड़े स्ट्रिंग का आकार किसी भी कम्प्यूटेशनल फ़ंक्शन की तुलना में तेजी से बढ़ रहा है । )IK(n)=SJK(n)SIK(n)nS2nn

मुझे लगता है कि किसी भी nontrivial (यानी अनंत) का निर्माण करना असंभव है जिसमें केवल असंगत तार होते हैं, फिर भी यह निर्णायक है। लेकिन मुझे नहीं पता। हालाँकि, उम्मीद है कि यह अंतर्ज्ञान देता है कि क्यों हमें अधिकांश भाषाओं को एक कम्प्यूटेशनल फ़ंक्शन की तुलना में धीमी गति से बढ़ने की उम्मीद नहीं करनी चाहिए ।SfnK

थोड़ा पीछे हटने के लिए, सवाल यह है कि लंबाई इनपुट पर प्रदर्शन की तुलना इनपुट पर प्रदर्शन से की जाए जो कि लंबाई से संकुचित हो सके । लेकिन हमारे पास संपीड़न की धारणाएं हैं जो कोलमोगोरोव कॉम्प्लेक्सिटी की तुलना में बहुत अधिक ट्रैफ़िक (और कम शक्तिशाली) हैं। एक सरल तरीका आकार का एक सर्किट देना है , जो इनपुट पर बाइनरी नंबर , का बिट बनाता है । ध्यान दें कि यहां इनपुट आकार में ब्लोअप सबसे अधिक घातीय है (आकार का सर्किट अधिकतम संभव इनपुट पर है)।nnnbbwn2n

इसलिए हम प्रश्न को फिर से मिटा सकते हैं देकर और को परिभाषित करें । यहाँ आशा का कारण यह है कि अधिकांश तारों को एक सर्किट की आवश्यकता होती है जो लगभग स्ट्रिंग के समान ही बड़ी होती है, और कोई भी तार आवश्यक सर्किट से अधिक बड़े नहीं होते हैं। शायद इस मामले में हम ऐसी भाषाएं पा सकते हैं जहां और समान रूप से समान हैं।

IC(n)={wS:the smallest circuit implicitly specifying w has size n}.
fnCfnfnC

एक बहुत ही निकट से संबंधित प्रश्न जैसी निहित भाषाओं की जटिलता है IMPLICIT_SAT NEXP- पूर्ण है, और आमतौर पर NP- पूर्ण समस्याओं के निहित संस्करण NEXP- पूर्ण होते हैं। निर्णय लेना IMPLICIT_SAT आसान के रूप में सिर्फ सर्किट का उपयोग कर के सभी को लिखने के लिए के रूप में कम से कम है , तो पर SAT के लिए एक एल्गोरिथ्म चल । इसलिए यदि SAT के लिए है, तो यह इस बात का प्रमाण देने के करीब लगता है कि औसत मामले में IMPLICIT_SAT लगभग उतने ही जल्दी पतनशील है जितना कि SAT सबसे खराब स्थिति में है। लेकिन मैं नहीं जानता कि कैसे कोई सीधे आपकी धारणा की तुलना अंतर्निहित भाषाओं से करेगा क्योंकि " लिए सबसे छोटा सर्किट" की धारणा

IMPLICIT_SAT={circuits C:C implicitly specifies w,wSAT}.
wwfnC=Θ(fn)w"अंतर्निहित भाषाओं के लिए खेल में नहीं आता है।

आशा है कि यह उपयोगी / दिलचस्प है!

मैं ऐसी पाठ्यपुस्तक के बारे में सुनिश्चित नहीं हूँ जिसमें निहित समस्याओं का उल्लेख है, लेकिन यहाँ कुछ व्याख्यान नोट हैं: http://people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf


|JK(n)|=2n ? लेकिन हर विवरण न्यूनतम नहीं है।
एंड्रयू

1
@AndrewMacFie, सही, "अधिक से अधिक" होना चाहिए। ठीक कर देंगे।
usul

इस उत्तर को जोड़ने के लिए धन्यवाद :) ऐसा लगता है कि 3-SAT के लिए किसी भी एल्गोरिथ्म के लिए, तेजी से बढ़ने वाला है। fnK
एंड्रयू

4

एक आसान मामला ऐसा लगता है जहां भाषा में केवल गद्देदार उदाहरण हैं। जब को प्रतीकों के साथ आकार प्रत्येक उदाहरण को करके एक भाषा से प्राप्त किया जाता है , के क्षेत्र में हो सकता है ।S L n 2 n - n f K n 2 f nSSLn2nnfnK2fn


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