हम कितनी तेजी से तय कर सकते हैं कि क्या दिया गया डीएफए न्यूनतम है?


11

नियतात्मक परिमित ऑटोमेटा (DFAs) को कम करना एक ऐसी समस्या है जिसका साहित्य में पूरी तरह से अध्ययन किया गया है, और निम्नलिखित समस्या को हल करने के लिए कई एल्गोरिदम प्रस्तावित किए गए हैं: DFA को देखते हुए , एक ही भाषा को स्वीकार करते हुए एक समान न्यूनतम DFA की गणना करें । इनमें से अधिकांश एल्गोरिदम बहुपद समय में चलते हैं।AA

हालाँकि, मुझे आश्चर्य है कि क्या इस समस्या का निर्णय प्रकार - "DFA , क्या न्यूनतम है?" - वास्तव में न्यूनतम ऑटोमेटोन की गणना की तुलना में अधिक कुशलता से हल किया जा सकता है। जाहिर है, यह भी होपक्रॉफ्ट के विभाजन-शोधन एल्गोरिथ्म के लिए चलकर कुशलता से किया जा सकता है और फिर यह निर्णय लेते हुए कि क्या सभी विभाजनों में एक राज्य ठीक है।AA

जैसा कि युवल फिल्मस ने अपने उत्तर में बताया है कि, मानक एल्गोरिदम का उपयोग करके संभवतः डिसिडिबिलिटी वेरिएंट को तेजी से हल किया जा सकता है। दुर्भाग्य से, मैं नहीं देख सकता कि कैसे (मुझे आशा है कि मैं एक स्पष्ट बिंदु याद नहीं कर रहा हूँ)।

युवल यहां टिप्पणियों में बताते हैं कि निरंतर आकार के अक्षर के लिए सबसे अच्छा ज्ञात एल्गोरिदम (जैसे ऊपर वाला) time में चलता है । इसलिए, मैं न केवल रनटाइम में asymptotically महत्वपूर्ण लाभ में रुचि रखते हैं, क्योंकि ये बल्कि संभावना नहीं है। जो मुझे सबसे ज्यादा परेशान करता है वह यह है कि मैं किसी भी "शॉर्टकट" की कल्पना नहीं कर सकता हूं जो इस तथ्य से खींचा जा सकता है कि हम केवल हां-ना-जवाब में रुचि रखते हैं - एक शॉर्टकट भी नहीं जो असमान रूप से नगण्य राशि को बचाने के लिए अनुमति देता है। मुझे लगता है कि डीएफए की न्यूनतमता तय करने वाले प्रत्येक समझदार एल्गोरिदम को वास्तव में डीएफए को कम करना होगा और देखना होगा कि प्रक्रिया के दौरान कुछ भी बदलता है या नहीं।O(nlogn)


होपक्रॉफ्ट का एल्गोरिथ्म पहले से ही क्वासिलिनियर समय में चलता है, इसलिए इसमें सुधार की ज्यादा गुंजाइश नहीं है।
युवल फिल्मस

हां, मैंने अपना प्रश्न संपादित किया, ताकि यह इस तथ्य को दर्शाता है, @ युवैलफिल्मस
कॉर्नेलियस ब्रैंड

1
मेरा मानना ​​है कि सबसे तेजी से ज्ञात डीएफए न्यूनतमकरण एल्गोरिथ्म अभी भी यह एक है । यह 2008 में समय में चलने से पहले प्रकाशित किसी भी एल्गोरिथम से अधिक तेज़ है , जहाँ संक्रमणों की संख्या है। O(n+mlogn)m
जुहो

मुझे लगता है कि संभावना नहीं है कि निर्णय की समस्या कम से कम होने की समस्या के लिए जटिलता के बराबर है, पूर्व संभवत: कठिन लगता है क्योंकि इसमें डीएफए समतुल्यता के लिए परीक्षण शामिल है जो कि गैर-महत्वपूर्ण नहीं है। इसलिए ऐसा लगता है कि निर्णय समस्या की जटिलता "न्यूनतम परीक्षण या तुल्यता परीक्षण" की अधिकतम है। और समतुल्यता परीक्षण की जटिलता क्या है?
vzn

@vzn यह मानते हुए कि आपका मतलब है "[...] जो कि nontrivial है": यह जरूरी नहीं है, जैसे कि मैंने अपने प्रश्न में जो प्रक्रिया दी है वह तुल्यता के लिए परीक्षण से बचती है। हालांकि, मुझे यह भी लगता है कि समस्या को कम करने की तुलना में आसान नहीं है।
कॉर्नेलियस ब्रांड

जवाबों:


5

यह उस तरह का उत्तर नहीं हो सकता है, जिसकी आप तलाश कर रहे हैं, लेकिन चूंकि आपने निर्णय की समस्याओं के बारे में पूछा है, इसलिए मुझे लगा कि आप समस्या की जटिलता में दिलचस्पी ले सकते हैं। यह ।NL

अब, DFA के न्यूनतम होने का क्या अर्थ है? दो गुण हैं:

  1. हर राज्य में पहुँच योग्य है: ऐसी है कि हम तक पहुँच सकते हैं शुरुआत राज्य से का पालन करते हुए ; प्रतीकों में: ।qQwΣqswswq

  2. राज्यों की प्रत्येक जोड़ी विशिष्ट है: साथ जैसे कि और और (केवल एक एक स्वीकार स्थिति है)।q,rQqr wΣqwsrwt|{s,t}F|=1s,t

ध्यान दें कि गणना लॉग-स्पेस (यानी ; बस एक बार में एक अक्षर का अनुसरण करते हुए अपनी वर्तमान स्थिति को ट्रैक करें )। इसके अलावा, केवल और बीच की एक सीमित संख्या इसलिए Immerman-Szelepcsenyi प्रमेय के परिणाम के रूप में है , हमारे पास समस्या ।xwyLwNL

यह देखने का सबसे आसान तरीका है कि यह लिए कठिन है, यह नोटिस करना है कि संपत्ति 1 - निर्देशित को हल करती है , जो कि प्रोटोटाइप की कठिन समस्या है। लेकिन यहां तक ​​कि अगर आप केवल डीएएफ़ए पर विचार करते हैं, तो भी समस्या कठिन है (यानी संपत्ति 2 है ) और आप एंड 2.2 के लेम्मा 2.2 (1992) में अपेक्षाकृत सीधा प्रमाण पा सकते हैं ।NLstNL

बेशक, मैंने गैर-नियतात्मकता का उपयोग किया, इसलिए यह हॉपक्रॉफ्ट के एल्गोरिथ्म से अलग होने के तरीके में थोड़ी खांसी है। लेकिन हम जानते हैं कि , इसलिए आप उन कंस्ट्रक्शन का उपयोग खुद को तुलना में अधिक स्पेस-कुशल एल्गोरिथ्म प्राप्त करने के लिए कर सकते हैं (जो कि इसके स्वभाव से कई विभाजन का ट्रैक रखना है )।NLL2n


यह अंतरिक्ष में सुधार करने के लिए लगता है लेकिन समय जटिलता नहीं है?
vzn

मैं vzn से सहमत हूँ। हालाँकि मुझे यह उत्तर पसंद है, फिर भी मैं उन जानकारियों में दिलचस्पी रखता हूँ जो मूल प्रश्न से अधिक निकटता से संबंधित हैं।
कॉर्नेलियस ब्रांड

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