(इस चर्चा से मुझे अवगत कराने के लिए गिल्ड बार्कन (דלעב ברק for) को बहुत-बहुत धन्यवाद।)
मुझे इस समस्या के बारे में अपने विचारों को शुद्ध रूप से सैद्धांतिक दृष्टिकोण से साझा करने दें (ध्यान दें कि मैं "सबवेर्ड" के बजाय "कारक" का उपयोग करता हूं)।
मुझे लगता है कि इस समस्या (या समस्याओं) की एक पर्याप्त औपचारिक परिभाषा निम्नलिखित है:
किसी शब्द w को देखते हुए, शब्द u_1, u_2, ..., u_k को ऐसे खोजें
- u_i! = u_j हर i, j के साथ 1 <= i <j <= k और
- u_1 u_2 ... u_k = w
अधिकतमकरण संस्करण (हम कई u_i चाहते हैं): अधिकतम कश्मीर
न्यूनतमकरण संस्करण (हम छोटा u_i चाहते हैं): अधिकतम घटाएँ {| u_i : 1 <= i <= k}
ये समस्याएं अतिरिक्त रूप से एक बाध्य बी देने से निर्णय की समस्या बन जाती हैं, जिसके अनुसार, हम "कई-कारकों" के बारे में बात कर रहे हैं -variant या "छोटे कारक" -variant, k पर कम बाध्य है (हम कम से कम B चाहते हैं कारकों), या अधिकतम पर एक ऊपरी बाध्य {| u_i | : 1 <= i <= k} (हम सबसे बी में लंबाई के कारक चाहते हैं), क्रमशः। एनपी-कठोरता के बारे में बात करने के लिए, हमें निर्णय समस्याओं के बारे में बात करने की आवश्यकता है।
आइए "छोटे कारकों" के लिए एसएफ शब्द का उपयोग करें-"वेरिएंट" और "एमएफ" के लिए "कई कारक"। विशेष रूप से, और यह वास्तव में एक महत्वपूर्ण बिंदु है, समस्याओं को इस तरह से परिभाषित किया जाता है कि हमें कुछ वर्णमाला पर एक शब्द मिलता है जो किसी भी तरह से प्रतिबंधित नहीं है। समस्या संस्करण था कि हम एक प्राथमिकता जानते हैं कि हमें केवल इनपुट शब्द मिलते हैं, कहते हैं, वर्णमाला {a, b, c, d} एक अलग समस्या है! एनपी कठोरता करता है नहीं स्वचालित रूप से खत्म हो गया "अप्रतिबंधित" से "निर्धारित वर्णमाला" संस्करण (उत्तरार्द्ध सरल हो सकता है) करने के लिए ले।
एसएफ और एमएफ दोनों एनपी-पूर्ण समस्याएं हैं। यह क्रमशः [1, 1 बी] और [2] में दिखाया गया है (जैसा कि गिलाद ने पहले ही बताया है)। अगर मैं इस चर्चा की शुरुआत में (शायद) भी अनौपचारिक समस्या की परिभाषा को सही ढंग से समझता हूं, तो इस चर्चा की समस्या बिल्कुल समस्या एमएफ है। यह शुरू में उल्लेख नहीं किया गया है कि शब्द कुछ निश्चित वर्णमाला से आने के लिए प्रतिबंधित हैं, बाद में यह कहा जाता है कि हम मान सकते हैं कि केवल निचले-मामले वाले अक्षरों का उपयोग किया जाता है। यदि इसका अर्थ है कि हम केवल निश्चित वर्णमाला {a, b, c, ..., z} पर शब्दों पर विचार करते हैं, तो यह वास्तव में NP-कठोरता के संदर्भ में बहुत कुछ बदल देगा।
एक नज़दीकी नज़र से एसएफ और एमएफ की जटिलता में कुछ अंतर का पता चलता है:
- कागज [1, 1 बी] से पता चलता है कि अगर हम द्विआधारी एक को वर्णमाला को ठीक करते हैं तो एसएफ एनपी-पूर्ण रहता है (अधिक सटीक रूप से: अक्षर ए और बी और एक बाध्य बी पर एक शब्द डब्ल्यू प्राप्त करना, क्या हम इसे लंबाई के अलग-अलग कारकों में बता सकते हैं। अधिकांश बी;)।
- कागज [1, 1 बी] से पता चलता है कि यदि हम बाध्य बी = 2 को ठीक करते हैं तो एसएफ एनपी-पूर्ण रहता है (अधिक सटीक रूप से: एक शब्द डब्ल्यू प्राप्त करना, क्या हम इसे अधिकतम 2 में लंबाई के अलग-अलग कारकों में बदल सकते हैं?)।
- कागज [3] से पता चलता है कि यदि वर्णमाला और बाउंड बी दोनों तय हो गए हैं, तो एसएफ को बहुपद-समय में हल किया जा सकता है।
- कागज [2] से पता चलता है कि एमएफ एनपी-पूर्ण है, लेकिन केवल अगर वर्णमाला प्रतिबंधित नहीं है या एक प्राथमिकता तय नहीं है ! विशेष रूप से, यह सवाल का जवाब नहीं देता है यदि समस्या एनपी-पूर्ण है अगर हम केवल कुछ निश्चित वर्णमाला पर इनपुट शब्दों पर विचार करते हैं (जैसा कि व्यावहारिक सेटिंग्स में सामान्य रूप से होता है)।
- कागज [3] से पता चलता है कि अगर बहुराष्ट्रीय समय में बीएफ को हल किया जा सकता है अगर इनपुट बी को फिर से कुछ स्थिर किया जाता है, यानी, समस्या इनपुट एक शब्द है और {1, 2, ..., के} से एक बाध्य बी है। , जहां K कुछ निश्चित स्थिर है।
इन परिणामों पर कुछ टिप्पणियाँ: Wrt (1) और (2), यह सहज रूप से स्पष्ट है कि यदि वर्णमाला द्विआधारी है, तो, समस्या को SF मुश्किल बनाने के लिए, बाध्य B को भी ठीक नहीं किया जा सकता है। इसके विपरीत, B = 2 को ठीक करने का अर्थ है कि कठिन उदाहरणों को उत्पन्न करने के लिए वर्णमाला का आकार बड़ा होना चाहिए। परिणाम के रूप में, (3) बल्कि तुच्छ है (वास्तव में, [3] थोड़ा और कहते हैं: हम इसे चलाने के समय को न केवल बहुपद में हल कर सकते हैं, बल्कि w | ^ | 2 बार एक कारक है जो केवल वर्णमाला के आकार पर निर्भर करता है। और बाध्य बी)। (५) यह भी मुश्किल नहीं है: यदि हमारा शब्द B की तुलना में लंबा है, तो हम अलग-अलग लंबाई के कारकों में बस ढलकर वांछित कारक प्राप्त कर सकते हैं। यदि नहीं, तो हम सभी संभावनाओं को रोक सकते हैं, जो केवल बी में घातीय है, जो इस मामले में एक स्थिर माना जाता है।
तो हमारे पास जो चित्र है वह निम्न है: एसएफ अधिक कठिन लगता है, क्योंकि हमारे पास निश्चित वर्णमाला के लिए या एक निश्चित बाध्य बी के लिए भी कठोरता है। समस्या एमएफ, दूसरी तरफ, पॉली-टाइम सॉल्व हो जाती है यदि बाउंड तय हो गया है (में) इस संबंध में यह SF की तुलना में आसान है), जबकि संबंधित प्रश्न में वर्णमाला का आकार खुला है। तो MF, SF की तुलना में थोड़ा कम जटिल है, भले ही यह पता चले कि फिक्स्ड अल्फाबेट्स के लिए MF भी NP- पूर्ण है। हालांकि, अगर यह दिखाया जा सकता है कि पॉली-टाइम में निश्चित वर्णमाला के लिए एमएफ को हल किया जा सकता है, तो एमएफ को एसएफ की तुलना में बहुत आसान दिखाया जाता है ... क्योंकि एक मामला जिसके लिए कठिन है वह कुछ हद तक कृत्रिम (अनबाउंड वर्णमाला है!)। ।
मैंने एमएफ के मामले को बाध्य वर्णमाला के साथ हल करने की कोशिश में कुछ प्रयास किया, लेकिन मैं इसे निपटाने में सक्षम नहीं था और इसके बाद से काम करना बंद कर दिया। मुझे विश्वास नहीं है कि अन्य शोधकर्ताओं ने इसे हल करने की बहुत कोशिश की है (इसलिए यह इन बहुत कठिन खुली समस्याओं में से एक नहीं है, कई लोग पहले से ही कोशिश कर चुके हैं और असफल रहे; मैं इसे किसी भी तरह से उचित मानता हूं)। मेरा अनुमान है कि यह निश्चित वर्णमाला के लिए एनपी-हार्ड भी है, लेकिन शायद कमी इतनी जटिल है कि आपको "एमएफ का आकार 35 या उससे अधिक के अक्षर के लिए कठिन है" या ऐसा कुछ मिलेगा, जो सुपर अच्छा भी नहीं होगा ।
आगे के साहित्य के बारे में, मैं कागज [4] को जानता हूं, जो शब्द को अलग-अलग कारकों में विभाजित करने की समस्या पर विचार करता है u_1, u_2, ..., u_k जो सभी पैलिंड्रोम हैं, जो एनपी-पूर्ण भी है।
गिल्ड द्वारा इंगित किए गए कागज [5] पर मेरी त्वरित नज़र थी। यह एक अलग सेटिंग पर विचार करता है, हालांकि। इस पत्र में, लेखकों को इस बात की दिलचस्पी होती है कि किसी दिए गए शब्द में कितने विशिष्ट परिणाम या उपशब्द शामिल हो सकते हैं, लेकिन ये ओवरलैप हो सकते हैं। उदाहरण के लिए, आआबाब में 20 अलग-अलग उप-शब्द होते हैं a, b, aa, ab, ba, bb, aaa, aab, aba, baa, aab, aaba, abab, baab, aaaba, aabaa, abaab, aabaab, aaaba, aaaba (शायद मैं दुस्साहस, लेकिन आप विचार प्राप्त करते हैं)। उनमें से कुछ में केवल एक घटना होती है, जैसे बा, उनमें से कुछ कई, जैसे कि आ। किसी भी मामले में, सवाल यह नहीं है कि हम कई अलग-अलग कारकों को प्राप्त करने के लिए किसी तरह शब्द को कैसे विभाजित कर सकते हैं, क्योंकि इसका मतलब है कि प्रत्येक व्यक्ति का प्रतीक बिल्कुल एक कारक में योगदान देता है।
इस तरह की समस्याओं के व्यावहारिक समाधान के बारे में (ध्यान रखें कि मैं एक सिद्धांतवादी हूं, इसलिए इसे नमक के दाने के साथ लें):
मेरी जानकारी के लिए, कोई सैद्धांतिक निचली सीमा (जैसे कि एनपी-कठोरता) नहीं है जो कि बहुपदीय समय में एमएफ को हल करने के लिए इसे नियंत्रित करेगा यदि हम एक निश्चित वर्णमाला पर केवल इनपुट शब्द मानते हैं। एक चेतावनी है, हालांकि: यदि आपको पॉली-टाइम एल्गोरिथ्म मिलता है, तो यह निश्चित वर्णमाला (या किसी फ़ंक्शन में घातीय) से प्रतीकों की संख्या में तेजी से चलना चाहिए! अन्यथा यह अनबाउंड अल्फाबेट्स के मामले के लिए एक बहुपद समय एल्गोरिथ्म भी होगा। इसलिए, एक सिद्धांतवादी होने के नाते, मैं एल्गोरिदमिक कार्यों की तलाश करूंगा जो कि समय के घातांक में गणना की जा सकती हैं यदि केवल प्रतीकों की संख्या और जो किसी तरह से एमएफ के लिए एल्गोरिथम तैयार करने में मदद करते हैं। दूसरी ओर, यह संभावना है कि ऐसा एल्गोरिथ्म मौजूद नहीं है और फिक्स्ड-अल्फाबेट मामले में एमएफ भी एनपी-हार्ड है।
यदि आप व्यावहारिक समाधानों में रुचि रखते हैं, तो समाधान का अनुमान लगाने में मददगार हो सकता है। इसलिए फैक्टरिसेशन हो रहा है जो कि केवल आधा होने की गारंटी है क्योंकि सबसे खराब स्थिति में इष्टतम भी खराब नहीं होगा।
अनुमान है कि एक स्पष्ट अनुमान अनुपात नहीं देते हैं, लेकिन एक व्यावहारिक सेटिंग में अच्छी तरह से काम भी दिलचस्प होगा, मुझे लगता है।
समस्या उदाहरणों को SAT या ILP-instances में बदलना बहुत कठिन नहीं होना चाहिए और तब आप एक SAT या ILP-सॉल्वर भी इष्टतम समाधान प्राप्त करने के लिए चला सकते हैं।
मेरी व्यक्तिगत राय है कि भले ही यह ज्ञात नहीं है कि क्या एमएफ का निश्चित-वर्णमाला का मामला एनपी-हार्ड है, पर्याप्त सैद्धांतिक अंतर्दृष्टि है जो सुझाव देती है कि समस्या काफी कठिन है ताकि हेयुरिस्टिक समाधानों की तलाश करना उचित हो। एक व्यावहारिक सेटिंग में अच्छी तरह से काम करते हैं।
ग्रंथ सूची:
[१] ऐनी कोंडन, जान मनुच, क्रिस थचुक: स्ट्रिंग विभाजन की जटिलता। जे। असतत एल्गोरिदम 32: 24-43 (2015)
[१ बी] ऐनी कोंडॉन, जान मनुच, क्रिस थचुक: एक टक्कर की जटिलता-अवेयर स्ट्रिंग स्ट्रिंग पार्टीशन प्रॉब्लम और इसके रिलेशन टू ऑलिगो डिजाइन फॉर जीन सिंथेसिस। COCOON 2008: 265-275
[२] हेनिंग फर्नाउ, फ्लोरिन मैना, रॉबर्ट मर्कस, मार्कस एल। श्मिड: पैटर्न मिलान विथ वैरिएबल्स: फास्ट एलगोरिदम एंड न्यू हार्डनेस परिणाम। STACS 2015: 302-315
[३] मार्कस एल। श्मिट: समानता-मुक्त और दोहराए जाने वाले स्ट्रिंग कारक। या। कंप्यूटर। विज्ञान। 618: 42-51 (2016)
] इंट। जे पाया। कंप्यूटर। विज्ञान। 29 (2): 143-164 (2018)
[५] अब्राहम फ्लैक्समैन, अराम वेट्रॉथ हैरो, ग्रेगरी बी। सोरकिन: स्ट्रिंग्स विद मैक्सिमली कई डिस्टि्रक्ट सब्जेक्ट्स एंड सबस्ट्रिंग्स। Electr। जे कंघी। 11 (1) (2004)
aab|a|b|aaजो अभी भी 4 है