उत्पादन सॉफ्टवेयर में सामान्य-केस एक्सपोनेंशियल टाइम एल्गोरिदम कितने आम हैं?


11

मुझे पता है कि घातीय समय एल्गोरिदम को आमतौर पर टाला जाना चाहिए, लेकिन कभी-कभी आवश्यक होते हैं। ट्रैवलिंग सेल्समैन होने का मामला। उत्पादन सॉफ्टवेयर में ऐसे एल्गोरिदम कितने आम हैं? क्या ये मामले आम तौर पर आवश्यक हैं या भीड़ नौकरियों के परिणाम हैं? मैं समझता हूं कि बहुत से लोगों को एक अच्छे उत्तराधिकारी के साथ हल किया जा सकता है। आमतौर पर उन लोगों के साथ क्या किया जाता है जो नहीं कर सकते हैं?


1
मेरी धारणा यह है कि ट्रैवलिंग सेल्समैन समस्या जैसी चीजों के लिए, एक घातीय समय एल्गोरिथ्म को
— टटोलता है

बहुत सारी समस्याओं को "घातीय" एल्गोरिदम के साथ हल किया जाता है। (टीएसपी, सीडीएस, आईएलपी, आदि) यह सिर्फ इतना है कि घातांक एल्गोरिदम के पास अच्छे उत्तराधिकार हैं, इसलिए वे वास्तविक दुनिया के बहुत से डेटा के साथ यथोचित काम करते हैं। एक बेहतर सवाल शायद हो सकता है, " उत्पादन सॉफ्टवेयर में जेनेरिक-केस एक्सपोनेंशियल-टाइम एल्गोरिदम कितने आम हैं ?"
— user541686

प्रश्न समायोजित किया
— वर्ल्ड इंजीनियर

ट्रैवलिंग सेल्समैन n !, घातांक नहीं है।
— user281377

1
@ user281377: यह O (n ^ 2 2 ^ n) में भी है, इसलिए यह एक घातीय समस्या है। यह भी स्पष्ट है क्योंकि इसे पाली में SAT में मैप किया जा सकता है जो 2 ^ n समय में हल किया जा सकता है - जो सभी NP समस्याओं के लिए काम करता है।
— राफेल

जवाबों:


7

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

उन verficiation समस्याओं है कि वास्तव में शुमार कर सका (अवरोध # 1) कर रहे हैं अक्सर EXPTIME -हार्ड अधिक भाग्यशाली मामलों में आप मिलता है, PSPACE -Complete समस्याओं (अवरोध # 2)। दोनों वर्ग एनपी-पूर्ण समस्याओं की तुलना में कठिन हैं (होने का संदेह है), जो तुलना में आसान है। संदेह-घातांक समस्याएं भी आसानी से प्राप्त होती हैं।

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


5

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


5

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


1

मुझे सेल्समैन की समस्या का उदाहरण लेने दें। मैंने इस पर कुछ समय काम किया है।

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

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

वे कितने आम हैं? ग्राहकों से आने वाले बिक्री सेवा अनुरोधों की संख्या के रूप में कम से कम आम है। बिक्री के बाद सेवा के बिना, उदाहरण के लिए, ग्राहकों को बनाए रखना कठिन होता जा रहा है और नए लोगों को हासिल करना कठिन होता जा रहा है।

कई वेब आधारित दुकानों जैसे कि अमेज़ॅन और अन्य किताबों की दुकानों और अन्य ऐसी दुकानों के साथ व्यापार में अच्छी तरह से कर रहा हूं, मुझे लगता है कि ट्रैवलिंग विक्रेता की तुलना में यह अधिक सामान्य है। इसके अलावा, यात्रा सेल्समैन समस्या के कई रूप हो सकते हैं जो पाठ पुस्तकों में पढ़ाए जाते हैं।


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