कोलमोगोरोव जटिलता के कुशल रूप से गणना योग्य संस्करण


28

कोलमोगोरोव उपसर्ग जटिलता (यानी न्यूनतम आत्म-परिसीमन कार्यक्रम का आकार है जो x को आउटपुट करता है ) में कई अच्छी विशेषताएं हैं:K(x)x

  1. यह पेटेंट के साथ तार देने के अंतर्ज्ञान से मेल खाती है या बिना स्ट्रिंग्स की तुलना में कम जटिलता की संरचना करता है।
  2. यह हमारे सशर्त जटिलता को परिभाषित करने की अनुमति देता है , या और भी बेहतर कश्मीर ( एक्स | हे ) कुछ ओरेकल के लिए हेK(x|y)K(x|O)O
  3. यह उप additive है K(x,y)K(x)+K(y)

हालाँकि इसका एक भयानक नकारात्मक पहलू है: दिया गया x अप्राप्य है।K(x)x

मैं अगर वहाँ Kolmogorov जटिलता का एक संस्करण है सोचा है (या तो टीएमएस की तुलना में कमजोर भाषाओं का उपयोग, या का उपयोग कर संसाधनों घिरे टीएम द्वारा) अभिकलन की एक सीमित मॉडल का उपयोग कर कि बरकरार रखता सुविधाओं (1) और (2) (सुविधा ( 3) एक बोनस है, लेकिन एक नहीं है) कुशलता से कम्प्यूटेशनल होने के दौरान?K(x)

इस सवाल की प्रेरणा विकास के विभिन्न खिलौना-मॉडल के सिमुलेशन अध्ययन में उपयोग के लिए है। इस प्रकार एक उत्तर जिसे पहले काम के रूप में संख्यात्मक कार्य में कोलमोगोरोव जटिलता के लिए 'किसी न किसी सन्निकटन' के रूप में इस्तेमाल किया गया है। हालांकि, लक्ष्य पूरी तरह से प्रयोगात्मक जाना जाता है नहीं है, इसलिए एक अपेक्षाकृत सरल / साफ वर्णन भाषा / मॉडल के- गणना के लिए पसंद किया जाता है, इतना है कि यह कैसे काफी बारे में कोई उचित प्रमेयों साबित करने के लिए संभव हो सकता है कश्मीर ' से भिन्न K और किस तरह के तार पर।KKK

प्रश्न संबंधित है

कमजोर वर्णन भाषाओं के साथ कोलमोगोरोव जटिलता

क्या एक असंदिग्ध समस्या के लिए एक अनुमान एल्गोरिथ्म की एक समझदार धारणा है?

जवाबों:


10

Gzip। Cilibrasi और Vitanyi का एक बहुत अच्छा लेख है जहाँ वे क्लस्ट करने के लिए Kolmogorov जटिलता के सन्निकटन के रूप में gzip का उपयोग करते हैं। संपीड़न द्वारा क्लस्टरिंग


1
वे सशर्त जटिलता को कैसे परिभाषित करते हैं?
Artem Kaznatcheev

1
A और B दो दस्तावेज होने चाहिए, और AB दो समवर्ती होंगे। वे SIZE (gzip (A) + gzip (B)) से SIZE (gzip (AB)) के अनुपात को देखते हैं।
चाड ब्रेवबेकर

1
एक को पता होना चाहिए कि कोलमोगोरोव जटिलता के लगभग: gactip (और समान) का उपयोग करने के लिए डाउनसाइड हैं: bactra.org/notebooks/cep-gzip.html । यह नहीं कहता कि यह वास्तविक जीवन डेटा सेटों को क्लस्टर करने के लिए उपयोगी नहीं है, लेकिन यह कहता है कि वास्तविक जीवन डेटा सेटों के लिए इसकी उपयोगिता हमें कुछ बताती है कि उन डेटा सेटों से अलग कैसे हैं, कहते हैं, एक छद्म आयामी जनरेटर का उत्पादन ...
जोशुआ ग्रूचो

3

मैंने अपने प्रश्न के बारे में अधिक सोचा, और संभव समाधान पर पहुंचे। इसकी दो सीमाएँ हैं, इसे केवल लंबाई तारों पर परिभाषित किया गया है (हालाँकि मैं इस पर और अधिक चर्चा करूँगा) और यह सार्वभौमिक ट्यूरिंग मशीनों के बारे में बात नहीं करता है, इसके बजाय पिछले प्रश्न का अनुसरण करते हुए और गणना के वैकल्पिक मॉडल का उपयोग करता है।n=2m


असल में, हम एक स्ट्रिंग व्याख्या कर सकते हैं के साथ | x | = 2 मीटर एक समारोह के रूप एक्स : { 0 , 1 } मीटर{ 0 , 1 } । तो फिर हमारे जटिलता उपाय कश्मीर ' ( x ) का प्रतिनिधित्व; अद्वितीय कम आदेश दिया द्विआधारी निर्णय आरेख का आकार (किनारों की संख्या) है (मानक आदेश के साथ तय हो गई ROBDD) एक्स । यह स्थिति को संतुष्ट करता है [1]। इसके अलावा, चूंकि ROBDD को 2 मीटर में समय बहुपद में गणना की जा सकती हैx|x|=2mfx:{0,1}m{0,1}K(x)fx2m, हम एक कुशल उपाय है।

