"सबसे खराब स्थिति" के अलावा अन्य मामलों की जटिलता कक्षाएं


10

क्या हमारे पास औसत वर्गीय जटिलता के संबंध में जटिलता वर्ग हैं? उदाहरण के लिए, क्या समस्याओं के लिए (नामित) जटिलता वर्ग है जो तय करने के लिए अपेक्षित बहुपद समय लेता है?

एक और सवाल सबसे अच्छा मामला जटिलता पर विचार करता है, नीचे दिया गया है:

क्या (प्राकृतिक) समस्याओं का एक वर्ग है जिनके निर्णय के लिए कम से कम घातीय समय की आवश्यकता होती है ?

स्पष्ट करने के लिए, कुछ पर विचार ऍक्स्प -Complete भाषा । जाहिर है, एल के सभी उदाहरणों के लिए घातांक समय की आवश्यकता नहीं होती है: ऐसे उदाहरण हैं जो बहुपद समय में भी तय किए जा सकते हैं। तो, एल का सबसे अच्छा मामला जटिलता घातीय समय नहीं है।LLL

EDIT: चूंकि कई अस्पष्टताएं उत्पन्न हुईं, इसलिए मैं इसे और भी स्पष्ट करने का प्रयास करना चाहता हूं। "सबसे अच्छा मामला" जटिलता से मेरा मतलब है कि एक जटिलता वर्ग जिसकी समस्याओं की जटिलता कुछ फ़ंक्शन द्वारा कम होती है। उदाहरण के लिए, BestE को उन भाषाओं के वर्ग के रूप में परिभाषित करें, जिन्हें कुछ रैखिक घातीय से कम समय में तय नहीं किया जा सकता है। प्रतीकात्मक रूप से, को एक मनमानी ट्यूरिंग मशीन, और c , n 0 और n को प्राकृतिक संख्या के रूप में दर्शाते हैं :Mcn0n

LBestE (c)(M)[(L(M)=L)(n0)(n>n0)(x{0,1}n)[T(M(x))2c|x|]]

जहां इनपुट x पर M हाल्ट से पहले लगने वाले समय को दर्शाता है ।T(M(x))Mx

मैं स्वीकार करता हूं कि इस तरह की समस्याओं को परिभाषित करना बहुत ही अजीब है, क्योंकि हमें इसकी आवश्यकता है, हर ट्यूरिंग मशीन , इसकी शक्ति की परवाह किए बिना, कुछ रैखिक घातीय से कम समय में भाषा का फैसला नहीं कर सकती है।M

फिर भी सूचना है कि बहुपद समय समकक्ष ( BestP ), स्वाभाविक है के बाद से हर ट्यूरिंग मशीन समय की आवश्यकता है कम से कम इसके इनपुट को पढ़ें।|x|

पुनश्च: हो सकता है, "सभी ट्यूरिंग मशीन लिए" की मात्रा निर्धारित करने के बजाय , हमें इसे ट्यूरिंग मशीनों के कुछ पूर्व-निर्दिष्ट वर्ग तक सीमित करना होगा, जैसे कि बहुपद-काल ट्यूरिंग मशीनें। इस तरह, हम बी एस टी ( एन 2 ) जैसी कक्षाओं को परिभाषित कर सकते हैं , जो कि बहुपद-काल ट्यूरिंग मशीनों पर निर्णय लेने के लिए कम से कम द्विघात समय की आवश्यकता वाली भाषाओं की श्रेणी है।MBest(n2)

PS2: एक सर्किट-कॉम्प्लेक्सिटी समकक्ष पर भी विचार कर सकता है, जिसमें हम भाषा तय करने के लिए कम से कम सर्किट आकार / गहराई पर विचार करते हैं।


सिर्फ इसलिए कि सैट के उदाहरण हैं जो आसान हैं, इसका मतलब यह नहीं है कि इसका अपेक्षित समय बहुपद है। मैं नहीं यकीन है कि मैं अपने प्रश्न समझ में कर रहा हूँ ..
लेव Reyzin

@ लीव रेज़िन: मेरा मतलब यह नहीं था कि SAT अपेक्षित पॉली-टाइम में है। मेरा मतलब है कि SAT के आसान उदाहरण हैं, हम यह नहीं कह सकते कि इसकी "सबसे अच्छी स्थिति" जटिलता कठिन है।
बजे एमएस डौस्ती

