2013-10-08 2 views
5

बनाने का सबसे अच्छा तरीका मैं वर्तमान में डीएडब्ल्यूजी देख रहा हूं और मैं एक विश्वकोश automaton बनाने का एक अच्छा तरीका नहीं ढूंढ पा रहा हूं।डायरेक्टेड एसाइक्लिक वर्ड ग्राफ़ (डीएडब्ल्यूजी)

तो बुनियादी तौर पर, मुझे क्या करना चाहते हैं यह है:

DAWG

यह मूल रूप से एक पेड़ है, जहां राज्यों की संख्या कम कर रहे हैं। मैं इसे संख्याओं के साथ उपयोग करूंगा लेकिन अवधारणा बिल्कुल वही है।

मुझे आश्चर्य है कि इसे करने का सबसे तेज़ तरीका क्या होगा, मेरी वास्तविक योजना बाईं ओर दिखाए गए ग्राफ को बनाना था, और फिर निम्न स्तर के राज्यों को देखें और जब वे समान रूप से विलय करें।

हालांकि, मुझे यकीन नहीं है कि यह करने का यह सबसे अच्छा तरीका है, क्या किसी को इसका निर्माण करने के बारे में कोई विचार है।

सम्मान।

+0

आपके पास एक डीएफए का प्रतिनिधित्व है। आप इसे कम से कम डीएफए में कम कर सकते हैं (काफी मानक एल्गोरिदम हैं) – SheetJS

+0

मुझे पता है, लेकिन मैं वास्तव में ऐसा करने का एक तरीका ढूंढ रहा हूं (या एक छद्म कोड) – Anoracx

+0

https://en.wikipedia.org/wiki /DFA_minimization#Hopcroft.27s_algorithm – SheetJS

उत्तर

3

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

आशा है कि इससे मदद मिलती है!

+0

उत्तर दें, हाँ, लेकिन कई न्यूनीकरण एल्गोरिदम हैं, और मैं डीएडब्ल्यूजी "खुद" बनाना पसंद करूंगा, क्योंकि मुझे इसे एक सरणी में स्टोर करने की आवश्यकता होगी एक समय पर। मैं वास्तव में पेड़ पाने के लिए एक छद्म कोड की तलाश में हूं -> DAWG। – Anoracx

+0

@ Anoracx- मुझे लगता है कि मैं जो पूछ रहा हूं उसके बारे में उलझन में हूं। Trie-> डीएडब्ल्यूजी कदम एक डीएफए न्यूनीकरण कदम है। "डीएडब्ल्यूजी खुद को बनाने" का क्या मतलब है? – templatetypedef

+0

वैसे मैंने विकिपीडिया पढ़ने से सोचा कि एक डीएडब्ल्यूजी (डीएएफएसए) एक सामान्य पेड़/डीएफए से बने पेड़ का एक प्रकार था। तो मैं वास्तव में सोच रहा था कि ऐसा करने के लिए एक विशेष एल्गोरिदम होगा। और न केवल न्यूनतमकरण एल्गोरिदम। इसलिए जब मैंने कहा कि मैं इसे खुद करना चाहता हूं, तो मैं वास्तव में इसे डीएफए से डीएएफएसए (डीएडब्ल्यूजी) में परिवर्तित करने का एक तरीका ढूंढ रहा था, और यदि नीचे से शुरू करने का विचार एक अच्छा विचार था। – Anoracx