हालत को संतुष्ट करने के लिए [2], हमें नोड पर एक विशेष प्रकार की अनुमति देकर मानक BDDs को संशोधित करना होगा। आमतौर पर नोड्स को अनुक्रमित द्वारा लेबल किया जाता है , m } , हम एक विशेष ओरेकल नोड को शामिल करेंगे। के लिए कश्मीर ( एक्स | y ) जहां | y | = 2 मीटर हम बीडीडी में विशेष नोड्स की अनुमति देंगे:i{1,...,m}K(x|y)|y|=2m

हम इनपुट पर एक BDD चला रहे हैं ( | एक | = मीटर ) तो एक सामान्य नोड द्वारा लेबल मैं बस हमें बढ़त लेबल नीचे भेजने के एक मैं । एक Oracle नोड के बजाय एक बढ़त लेबल नीचे हमें भेज देंगे y ( एक ) । इस प्रकार, कश्मीर ' ( x | x ) = 2 और उच्च संभावना के साथ कश्मीर ' ( x | y ) कश्मीर ( एक्स ) एक के लिए y यादृच्छिक पर समान रूप से उठाया।a|a|=miaify(a)K(x|x)=2K(x|y)K(x)y

[नोट: यह स्पष्ट नहीं है कि सशर्त जटिलता अभी भी कुशलता से गणना की जा सकती है :(]

आमतौर पर, लिए OBDD बनाने के बाद से हमारे पास उप-योगात्मकता भी है y के पास पहले बिट के लिए एक क्वेरी हो सकती है और 0 पर ROBDD पर x के लिए और 1 से ROBDD पर y के लिए जाना चाहिए । इस प्रकार, हम है कश्मीर ' ( एक्स Y ) कश्मीर ' ( x ) + कश्मीर ' ( y )x.y0x1yK(x.y)K(x)+K(y)


K(x)x|x|=2m|y|=2lm>lK(x.y)=K(x)+K(y)

मेरे दृष्टिकोण के साथ कुछ दुर्भाग्यपूर्ण सीमाएं भी हैं। हम OBDDs से बहुत आगे नहीं जा सकते हैं, अगर हम न्यूनतम निर्णय पेड़ या सिर्फ BDDs पर विचार करते हैं तो हम इस उत्तर में वर्णित अंतरंगता मुद्दों पर रोड़ा करेंगे । यहां तक ​​कि OBDD के परिवर्तनीय आदेश के लिए भी अस्थिरता परिणाम प्रतीत होते हैं । तो ऐसा लगता है कि OBDDs इस तरह के समान-से-मानक-कोलमोगोरोव-जटिलता दृष्टिकोण की सीमा नहीं है।


2

मैं एक विशेषज्ञ नहीं हूं, लेकिन अगर आपको स्ट्रिंग्स के लिए एक व्यावहारिक जटिलता उपाय की आवश्यकता है , तो आप टीचीर टी-कॉम्प्लेक्स उपाय को देख सकते हैं ।

एक त्वरित परिचय के लिए Titchener की वेब साइट देखें ; उनके कागजात पीडीएफ प्रारूप में डाउनलोड किए जा सकते हैं

सार - परिमित तारों के लिए स्ट्रिंग जटिलता का एक नया माप एक विशिष्ट पुनरावर्ती पदानुक्रमित स्ट्रिंग उत्पादन प्रक्रिया के आधार पर प्रस्तुत किया गया है । अधिकतम सीमा से हम जटिलता और कुल सूचना सामग्री के बीच एक संबंध कायम करते हैं। ..फुल लेख ...

मुझे व्यावहारिक कार्यान्वयन पर कुछ कागजात भी मिले, (उदाहरण के लिए " एक तेज टी-अपघटन एल्गोरिथ्म " देखें)


2

मूल रूप से, लगभग किसी भी मशीन सीखने या संपीड़न विधि Kolmogorov जटिलता के लिए एक सन्निकटन है:

  • p(x)logp(x)
  • nK(x)n+sCsCx

इस प्रकार, आप किसी भी कंप्रेसर या संभाव्यता वितरण के पैटर्न को देख सकते हैं और बेहतर होगा कि वे आपके डेटा को कंप्रेस करें, K (x) के लिए आपकी ऊपरी सीमा बेहतर। अनुमान लगाने के लिए बस कंप्रेशर के आकार को संपीड़ित डेटा के आकार में जोड़ना सुनिश्चित करें।

K(x)

K(x)K

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

तकनीकी विवरण के लिए यह पेपर देखें । डिस्क्लेमर: मैं लेखकों में से एक हूं।

K(x)K(x)


-1

आप संसाधन बद्ध Kolmogorov जटिलता की तलाश कर रहे हैं। आप इस पेपर और ब्रांच आउट से शुरुआत कर सकते हैं।


2
कागज के लिंक के लिए धन्यवाद, मैं प्रश्न में संसाधन बाध्य जटिलता का उल्लेख करता हूं, लेकिन ब्याज वास्तव में उन उपायों में है जो कुशलता से कम्प्यूटेशनल हैं। ऐसा लगता है जैसे कागज से पता चलता है कि इन मॉडलों के लिए 'यादृच्छिक तार' उच्च जटिलता के सेट से मेल खाते हैं। इससे पता चलता है कि इन मॉडलों में एक स्ट्रिंग की जटिलता का निर्णय लेना कुशलता से कम्प्यूटेशनल नहीं है?
Artem Kaznatcheev
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.