क्या यह तय करना संभव है कि किसी दिए गए एल्गोरिदम को एसिम्पोटॉटिक रूप से इष्टतम है?


11

निम्नलिखित समस्या के लिए एक एल्गोरिथ्म है:

एक ट्यूरिंग मशीन को देखते हुए, जो एक भाषा का निर्णय लेती है , क्या कोई Turing machine M_2 L का निर्णय लेती है जैसे कि t_2 (n) = o (t_1 (n)) ?M1L
M2Lt2(n)=o(t1(n))

t1 और t_2 के कार्य क्रमशः t2ट्यूरिंग मशीनों M1 और M_2 का सबसे खराब समय चल रहा M2है।

अंतरिक्ष जटिलता के बारे में क्या?


1
उत्तर निश्चित रूप से नहीं है। टीएम के सबसे खराब चल रहे समय का निर्धारण करना अनिर्दिष्ट माना जाता है।
चाजिसोप

जवाबों:


9

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

हम रनिंग-टाइम इष्टतमता के बारे में आपकी समस्या के लिए खाली टेप पर रुकने की समस्या को कम करते हैं।

बता दें कि एक ट्यूरिंग मशीन है। चलो निम्नलिखित ट्यूरिंग मशीन हो:M

एन एम एन एम एन 2 एनN : इनपुट 1. (अधिकतम) चरणों के लिए खाली टेप पर भागो । 2. यदि चरणों में नहीं रुकता है , तो आकार का एक लूप चलाएं , फिर NO। 3. अन्यथा, यस वापस करें।n
Mn
Mn2n

दो मामले हैं:

  1. अगर खाली टेप पर रोक नहीं है, मशीन के लिए चलेगा इनपुट पर चरणों । तो इसका चलने का समय । इस मामले में, स्पष्ट रूप से इष्टतम नहीं है।एन Θ ( 2 n ) n Θ ( 2 n ) एनMNΘ(2n)nΘ(2n)N

  2. यदि खाली टेप पर रुकता है, तो मशीन सभी बड़े पर्याप्त लिए निरंतर चरणों की संख्या के लिए चलेगी , इसलिए चलने का समय । इस मामले में, स्पष्ट रूप से इष्टतम है।एन एन ( 1 ) एनMNnO(1)N

संक्षेप में:

M halts on blank tape N is optimial 

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

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

यहां तक ​​कि एक मजबूत कथन सत्य है: हम यह तय नहीं कर सकते हैं कि किसी दिए गए कम्प्यूटेशनल फ़ंक्शन की गणना की गई जटिलता पर ऊपरी जटिलता है या नहीं। इसी तरह अंतरिक्ष के लिए। यानी यहां तक ​​कि बुनियादी जटिलता सिद्धांत को एल्गोरिदम द्वारा स्वचालित नहीं किया जा सकता है (जिसे जटिलता सिद्धांतकारों के लिए एक अच्छी खबर माना जा सकता है।)


केवल यह उल्लेख करना चाहते हैं कि मूल प्रश्न में, ओपी ने माना कि भाषा को द्विघात समय में तय करता है। M1
पाएल जीडी

कृपया स्पष्ट करें कि आप असममित इष्टतमता को देखते हैं। यहां तक ​​कि 2 मामले में, सख्ती से इष्टतम नहीं है ; फ़ंक्शन गणना एक चरण में की जा सकती है, जबकि को से अधिक (बड़े ) की आवश्यकता होती है, खाली टेप पर की गणना की लंबाई के साथ है । n हाँ एन एन 0 एन एन 0 एमnnYESNn0nn0M
राफेल

आह, जब से मैंने इसे पढ़ा है तब से यह प्रश्न बदल गया। कोई बात नहीं।
राफेल

@ PålGD, मुझे लगता है कि ओपी ने इसका इस्तेमाल एक उदाहरण के रूप में किया था (cstheory पर पोस्ट किए गए मूल प्रश्न के आधार पर)। आप उस प्रश्न के तहत टिप्पणियों की जांच कर सकते हैं।
केवह

2

जैसा कि दूसरों ने उल्लेख किया है कि उत्तर नहीं है।

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

बहुत अच्छी संपत्ति!


-3

हा! जवाब था हां, हम एक अलग दुनिया में रह रहे होंगे।

कल्पना करें कि आपके प्रश्न का उत्तर हाँ था (और निश्चित रूप से हम एल्गोरिदम जानते थे जो आपके प्रश्न का उत्तर देगा), फिर किसी भी एल्गोरिथ्म लिए भाषा , हम बता पाएंगे ( का उपयोग ) यदि इष्टतम है या नहीं। ।एल 0A0ALA0A

दुर्भाग्य से, यह संभव नहीं है, और वास्तव में मुझे लगता है कि व्यक्तिगत रूप से साबित करना (गैर-तुच्छ) इष्टतमता कंप्यूटर विज्ञान में सबसे दिलचस्प (और कठिन) समस्या है। जहाँ तक मुझे पता है - मुझे ख़ुशी होगी कि मुझे सही किया जाएगा - किसी भी बहुपद समस्या के लिए कोई इष्टतम परिणाम मौजूद नहीं है (केवल इनपुट आकार के लिए आनुपातिक समय लेने वाले एल्गोरिदम के तुच्छ इष्टतमता परिणामों को छोड़कर)।


1
कुछ समस्याओं के लिए फॉर्म की ज्ञात सीमाएं हैं , और एल्गोरिदम जो इसे संतुष्ट करते हैं। सरल उदाहरण हैं, तुलना द्वारा छांटना, एक सरणी का कम से कम तत्व खोजना। Ω(N)
वॉनब्रांड

1
सबसे पहले, "asymptotically इष्टतम" "इष्टतम" के रूप में ही नहीं है। दूसरा, आप इस सवाल का जवाब नहीं देते। तीसरा, एल्गोरिदम को छांटने के लिए (कुछ प्रकार के) निचले । Ω(nlogn)
राफेल

@vonbrand - यह वही है जो मैं एल्गोरिदम द्वारा इनपुट आकार के लिए आनुपातिक ले रहा हूं।
टी

1
@ttothet ठीक है, मुझे डर है कि यह बेकार हो जाएगा लेकिन मैं फिर से कोशिश करूँगा। 1) नहीं, बिल्कुल नहीं। यदि आप हर इनपुट पर केवल एक कदम बचाते हैं, तो आपके पास पहले की तुलना में बेहतर एल्गोरिदम है, भले ही इसमें समान रूप से समान रनटाइम हो। 2) नहीं, यह नहीं है। इसका मतलब यह भी हो सकता है "मुझे नहीं पता, लेकिन अगर हाँ, तो एक्स"। यह असामान्य नहीं है (cf P? = NP)। 3) आपने दावा किया कि गैर-तुच्छ निचले सीमाएं (asymptotics पर, मुझे लगता है) बिल्कुल भी नहीं थीं । यह गलत है। कृपया अपना होमवर्क करें।
राफेल

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