2009-05-13 15 views
10

प्रश्नइष्टतम "सबसे सामान्य यूनिफायर" एल्गोरिदम क्या है?

सबसे कुशल एमजीई एल्गोरिदम क्या है? इसकी जटिलता क्या है? क्या स्टैक ओवरफ़्लो उत्तर के रूप में वर्णित करना इतना आसान है?

मैं Google पर उत्तर ढूंढने की कोशिश कर रहा हूं लेकिन निजी ढूंढना जारी रखता हूं। पीडीएफ जिन्हें मैं केवल एसीएम सदस्यता के माध्यम से एक्सेस कर सकता हूं। "मुक्त चर" और "स्थिरांक" ... जैसे युक्त दो अभिव्यक्ति पेड़ लें: here

क्या एक "सबसे सामान्य एकीकरण एल्गोरिथ्म" है का स्पष्टीकरण:

मैं SICP में एक चर्चा पाया

 
e1 = (+ x? (* y? 3) 5) 
e2 = (+ z? q? r?) 

तो अधिकांश जनरल एकजुटता के सूत्रधार एल्गोरिथ्म बाइंडिंग का सबसे सामान्य सेट है कि दो भाव बराबर बना देता है देता है।

अर्थात

 
mgu(e1,e2) = (x = z), q = (* y 3), y = unbound, r = 5 

द्वारा "सबसे सामान्य", आप के बजाय बाँध सकता है (एक्स = 1) और (z = 1) और कहा कि यह भी E1 बनाना होगा और e2 बराबर लेकिन इसे और अधिक विशिष्ट हो जाएगा।

एसआईसीपी लेख का अर्थ यह है कि यह काफी महंगा है।

जानकारी के लिए, कारण मैं पूछ रहा हूं क्योंकि मुझे पता है कि प्रकार अनुमान में यह "एकीकरण" एल्गोरिदम भी शामिल है और मैं इसे समझना चाहता हूं।

उत्तर

8

अभ्यास में उपयोग किया जाने वाला सरल एल्गोरिथ (उदाहरण के लिए प्रोलॉग में) पैथोलॉजिकल मामलों के लिए घातीय है।

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

+0

क्या आप इस दस्तावेज़ का वर्णन करते हैं जो इसका वर्णन करता है? क्या यह मूल रूप से एसआईसीपी में वर्णित है जैसा ही है? –

+0

हां, सरल एल्गोरिदम अनिवार्य रूप से एसआईसीपी में वर्णित जैसा ही है। सामान्य प्रस्तुति नियमों का उपयोग करती है जैसे अपघटन, संघर्ष, जांच होती है, ..., तो आप इसे खोजना चाहेंगे। – starblue

4

Baader and Snyder दोनों सिंटैक्टिक एकीकरण और समीकरण एकीकरण के लिए कई एकीकरण एल्गोरिदम प्रकाशित किए।

वे कहते हैं कि उनका तीसरा सिंटैक्टिक एकीकरण एल्गोरिदम (सेक्शन 2.3 में) ओ (एन अल्फा (एन)) में चलता है जहां अल्फा (एन) व्यस्त एकरमेन फ़ंक्शन है - व्यावहारिक स्थितियों में यह एक छोटे से स्थिर के बराबर है।

संबंधित मुद्दे