वास्तविक जीवन में एनपी पूर्ण या एनपी कठिन समस्याएं


17

क्या किसी के पास वास्तविक जीवन उदाहरण हैं जहां वे नियमित रूप से एनपी पूर्ण या एनपी कठिन समस्याओं को हल करते हैं (उत्तराधिकारियों द्वारा, या अपनी नौकरी में एक सबॉप्टीमल समाधान या जो कुछ भी) का पीछा करते हैं? मुझे पता है कि वे शेड्यूलिंग, प्लानिंग, वीएलएसआई डिज़ाइन इत्यादि में होते हैं, लेकिन मैं आज प्रोग्रामरों या इंजीनियरों को नियुक्त करने वाले प्रमुख उद्योगों के बारे में जानने की कोशिश कर रहा हूं जो नियमित रूप से ऐसा करते हैं। यदि किसी को विशेषज्ञता या पुस्तकालय विकसित करने के लिए कहा जाता है, तो कॉम्बीनेटरियल ऑप्टिमाइज़ेशन एक प्रोग्रामिंग की नौकरी के हिस्से के रूप में कहां उपयोग कर सकता है?

कोई व्यक्तिगत खाता?


"नियमित रूप से" से आपका क्या तात्पर्य है
कॉनरेड फ्रीक्स

@ कोनराड, ठीक है, मुझे इसका व्यक्तिपरक विचार लगता है। मैं कहता हूँ कि यह प्रयास 5-10% से अधिक np-complete या np-hard समस्याओं को हल करने पर केंद्रित है।
HighBandWidth

खेलों में एआई प्रोग्रामिंग में एनपी-पूर्ण होने की क्षमता है, मेरा मानना ​​है।
माइकल के

वहाँ बहुत सारी एनपी-हार्ड समस्याएं हैं (शेड्यूलिंग और परिमित संसाधनों के साथ नियोजन आमतौर पर एनपी-हार्ड हैं)। हालांकि, कॉम्बीनेटरियल ऑप्टिमाइज़ेशन जाने का गलत तरीका है। 100 उत्पन्न करने में सक्षम होने के नाते! जितनी जल्दी हो सके संयोजन डोमेन-विशिष्ट उत्तराधिकार को लागू करने की तुलना में बहुत कम उपयोगी है।
डेविड थॉर्नले

@ डेविड, मेरा मतलब कॉम्बीनेटरियल ऑप्टिमाइज़ेशन द्वारा कॉम्बिनेशन जेनरेट करना नहीं था। मैं समस्याओं के एक वर्ग की बात कर रहा था, जैसे k-SAT या ट्रैवलिंग सेल्समैन समस्या आदि
highBandWidth

जवाबों:


8

कुछ चीजें जो मैं सोच सकता हूं (इनमें से ज्यादातर मैं कम या ज्यादा में शामिल रहा हूं):

  • भाषाओं और संकलक के लिए विकास का वातावरण। जैसे प्रश्न: क्या यह व्याकरण एक अस्पष्ट भाषा उत्पन्न करता है? (यह समस्या वास्तव में अवांछनीय है!)
  • डाटा रिकवरी। आंशिक रूप से खोए गए डेटा पैकेटों का पुन: अंश या खंडित फ़ाइलों को पुनर्प्राप्त करना। (तथ्यात्मक जटिलता)
  • सॉफ्टवेयर सुरक्षा। सॉफ्टवेयर के एक टुकड़े के माध्यम से सभी संभावित निष्पादन मार्गों का आकलन यह निर्धारित करने के लिए कि क्या कुछ मनाया व्यवहार इसके लिए जिम्मेदार ठहराया जा सकता है। (रुकने की समस्या?)
  • रसद। परिवहन के लिए पैकेट के आधार पर परिवहन के उपयोग का अनुकूलन, उनका आकार और उन्हें कहाँ जाना है। (कम से कम घातीय)

बहुत सारे मानक उदाहरण हैं जैसे कि सबसे छोटा मार्ग, नर्स शेड्यूलिंग आदि, लेकिन अगर आप दहनशील अनुकूलन में हैं, तो आप उन सभी के बारे में जानते हैं :)


तो क्या लॉजिस्टिक्स कंपनियों द्वारा नियोजित प्रोग्रामर हैं जो वास्तव में इन अनुकूलन समस्याओं को हल करने के लिए समर्पित हैं, या इनमें से अधिकांश ऑपरेशन आम तौर पर एक बार हल किए जाते हैं और ज्यादातर कंपनियों के लिए दोहराए जाते हैं? कई उदाहरणों के लिए +1। क्या आप / आप इनमें से किसी में शामिल थे?
highBandWidth

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

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

9

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

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


2
यह अच्छा है। लेकिन मुझे लगा कि हर पैनल में एक ही पैटर्न होगा, और आप हर विजेट के लिए बार-बार की बजाय समस्या को हल करेंगे। आपको हर बार इसे क्यों हल करना पड़ा?
HighBandWidth 20

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

7

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


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

@highBandWidth: मेरा दृष्टिकोण सांख्यिकीय है। मैं एकेडमिया में हूँ। मेरे द्वारा किए जा रहे शोध का पूरा बिंदु यह है कि यदि आप सांख्यिकीय मुद्दों को अनदेखा करते हैं और सिर्फ कॉम्बीनेटरियल समस्या, बैड थिंग्स हैपन पर ध्यान केंद्रित करते हैं।
dsimcha

