एसएलडी रिज़ॉल्यूशन: Difference between revisions

From Vigyanwiki
(Created page with "एसएलडी संकल्प ("चयनात्मक रैखिक निश्चित" खंड संकल्प) तर्क प्रोग्रा...")
 
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
एसएलडी संकल्प ("चयनात्मक रैखिक निश्चित" खंड संकल्प) [[तर्क प्रोग्रामिंग]] में प्रयुक्त अनुमान का मूल नियम है। यह [[संकल्प (तर्क)]] का परिशोधन है, जो [[हॉर्न क्लॉज]] के लिए ध्वनि और खंडन [[पूर्णता (तर्क)]] दोनों है।
SLD विश्लेषण [[Index.php?title= तर्क कार्यरचना|तर्क कार्यरचना]] में उपयोग किया जाने वाला मूल अनुमान नियम है। यह [[Index.php?title=Index.php?title= विश्लेषण|विश्लेषण]] का परिशोधन है, जो [[Index.php?title=हॉर्न अनुच्छेद|हॉर्न अनुच्छेद]] के लिए ध्वनि और खंडन दोनों [[Index.php?title=Index.php?title= पुर्ण|पुर्ण]] है।


== SLD अनुमान नियम ==
== SLD अनुमान नियम ==


एक लक्ष्य खंड दिया गया है, जिसे हल करने के लिए किसी समस्या की उपेक्षा के रूप में दर्शाया गया है:
एक कार्य वर्ग दिया गया है, जिसे हल करने के लिए किसी समस्या की उपेक्षा के रूप में दर्शाया गया है:


<math> \neg L_1 \lor \cdots \lor \neg L_i \lor \cdots \lor \neg L_n </math>
<math> \neg L_1 \lor \cdots \lor \neg L_i \lor \cdots \lor \neg L_n </math>
चयनित शाब्दिक के साथ <math> \neg L_i </math>, और एक इनपुट [[निश्चित खंड]]:
 
चयनित शाब्दिक के साथ <math> \neg L_i </math>, और एक इनपुट [[Index.php?title=निश्चित वर्ग|निश्चित वर्ग]] प्राप्त करता है।


<math> L \lor \neg K_1  \lor  \cdots \lor \neg K_m </math>
<math> L \lor \neg K_1  \lor  \cdots \lor \neg K_m </math>
जिसका सकारात्मक शाब्दिक (परमाणु) <math> L\, </math> परमाणु के साथ एकीकरण (कंप्यूटिंग)। <math> L_i \, </math> चयनित शाब्दिक का <math>\neg L_i \, </math>, SLD रिज़ॉल्यूशन एक अन्य लक्ष्य क्लॉज़ प्राप्त करता है, जिसमें चयनित शाब्दिक को इनपुट क्लॉज़ के नकारात्मक शाब्दिक और एकीकृत प्रतिस्थापन द्वारा प्रतिस्थापित किया जाता है <math> \theta \, </math> लागू की गई है:
 
जिसका सकारात्मक शाब्दिक <math> L\, </math> नाभिकीय के साथ एकीकृत करता है। <math> L_i \, </math> चयनित शाब्दिक का <math>\neg L_i \, </math>, SLD विश्लेषण और कार्य वर्ग प्राप्त करता है, जिसमें चयनित शाब्दिक को इनपुट निश्चित वर्ग के नकारात्मक शाब्दिक और एकीकृत प्रतिस्थापन द्वारा प्रतिस्थापित किया जाता है <math> \theta \, </math>:


<math> (\neg L_1 \lor \cdots \lor \neg K_1  \lor  \cdots \lor \neg K_m\ \lor \cdots \lor \neg L_n)\theta </math>
<math> (\neg L_1 \lor \cdots \lor \neg K_1  \lor  \cdots \lor \neg K_m\ \lor \cdots \lor \neg L_n)\theta </math>
सबसे सरल मामले में, प्रस्तावात्मक तर्क में, परमाणु <math> L_i \, </math> और <math> L \, </math> समान हैं, और एकीकृत प्रतिस्थापन <math> \theta \, </math> खाली है। हालांकि, अधिक सामान्य मामले में, दो शाब्दिक समान बनाने के लिए एकीकृत प्रतिस्थापन आवश्यक है।
 
सबसे सरल स्थिति में, प्रस्तावात्मक तर्क में, नाभिकीय <math> L_i \, </math> और <math> L \, </math> समान हैं, और एकीकृत प्रतिस्थापन <math> \theta \, </math> शून्य है। चूंकि, अधिक सामान्य स्थिति में, दो शाब्दिक समान बनाने के लिए एकीकृत प्रतिस्थापन आवश्यक है।