ओह, मैं देख रहा हूं, औसत मामला जटिलता और सबसे अच्छी मामला जटिलता दो अलग-अलग प्रश्न हैं! किसी तरह मैं अपने पहले पढ़ने में चूक गया - मेरी गलती।
लेव Reyzin

मैं BestE की आपकी परिभाषा को काफी कम नहीं कर सकता। एम और एक्स अपने परिमाण के बाहर बैठे हैं ... भी, क्या आप नहीं चाहते हैं कि इनपुट को अस्वीकार कर दें जो एल में नहीं हैं ? ML
रयान विलियम्स

@ रयान: दोष को इंगित करने के लिए धन्यवाद। मैंने इसे ठीक किया।
एमएस डौस्ती

जवाबों:


13

हालाँकि मैं आपकी परिभाषाओं को बहुत अधिक नहीं समझ सकता, लेकिन आपको पता होना चाहिए कि अधिक मजबूत समय पदानुक्रम ज्ञात हैं, विशेष रूप से "लगभग हर जगह" समय पदानुक्रम।

यहाँ औपचारिक विवरण दिया गया है: हर बार बाध्य , एक भाषा है L formal T I M E [ T ( n ) ] संपत्ति के साथ प्रत्येक नियतांक एल्गोरिथ्म जो सही रूप से एल को पहचानता है उसे समय पर चलना चाहिए जो कि t के साथ एसिम्पोटिक रूप से अधिक हो ( n ) पर्याप्त रूप से छोटे समय t ( n ) के लिए सभी लेकिन बारीक से कई सूचनाओं पर । T(n)LTIME[T(n)]Lt(n)t(n)

"पर्याप्त रूप से छोटे" का अर्थ है t(n)logt(n)o(T(n))

मान लीजिए कि हम एक उदाहरण के लिए चुनते हैं , और एक कठिन भाषा L प्राप्त करते हैं । फिर, कोई भी एल्गोरिथ्म जो सही तरीके से एल को पहचानता है, उसे एक निश्चित लंबाई के सभी इनपुट पर कम से कम 2 n / n 2 समय लेना चाहिए । ऐसा प्रतीत होता है कि आप अपनी कक्षा BestE में क्या देख रहे हैं।T(n)=2nLL2n/n2

संदर्भ:

जॉन जी। गेसके, डंग टी। हुइन्ह, जोएल आई। सेफ़ेरस: ए नोट ऑन ऑल-एवरीवेयर-कॉम्प्लेक्स सेट्स एंड सेपरेटिंग डिसेंटिविस्ट-टाइम-कॉम्प्लेक्सिटी क्लासेस इन। कंप्यूटर। 92 (1): 97-104 (1991)


बहुत अच्छे धन्यवाद। मुझे लगता है कि आप मेरे सवाल को अच्छी तरह से समझ गए हैं, और आपका परिचय वाक्य "मैं आपकी परिभाषाओं को बहुत कम नहीं कर सकता" सिर्फ आपकी विनम्रता का संकेत है :)
एमएस डौस्टी

2
बशर्ते मैंने सही अनुमान लगाया हो, आपकी परिभाषा कुछ इस तरह होनी चाहिए: "BestE \ iff (\ मौजूद c) (\ forall M) [(L (M) = L) \ Rightarrow (\ मौजूद n_0) (\ toall n) में L \ _ > n_0) (\ forall x \ in \ {0,1 \} ^ n) [T (M (x))> 2 ^ {c | x |}]] "।
रयान विलियम्स

हां, आप सही हैं। मैंने अंतिम मिनट में परिभाषा को संपादित किया, और कुछ मात्राओं को गलत बताया। मैंने आपकी परिभाषा के आधार पर प्रश्न को सही किया।
एमएस डौस्ती

12

कई वर्ग हैं जो औसत-मामले की जटिलता के विभिन्न धारणाओं से निपटने का प्रयास करते हैं। कॉम्प्लेक्सिटी चिड़ियाघर में, आपकी रुचि के कुछ वर्ग निम्नलिखित हैं:

AvgP

HeurP

DistNP

(एनपी, पी samplable)

अरोड़ा / बराक ने कई वर्गों, समान वर्गों (Ch 18 में) को डिस्टेप, डिस्टेंप और sampNP को परिभाषित किया।

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

जहाँ तक "सबसे अच्छा मामला" जटिलता सवाल है, मुझे यकीन नहीं है कि मैं काफी समझ रहा हूं कि आपका क्या मतलब है। क्या आप EXP की तलाश कर रहे हैं ?

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