3

मैं वास्तव में नहीं जानता, एनपी पूरा / कठिन साधन क्या है, लेकिन मुझे लगता है, आपूर्ति ऑटोप्लनिंग एक तरह का है।

आपके पास 100 उत्पाद SKU: बियर के लिए 90 दिनों की योजना की मांग है! 100 उत्पाद SKU से आता है:

  • वहाँ स्तर -1 आधार कच्चे पीसा हुआ सामान के 10-15 प्रकार हैं, वे होप्सर्डड लीटर बड़े डिब्बे में पीसा जाता है, और इसमें एक दिन लगता है;
  • पकने के बाद, कुछ सामग्रियों को जोड़ा जाना चाहिए (लीवर?), और इसे 10-15 दिनों के लिए आराम करना चाहिए, फिर आपको 15-20 प्रकार के स्तर -2 सामान मिले;
  • अंत में, जब यह तैयार हो जाता है, तो कुछ सामग्रियों को जोड़ा जाना चाहिए, यह स्तर -3 सामान है, जिसे पीने योग्य बीयर कहा जाता है, इसमें cc है। 30 प्रकार के बियर;
  • बीयर को 3 डीएल, 5 डीएल के रूप में बोतलबंद किया जा सकता है, कभी-कभी इसे विशेष नेक्लासिग्ग (स्तर 4) प्राप्त होता है, फिर इसे 5x4 बॉक्स, 6-पैक (स्तर 5) के रूप में पैक किया जा सकता है।

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

कार्य: जैसा कि मैंने उल्लेख किया है, 100 तरह के स्तर -5 (बोतलबंद, पैकेज्ड सामान) के लिए एक मांग योजना है। सभी 5 स्तरों, सभी मशीनों के लिए एक इष्टतम कारख़ाना योजना बनाएं । मशीन के स्विच कम करें (जैसे बॉटलिंग .5, .5, .5, .3, .3।, बेहतर है .3, .5, .3, .5, .3, .5, वहाँ कम swithc हैं बोतलबंद मशीनों के लिए कम मृत समय)। ग्राहक द्वारा प्राथमिकता: कुछ ग्राहकों को केवल 50% से अधिक समय समाप्त होने के साथ ही बीयर को जहाज करने की आवश्यकता होती है। आदि आदि।

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

क्या यह काफी कठिन है, या मुझे यह बताना चाहिए कि एक कपड़ा कारखाना कैसे काम करता है?

(व्यक्तिगत टिप्पणी: वेब, बैंक और लॉजिस्टिक्स क्षेत्रों को चुनौती दे रहे हैं, लेकिन वे समस्याओं को दूर करने की तुलना में बच्चे के खिलौने हैं।)

अस्वीकरण: संख्या सुरक्षा कारण से विकृत है, परिमाण का क्रम वास्तविक है।


क्या आप इस तरह से काम कर रहे हैं या अपने नियोक्ता के लिए इस तरह से सामान को हल करने के लिए एक उपकरण है?
highBandWidth 19

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

1
संसाधनों के सर्वश्रेष्ठ-फिट के साथ किसी भी प्रकार का शेड्यूलिंग एल्गोरिथ्म संभवतः नैकपैक समस्या के बराबर है , जो एनपी-पूर्ण है।
स्कॉट व्हिटलॉक

मेरे एक दोस्त ने सालों पहले Excel + VB में DP / SP सिस्टम बनाया है। इसमें ऑटोप्लानिंग नहीं है, ऐप एक्सेल के लिए बहुत मोटा है। इसलिए, हमने अभी एक MySQL / PHP / AJAX- आधारित सहयोगी विस्तार योग्य बनाया है (देखें: dataflow - aka। Flow-based प्रोग्रामिंग - दृष्टिकोण) स्प्रेडशीट फ्रेमवर्क (मुझे), और XLS- संस्करण (दोस्त) से द्वंद्व तर्क को अपनाया। । हमने ऑटोप्लानिंग भी लागू किया है, (मित्र)। स्प्रेडशीट लिखना एक पागल विचार था, लेकिन यह काम करता है। सबसे अच्छा हिस्सा: XLS-> एसक्यूएल स्विच कुछ अद्भुत है! हम किसी भी टूल / प्लेटफ़ॉर्म (PHP, जावा, जो हम चाहते हैं) का उपयोग करके डेटा (जैसे ऑटोप्लेन) के साथ कुछ भी कर सकते हैं।
ern0

@ ern0, एन पी-सम्पूर्ण / एनपी कठिन मूल रूप से कैसे कुछ शॉर्ट-कट आप भी कर सकते हैं को संदर्भित करता है मान सभी संभावनाओं एक के बाद एक कोशिश कर के बजाय लेने के लिए सक्षम होने के लिए। सिद्धांतकार शॉर्ट-कट लगाने के लिए बहुत सारे प्रयास करते हैं जो कहते हैं कि यदि हमें पता है कि एबीसी पथ हमेशा सीधे एसी से अधिक लंबा होगा, तो हम इसे तेजी से बना सकते हैं और इष्टतम मूल्य के 50% के भीतर साबित हो सकते हैं। आदि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.