== SLD नाम की उत्पत्ति ==
== SLD नाम की उत्पत्ति ==


[[रॉबर्ट कोवाल्स्की]] द्वारा पेश किए गए अनाम अनुमान नियम के लिए मार्टेन वैन एम्डेन द्वारा एसएलडी संकल्प नाम दिया गया था।<ref>Robert Kowalski [http://www.doc.ic.ac.uk/~rak/papers/IFIP%2074.pdf Predicate Logic as a Programming Language] Memo 70, Department of Artificial Intelligence, University of Edinburgh.  1973. Also in Proceedings IFIP Congress, Stockholm, North Holland Publishing Co., 1974, pp. 569-574.</ref> इसका नाम एसएल संकल्प से लिया गया है,<ref>Robert Kowalski and Donald Kuehner, [http://www.doc.ic.ac.uk/~rak/papers/sl.pdf Linear Resolution with Selection Function] Artificial Intelligence, Vol. 2, 1971, pp. 227-60.</ref> जो तर्क के अप्रतिबंधित खंड रूप के लिए ध्वनि और खंडन दोनों पूर्ण है। SLD का मतलब निश्चित शर्तों के साथ SL रिज़ॉल्यूशन है।
[[रॉबर्ट कोवाल्स्की]] द्वारा प्रस्तुत किए गए अस्पष्ट अनुमान नियम के लिए "SLD विश्लेषण" नाम मार्टिन वैन एम्डेन द्वारा दिया गया था।<ref>Robert Kowalski [http://www.doc.ic.ac.uk/~rak/papers/IFIP%2074.pdf Predicate Logic as a Programming Language] Memo 70, Department of Artificial Intelligence, University of Edinburgh.  1973. Also in Proceedings IFIP Congress, Stockholm, North Holland Publishing Co., 1974, pp. 569-574.</ref> इसका नाम SL वियोजन से लिया गया है,<ref>Robert Kowalski and Donald Kuehner, [http://www.doc.ic.ac.uk/~rak/papers/sl.pdf Linear Resolution with Selection Function] Artificial Intelligence, Vol. 2, 1971, pp. 227-60.</ref> जो तर्क के अप्रतिबंधित वर्ग रूप के लिए ध्वनि और खंडन दोनों पूर्ण है। SLD का अर्थ है निश्चित वर्ग के साथ SL एक विश्लेषण है।


एसएल और एसएलडी दोनों में, एल इस तथ्य के लिए खड़ा है कि संकल्प प्रमाण को खंडों के रैखिक अनुक्रम तक सीमित किया जा सकता है:
दोनों में, SL और SLD, "L" इस तथ्य के लिए स्थित होना है कि विश्लेषण प्रमाण को खंडों के रैखिक अनुक्रम तक सीमित किया जा सकता है:


<math> C_1, C_2, \cdots, C_l </math>
<math> C_1, C_2, \cdots, C_l </math>
जहां शीर्ष खंड <math> C_1 \, </math> एक इनपुट क्लॉज है, और हर दूसरा क्लॉज <math> C_{i+1} \, </math> एक संकल्पकर्ता है जिसके माता-पिता पिछले खंड हैं <math> C_i \, </math>. यदि अंतिम खंड है तो प्रमाण एक खंडन है <math> C_l \, </math> खाली उपवाक्य है।


एसएलडी में, अनुक्रम में सभी खंड लक्ष्य खंड हैं, और अन्य माता-पिता एक इनपुट क्लॉज हैं। एसएल रिज़ॉल्यूशन में, अन्य माता-पिता या तो एक इनपुट क्लॉज या पूर्वज क्लॉज है जो पहले अनुक्रम में था।
जहां शीर्ष वर्ग <math> C_1 \, </math>एक इनपुट वर्ग है, और हर दूसरा वर्ग  <math> C_{i+1} \, </math> एक संकल्पकर्ता है जिसके अभिभावक पिछले वर्ग में हैं <math> C_i \, </math>. यदि अंतिम वर्ग है तो प्रमाण एक खंडन है <math> C_l \, </math> खाली उपवाक्य है।


एसएल और एसएलडी दोनों में, एस इस तथ्य के लिए खड़ा है कि किसी भी खंड में एकमात्र शाब्दिक हल किया गया है <math> C_i \, </math> वह एक है जिसे चयन नियम या चयन फ़ंक्शन द्वारा विशिष्ट रूप से चुना जाता है। एसएल संकल्प में, चयनित शाब्दिक एक तक सीमित है जिसे हाल ही में खंड में पेश किया गया है। सबसे सरल मामले में, इस तरह के एक [[ढेर (सार डेटा प्रकार)]] | अंतिम-में-पहले-बाहर चयन फ़ंक्शन को उस क्रम से निर्दिष्ट किया जा सकता है जिसमें [[प्रोलॉग]] में अक्षर लिखे गए हैं। हालाँकि, SLD रिज़ॉल्यूशन में चयन फ़ंक्शन SL रिज़ॉल्यूशन और प्रोलॉग की तुलना में अधिक सामान्य है। चुने जा सकने वाले शाब्दिक पर कोई प्रतिबंध नहीं है।
SLD में, अनुक्रम में सभी कार्य वर्ग हैं, और अन्य अभिभावक एक इनपुट वर्ग हैं। SL विश्लेषण में, अन्य अभिभावक है या तो एक इनपुट वर्ग है जो पहले अनुक्रम में था।


== एसएलडी रिज़ॉल्यूशन की कम्प्यूटेशनल व्याख्या ==
SL और SLD दोनों में, "S" इस तथ्य के लिए एक आधार है कि किसी भी वर्ग में एकमात्र शाब्दिक हल किया गया है <math> C_i \, </math> वह है जिसे विशिष्ट रूप से चयन नियम या चयन फलन द्वारा चुना जाता है। SL विश्लेषण में, चयनित शाब्दिक एक तक सीमित है जिसे हाल ही में वर्ग में उपस्थित किया गया है। सबसे सरल स्थिति में, इस तरह चयन समारोह को उस क्रम से निर्दिष्ट किया जा सकता है जिसमें [[Index.php?title= प्रस्तावना|प्रस्तावना]] के रूप में लिखा गया है। चूंकि, SLD विश्लेषण में चयन फलन SL  विश्लेषण और प्रस्तावना की तुलना में अधिक सामान्य है। चुने जा सकने वाले शाब्दिक पर कोई प्रतिबंध नहीं है।


क्लॉसल लॉजिक में, एक एसएलडी खंडन दर्शाता है कि क्लॉज का इनपुट सेट असंतोषजनक है। तर्क प्रोग्रामिंग में, हालांकि, एक एसएलडी खंडन की एक कम्प्यूटेशनल व्याख्या भी है। शीर्ष उपवाक्य <math> \neg L_1 \lor \cdots \lor \neg L_i \lor \cdots \lor \neg L_n </math> उपलक्ष्यों के संयोजन के इनकार के रूप में व्याख्या की जा सकती है <math>  L_1 \land \cdots \land L_i \land \cdots \land L_n </math>. खंड की व्युत्पत्ति  <math> C_{i+1} \, </math> से <math> C_i \, </math> एक लक्ष्य-घटाने की प्रक्रिया के रूप में एक इनपुट क्लॉज का उपयोग करके, उप-लक्ष्यों के एक नए सेट के पिछड़े तर्क के माध्यम से व्युत्पत्ति है। एकीकृत प्रतिस्थापन <math> \theta \, </math> दोनों चयनित उप-लक्ष्य से प्रक्रिया के मुख्य भाग में इनपुट पास करते हैं और साथ ही साथ प्रक्रिया के शीर्ष से शेष अचयनित उप-लक्ष्यों तक आउटपुट पास करते हैं। खाली खंड केवल उपलक्ष्यों का एक खाली सेट है, जो संकेत करता है कि शीर्ष खंड में उपलक्ष्यों का प्रारंभिक संयोजन हल हो गया है।
== SLD विश्लेषण की संगणनात्मक व्याख्या ==


==SLD रिज़ॉल्यूशन रणनीतियाँ==
खण्ड़ तर्क में, एक SLD खंडन दर्शाता है कि वर्ग का इनपुट सेट असंतोषजनक है। चूंकि तर्क प्रोग्रामिंग में, एक SLD खंडन की एक संगणनात्मक व्याख्या भी है। शीर्ष उपवाक्य <math> \neg L_1 \lor \cdots \lor \neg L_i \lor \cdots \lor \neg L_n </math> उपलक्ष्यों के संयोजन के इनकार के रूप में व्याख्या की जा सकती है <math>  L_1 \land \cdots \land L_i \land \cdots \land L_n </math>. वर्ग की व्युत्पत्ति  <math> C_{i+1} \, </math> से <math> C_i \, </math> एक लक्ष्य-घटाने की प्रक्रिया के रूप में एक इनपुट वर्ग का उपयोग करके, उप-लक्ष्यों के एक नए सेट के पिछड़े तर्क के माध्यम से व्युत्पत्ति है। एकीकृत प्रतिस्थापन <math> \theta \, </math> दोनों चयनित उपलक्ष्य से प्रक्रिया के मुख्य भाग में इनपुट पास करते हैं और साथ ही प्रक्रिया के शीर्ष से शेष अचयनित उपलक्ष्यों तक आउटपुट पास करते हैं। वर्ग केवल उपलक्ष्यों का एक खाली सेट है, जो संकेत करता है कि शीर्ष वर्ग में उपलक्ष्यों का प्रारंभिक संयोजन हल हो गया है।


एसएलडी संकल्प स्पष्ट रूप से वैकल्पिक गणनाओं के एक [[खोज पेड़]] को परिभाषित करता है, जिसमें प्रारंभिक लक्ष्य खंड पेड़ की जड़ से जुड़ा हुआ है। पेड़ में प्रत्येक नोड के लिए और कार्यक्रम में प्रत्येक निश्चित खंड के लिए जिसका सकारात्मक शाब्दिक नोड से जुड़े लक्ष्य खंड में चयनित शाब्दिक के साथ एकीकृत होता है, एसएलडी संकल्प द्वारा प्राप्त लक्ष्य खंड से जुड़ा एक बच्चा नोड होता है।
==SLD विश्लेषण रणनीतियाँ==


एक पत्ता नोड, जिसमें कोई संतान नहीं है, एक सफल नोड है यदि इससे जुड़ा लक्ष्य खंड खाली खंड है। यह एक विफलता नोड है यदि इसका संबद्ध लक्ष्य खंड खाली नहीं है, लेकिन इसका चयनित शाब्दिक कार्यक्रम में निश्चित खंडों के सकारात्मक शाब्दिक के बिना एकीकृत होता है।
SLD विश्लेषण स्पष्ट रूप से वैकल्पिक गणनाओं की एक [[Index.php?title= अन्वेषण|अन्वेषण]] को परिभाषित करता है, जिसमें प्रारंभिक कार्य वर्ग से जुड़ा हुआ है। प्रत्येक नोड के लिए और कार्यक्रम में प्रत्येक निश्चित वर्ग के लिए जिसका सकारात्मक शाब्दिक नोड से जुड़े कार्य वर्ग में चयनित शाब्दिक के साथ एकीकृत होता है, SLD विश्लेषण द्वारा प्राप्त कार्य वर्ग से जुड़ा एक नोड होता है।


एसएलडी संकल्प इस अर्थ में गैर-नियतात्मक है कि यह खोज वृक्ष की खोज के लिए खोज रणनीति का निर्धारण नहीं करता है। प्रोलॉग पेड़ की गहराई-पहले, एक समय में एक शाखा की खोज करता है, बैकट्रैकिंग का उपयोग करते हुए जब यह विफलता नोड का सामना करता है। कंप्यूटिंग संसाधनों के उपयोग में [[गहराई-पहली खोज]] बहुत कुशल है, लेकिन अपूर्ण है यदि खोज स्थान में अनंत शाखाएँ हैं और खोज रणनीति इन्हें सीमित शाखाओं की प्राथमिकता में खोजती है: संगणना समाप्त नहीं होती है। चौड़ाई-प्रथम खोज|चौड़ाई-प्रथम, सर्वश्रेष्ठ-प्रथम खोज|सर्वश्रेष्ठ-प्रथम, और शाखा-और-बाध्य खोज सहित अन्य खोज रणनीतियाँ भी संभव हैं। इसके अलावा, खोज को क्रमिक रूप से, एक समय में एक नोड, या समानांतर में, कई नोड्स एक साथ किया जा सकता है।
एक नोड, जिसमें कोई वर्ग नहीं है, एक सफल नोड है यदि इससे जुड़ा वर्ग शून्य है। यह एक विफलता नोड है तो इसका संबद्ध कार्य वर्ग से नहीं है, परंतु इसका चयनित शाब्दिक कार्यक्रम में निश्चित खंडों के सकारात्मक शाब्दिक के बिना एकीकृत होता है।


एसएलडी संकल्प भी इस अर्थ में गैर-नियतात्मक है, जैसा कि पहले उल्लेख किया गया है, कि चयन नियम अनुमान नियम द्वारा निर्धारित नहीं किया जाता है, लेकिन एक अलग निर्णय प्रक्रिया द्वारा निर्धारित किया जाता है, जो कार्यक्रम निष्पादन प्रक्रिया की गतिशीलता के प्रति संवेदनशील हो सकता है।
SLD विश्लेषण इस अर्थ में गैर-नियतात्मक है कि यह परीक्षण के लिए रणनीति का निर्धारण नहीं करता है। प्रस्तावना पहले मध्यमार्ग, एक शाखा की खोज करता है, पृष्ठभाग संसाधन का उपयोग करते हुए जब यह विफलता नोड का सामना करता है। तो  संगणना संसाधनों के उपयोग में [[Index.php?title पहली खोज|पहली खोज]] बहुत कुशल होती है, परंतु अपूर्ण यदि अन्वेषण स्थान में अनंत शाखाएँ हैं और अन्वेषण रणनीति इन्हें सीमित शाखाओं की प्राथमिकता में खोजती है: तो संगणना समाप्त नहीं होती है। चौड़ाई-प्रथम, सर्वोत्तम-प्रथम, और शाखा-और-बाध्य अन्वेषण सहित अन्य अन्वेषण रणनीतियाँ भी संभव हैं। इसके अतिरिक्त, अन्वेषण को क्रमिक रूप से, एक समय में एक नोड , या समानांतर में, कई ग्रंथि के साथ किया जा सकता है।


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


== उदाहरण ==
== उदाहरण ==


तर्क कार्यक्रम को देखते हुए:
तर्क कार्यक्रम को देखते हुए:<syntaxhighlight lang="prolog">
<वाक्यविन्यास लैंग = प्रोलॉग लाइन = 1>
1 q :- p.
क्ष:- .
2 p.
पी।
</syntaxhighlight>और शीर्ष-स्तरीय कार्य :<syntaxhighlight lang="prolog">
</वाक्यविन्यास हाइलाइट>
q.
 
</syntaxhighlight>अन्वेषण स्थल में एक ही शाखा होती है, जिसमें <code>q</code> तक कम कर दिया जाता है <code>p</code> जो एक सफल संगणना का संकेत देते हुए उप-लक्ष्यों के खाली सेट तक कम हो जाता है। इस स्थिति में, कार्यक्रम इतना सरल है कि चयन विधि की कोई भूमिका नहीं है और किसी भी अन्वेषण की आवश्यकता नहीं है।
और शीर्ष-स्तरीय लक्ष्य:
 
सिंटैक्सहाइलाइट लैंग = प्रोलॉग>
क्यू।
</वाक्यविन्यास हाइलाइट>
खोज स्थान में एक ही शाखा होती है, जिसमें <code>q</code> तक घटा दिया जाता है <code>p</code> जो एक सफल संगणना का संकेत देते हुए, उप-लक्ष्यों के खाली सेट तक कम हो जाता है। इस मामले में, कार्यक्रम इतना सरल है कि चयन समारोह की कोई भूमिका नहीं है और किसी भी खोज की आवश्यकता नहीं है।


क्लॉज़ल लॉजिक में, प्रोग्राम को क्लॉज़ के सेट द्वारा दर्शाया जाता है:
वर्ग तर्क में, प्रोग्राम को सेट द्वारा दर्शाया जाता है:


<math> q \lor \neg p  </math>
<math> q \lor \neg p  </math>


<math> p \, </math>
<math> p \, </math>
और शीर्ष-स्तरीय लक्ष्य को एक नकारात्मक शाब्दिक के साथ लक्ष्य खंड द्वारा दर्शाया गया है:
 
और शीर्ष-स्तरीय कार्य को एक नकारात्मक शाब्दिक के साथ कार्य वर्ग द्वारा दर्शाया गया है:


<math> \neg q  </math>
<math> \neg q  </math>
खोज स्थान में एकल खंडन शामिल है:
 
अन्वेषण स्थल में एकल खंडन सम्मलित है:


<math> \neg q, \neg p, \mathit{false} </math>
<math> \neg q, \neg p, \mathit{false} </math>
कहाँ <math> \mathit{false} \, </math> खाली खंड का प्रतिनिधित्व करता है।
जहाँ <math> \mathit{false} \, </math> खाली वर्ग का प्रतिनिधित्व करता है।


यदि निम्नलिखित खंड कार्यक्रम में जोड़ा गया था:
यदि निम्नलिखित वर्ग कार्यक्रम में जोड़ा गया था:
<syntaxhighlight lang="prolog">
<syntaxhighlight lang="prolog">
q :- r.
q :- r.
</syntaxhighlight>
</syntaxhighlight>
तब खोज स्थान में एक अतिरिक्त शाखा होगी, जिसका पत्ता नोड <code>r</code> एक विफलता नोड है। प्रोलॉग में, यदि इस खंड को मूल कार्यक्रम के सामने जोड़ा गया था, तो प्रोलॉग उस क्रम का उपयोग करेगा जिसमें खोज स्थान की शाखाओं की जांच के क्रम को निर्धारित करने के लिए खंड लिखे गए हैं। प्रोलॉग पहले इस नई शाखा का प्रयास करेगा, असफल होगा, और फिर मूल कार्यक्रम की एकल शाखा की जांच करने और सफल होने के लिए पीछे हटेगा।
जब अन्वेषण स्थल में एक अतिरिक्त शाखा होगी, जिसका आसंधि r एक विफलता आसंधि है। प्रस्तावना में, यदि यह वर्ग मूल कार्यक्रम के सामने जोड़ा गया था, तो प्रस्तावना उस क्रम का उपयोग करेगा जिसमें अन्वेषण स्थल की शाखाओं की जांच के क्रम को निर्धारित करने के लिए एक वर्ग हैं।  


यदि खंड
यदि वर्ग में
<syntaxhighlight lang="prolog">
<syntaxhighlight lang="prolog">
p :- p.
p :- p.
</syntaxhighlight>
</syntaxhighlight>
अब प्रोग्राम में जोड़े गए हैं, तो सर्च ट्री में एक अनंत शाखा होगी। यदि इस क्लॉज को पहले आजमाया गया, तो प्रोलॉग एक अनंत लूप में चला जाएगा और सफल शाखा नहीं मिलेगी।
योजना में जोड़े गए, सर्च ट्री एक अनंत शाखा होगी। यदि इस खण्ड़ को पहले अनुभूत किया गया, तो प्रस्तावना एक अनंत लूप में चला जाएगा और सफल शाखा नहीं मिलेगी।


==एसएलडीएनएफ==
==SLDNF==


एसएलडीएनएफ<ref>[[Krzysztof R. Apt|Krzysztof Apt]] and Maarten van Emden, [http://dl.acm.org/citation.cfm?doid=322326.322339 Contributions to the Theory of Logic Programming], Journal of the Association for Computing Machinery. Vol, 1982 - portal.acm.org</ref> विफलता के रूप में नकारात्मकता से निपटने के लिए एसएलडी संकल्प का विस्तार है। SLDNF में, लक्ष्य खंड में विफलता शाब्दिक के रूप में नकारात्मकता शामिल हो सकती है, जैसा कि प्रपत्र में कहा गया है <math> not(p) \, </math>, जिनका चयन केवल तभी किया जा सकता है जब उनमें कोई चर न हो। जब इस तरह के एक चर-मुक्त शाब्दिक का चयन किया जाता है, तो एक सबप्रूफ (या उप-संकलन) को यह निर्धारित करने का प्रयास किया जाता है कि क्या कोई एसएलडीएनएफ खंडन है जो संबंधित असंबद्ध शाब्दिक से शुरू होता है। <math> p \, </math> शीर्ष खंड के रूप में। चयनित उपलक्ष्य <math> not(p) \, </math> सबप्रूफ विफल होने पर सफल होता है, और यदि सबप्रूफ सफल होता है तो यह विफल हो जाता है।
SLDNF<ref>[[Krzysztof R. Apt|Krzysztof Apt]] and Maarten van Emden, [http://dl.acm.org/citation.cfm?doid=322326.322339 Contributions to the Theory of Logic Programming], Journal of the Association for Computing Machinery. Vol, 1982 - portal.acm.org</ref> विफलता के रूप में नकारात्मकता से निपटने के लिए SLD विश्लेषण का विस्तार है। SLDNF में, कार्य वर्ग में विफलता शाब्दिक के रूप में नकारात्मकता सम्मलित हो सकती है, जैसा कि प्रपत्र में कहा गया है <math> not(p) \, </math>, जिन्हें केवल तभी चुना जा सकता है जब उनमें कोई चर न हो। जब इस तरह के एक चर-मुक्त शाब्दिक का चयन किया जाता है, तो एक उप-संकलन को यह निर्धारित करने का प्रयास किया जाता है कि क्या कोई SLDNF खंडन है जो संबंधित असंबद्ध शाब्दिक से प्रारंभ होता है। <math> p \, </math> शीर्ष वर्ग के रूप में। चयनित उपलक्ष्य <math> not(p) \, </math>सफल होता है।


== यह भी देखें ==
== यह भी देखें ==
Line 100: Line 100:
*[http://foldoc.org/?SLD+resolution] Definition from the Free On-Line Dictionary of Computing
*[http://foldoc.org/?SLD+resolution] Definition from the Free On-Line Dictionary of Computing


{{DEFAULTSORT:Sld Resolution}}[[Category: तर्क प्रोग्रामिंग]] [[Category: अनुमान के नियम]]
{{DEFAULTSORT:Sld Resolution}}
 
 


[[Category: Machine Translated Page]]
[[Category:Created On 15/05/2023|Sld Resolution]]
[[Category:Created On 15/05/2023]]
[[Category:Machine Translated Page|Sld Resolution]]
[[Category:अनुमान के नियम|Sld Resolution]]
[[Category:तर्क प्रोग्रामिंग|Sld Resolution]]

Latest revision as of 15:17, 1 September 2023

SLD विश्लेषण तर्क कार्यरचना में उपयोग किया जाने वाला मूल अनुमान नियम है। यह विश्लेषण का परिशोधन है, जो हॉर्न अनुच्छेद के लिए ध्वनि और खंडन दोनों पुर्ण है।

SLD अनुमान नियम

एक कार्य वर्ग दिया गया है, जिसे हल करने के लिए किसी समस्या की उपेक्षा के रूप में दर्शाया गया है:

चयनित शाब्दिक के साथ , और एक इनपुट निश्चित वर्ग प्राप्त करता है।

जिसका सकारात्मक शाब्दिक नाभिकीय के साथ एकीकृत करता है। चयनित शाब्दिक का , SLD विश्लेषण और कार्य वर्ग प्राप्त करता है, जिसमें चयनित शाब्दिक को इनपुट निश्चित वर्ग के नकारात्मक शाब्दिक और एकीकृत प्रतिस्थापन द्वारा प्रतिस्थापित किया जाता है :

सबसे सरल स्थिति में, प्रस्तावात्मक तर्क में, नाभिकीय और समान हैं, और एकीकृत प्रतिस्थापन शून्य है। चूंकि, अधिक सामान्य स्थिति में, दो शाब्दिक समान बनाने के लिए एकीकृत प्रतिस्थापन आवश्यक है।

SLD नाम की उत्पत्ति

रॉबर्ट कोवाल्स्की द्वारा प्रस्तुत किए गए अस्पष्ट अनुमान नियम के लिए "SLD विश्लेषण" नाम मार्टिन वैन एम्डेन द्वारा दिया गया था।[1] इसका नाम SL वियोजन से लिया गया है,[2] जो तर्क के अप्रतिबंधित वर्ग रूप के लिए ध्वनि और खंडन दोनों पूर्ण है। SLD का अर्थ है निश्चित वर्ग के साथ SL एक विश्लेषण है।

दोनों में, SL और SLD, "L" इस तथ्य के लिए स्थित होना है कि विश्लेषण प्रमाण को खंडों के रैखिक अनुक्रम तक सीमित किया जा सकता है:

जहां शीर्ष वर्ग एक इनपुट वर्ग है, और हर दूसरा वर्ग एक संकल्पकर्ता है जिसके अभिभावक पिछले वर्ग में हैं . यदि अंतिम वर्ग है तो प्रमाण एक खंडन है खाली उपवाक्य है।

SLD में, अनुक्रम में सभी कार्य वर्ग हैं, और अन्य अभिभावक एक इनपुट वर्ग हैं। SL विश्लेषण में, अन्य अभिभावक है या तो एक इनपुट वर्ग है जो पहले अनुक्रम में था।

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

SLD विश्लेषण की संगणनात्मक व्याख्या

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

SLD विश्लेषण रणनीतियाँ

SLD विश्लेषण स्पष्ट रूप से वैकल्पिक गणनाओं की एक अन्वेषण को परिभाषित करता है, जिसमें प्रारंभिक कार्य वर्ग से जुड़ा हुआ है। प्रत्येक नोड के लिए और कार्यक्रम में प्रत्येक निश्चित वर्ग के लिए जिसका सकारात्मक शाब्दिक नोड से जुड़े कार्य वर्ग में चयनित शाब्दिक के साथ एकीकृत होता है, SLD विश्लेषण द्वारा प्राप्त कार्य वर्ग से जुड़ा एक नोड होता है।

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

SLD विश्लेषण इस अर्थ में गैर-नियतात्मक है कि यह परीक्षण के लिए रणनीति का निर्धारण नहीं करता है। प्रस्तावना पहले मध्यमार्ग, एक शाखा की खोज करता है, पृष्ठभाग संसाधन का उपयोग करते हुए जब यह विफलता नोड का सामना करता है। तो संगणना संसाधनों के उपयोग में पहली खोज बहुत कुशल होती है, परंतु अपूर्ण यदि अन्वेषण स्थान में अनंत शाखाएँ हैं और अन्वेषण रणनीति इन्हें सीमित शाखाओं की प्राथमिकता में खोजती है: तो संगणना समाप्त नहीं होती है। चौड़ाई-प्रथम, सर्वोत्तम-प्रथम, और शाखा-और-बाध्य अन्वेषण सहित अन्य अन्वेषण रणनीतियाँ भी संभव हैं। इसके अतिरिक्त, अन्वेषण को क्रमिक रूप से, एक समय में एक नोड , या समानांतर में, कई ग्रंथि के साथ किया जा सकता है।

SLD विश्लेषण भी इस अर्थ में गैर-नियतात्मक है, जैसा कि पहले उल्लेख किया गया है, कि चयन नियम अनुमान नियम द्वारा निर्धारित नहीं किया जाता है, परंतु एक अलग निर्णय प्रक्रिया द्वारा निर्धारित किया जाता है, जो कार्यक्रम निष्पादन प्रक्रिया की गतिशीलता के प्रति संवेदनशील हो सकता है।

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

उदाहरण

तर्क कार्यक्रम को देखते हुए:

1 q :- p.
2 p.

और शीर्ष-स्तरीय कार्य :

q.

अन्वेषण स्थल में एक ही शाखा होती है, जिसमें q तक कम कर दिया जाता है p जो एक सफल संगणना का संकेत देते हुए उप-लक्ष्यों के खाली सेट तक कम हो जाता है। इस स्थिति में, कार्यक्रम इतना सरल है कि चयन विधि की कोई भूमिका नहीं है और किसी भी अन्वेषण की आवश्यकता नहीं है।

वर्ग तर्क में, प्रोग्राम को सेट द्वारा दर्शाया जाता है:

और शीर्ष-स्तरीय कार्य को एक नकारात्मक शाब्दिक के साथ कार्य वर्ग द्वारा दर्शाया गया है:

अन्वेषण स्थल में एकल खंडन सम्मलित है:

जहाँ खाली वर्ग का प्रतिनिधित्व करता है।

यदि निम्नलिखित वर्ग कार्यक्रम में जोड़ा गया था:

q :- r.

जब अन्वेषण स्थल में एक अतिरिक्त शाखा होगी, जिसका आसंधि r एक विफलता आसंधि है। प्रस्तावना में, यदि यह वर्ग मूल कार्यक्रम के सामने जोड़ा गया था, तो प्रस्तावना उस क्रम का उपयोग करेगा जिसमें अन्वेषण स्थल की शाखाओं की जांच के क्रम को निर्धारित करने के लिए एक वर्ग हैं।

यदि वर्ग में

p :- p.

योजना में जोड़े गए, सर्च ट्री एक अनंत शाखा होगी। यदि इस खण्ड़ को पहले अनुभूत किया गया, तो प्रस्तावना एक अनंत लूप में चला जाएगा और सफल शाखा नहीं मिलेगी।

SLDNF

SLDNF[3] विफलता के रूप में नकारात्मकता से निपटने के लिए SLD विश्लेषण का विस्तार है। SLDNF में, कार्य वर्ग में विफलता शाब्दिक के रूप में नकारात्मकता सम्मलित हो सकती है, जैसा कि प्रपत्र में कहा गया है , जिन्हें केवल तभी चुना जा सकता है जब उनमें कोई चर न हो। जब इस तरह के एक चर-मुक्त शाब्दिक का चयन किया जाता है, तो एक उप-संकलन को यह निर्धारित करने का प्रयास किया जाता है कि क्या कोई SLDNF खंडन है जो संबंधित असंबद्ध शाब्दिक से प्रारंभ होता है। शीर्ष वर्ग के रूप में। चयनित उपलक्ष्य सफल होता है।

यह भी देखें

संदर्भ

  1. Robert Kowalski Predicate Logic as a Programming Language Memo 70, Department of Artificial Intelligence, University of Edinburgh. 1973. Also in Proceedings IFIP Congress, Stockholm, North Holland Publishing Co., 1974, pp. 569-574.
  2. Robert Kowalski and Donald Kuehner, Linear Resolution with Selection Function Artificial Intelligence, Vol. 2, 1971, pp. 227-60.
  3. Krzysztof Apt and Maarten van Emden, Contributions to the Theory of Logic Programming, Journal of the Association for Computing Machinery. Vol, 1982 - portal.acm.org


बाहरी संबंध

  • [1] Definition from the Free On-Line Dictionary of Computing