बहुत अच्छा किया! सवाल के औसत-मामले की जटिलता के लिए मुझे यही चाहिए। "सर्वश्रेष्ठ-केस" भाग के बारे में, मैंने देखा कि प्रश्न का मूल कथन अस्पष्ट था। मेरी गलती! मैंने इसे बहुत संपादित किया है, इसलिए कृपया इसे फिर से पढ़ने पर विचार करें।
बजे एमएस डौस्ती

5

TIME[T(n)]CLCLLLCLCLL¯=ΣLCBestEE

(ऐतिहासिक एक तरफ: प्रतिरक्षा की धारणा पहली बार 1944 में कम्प्यूटेबिलिटी थ्योरी में पोस्ट द्वारा विकसित की गई थी , बहुत पहले भी परिभाषित की गई थी। पोस्ट को वास्तव में "सरल सेट" माना जाता है - एक सेट सरल है यदि इसका पूरक प्रतिरक्षा है। "इम्यून" शब्द का आम तौर पर अर्थ होता है "कंप्युटेबल सेट्स के लिए इम्यून।" उस सेटिंग में, इम्युनिटी "इम्यून टू सी सेट्स" के बराबर होती है क्योंकि हर अनंत सी सेट में एक अनंत कंप्यूटेबल होता है। मेरा मानना ​​है कि पोस्ट का पेपर भी सबसे पहले शुरू किया गया था। कई-एक की कमी की धारणा, लेकिन मैं उसकी कसम नहीं खा सकता था।


MLLM(x)=1

LLC

1
@ सादिक: तय, धन्यवाद। @ रियान: सच (या यह कुछ घंटे पहले था: उसने तब से परिभाषा को अद्यतन किया है)। फिर यह द्वि-प्रतिरक्षा के बजाय प्रतिरक्षा होगा। किसी भी तरह से, मुख्य रूप से मैं केवल "प्रतिरक्षा" कीवर्ड को इंगित करना चाहता था।
जोशुआ ग्रोको

2

अलग-अलग मामले एल्गोरिदम के बारे में बात करते समय अधिक समझ में आते हैं, समस्या नहीं। दूसरी ओर, जटिलता कक्षाएं समस्याओं के बारे में हैं, एल्गोरिदम नहीं। इसलिए, परिभाषा के कारण जटिलता वर्ग हमेशा सबसे खराब स्थिति में होता है।

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

एल्गोरिथम विश्लेषण में, आपका लक्ष्य यह सुनिश्चित करना है कि समस्या के किसी भी उदाहरण में आपके एल्गोरिथ्म में संसाधन के लिए ऊपरी सीमा है। एक तुच्छ बँटवारा समस्या की जटिलता वर्ग है, क्योंकि कोई भी उपयोगी (जो कि अनैतिक कदम नहीं उठाता है) एल्गोरिथ्म उससे अधिक समय लेता है। हालाँकि, आप उस सीमा को सुधार सकते हैं जो एल्गोरिथ्म की विशिष्टताओं को देखते हुए है।

Θ

सर्वोत्तम मामले के लिए, हर समस्या के लिए आवश्यक संसाधनों की न्यूनतम संख्या का पता लगाना तुच्छ है। मान लें कि इनपुट लंबाई O (n) का है और लंबाई O (m) का आउटपुट है। फिर निम्नलिखित TM M हमेशा सर्वश्रेष्ठ स्थिति के लिए O (n) + O (m) में चलता है:

एम {इनपुट, उदाहरण, समाधान}

  1. मशीन में एन्कोड किए गए उदाहरण के साथ दिए गए उदाहरण की तुलना करें।
  2. यदि वे समान हैं, तो एन्कोड किए गए समाधान को वापस करें।
  3. एल्स, एक ब्रूट-फोर्स सर्च करें।

-1

O(1)


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

यदि आप निर्धारक, गैर-संभाव्य संगणना के बारे में बात कर रहे हैं, तो यह जांचने में रैखिक समय (O (n) समय) लगेगा कि क्या उदाहरणों के दो एनकोडिंग समतुल्य हैं: इनपुट एन्कोडिंग के n बिट्स को स्कैन करें और सत्यापित करें कि यह वही है क्रमादेशित एन्कोडिंग के रूप में, नहीं?
डैनियल अपॉन

2
@ डैनियल: हां, लेकिन अगर किसी एक उदाहरण को तय किया जाता है, तो यह केवल निरंतर समय लेता है, जहां स्थिर निश्चित आवृत्ति की लंबाई पर निर्भर करता है।
अक्टूबर को त्सुयोशी इतो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.