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

From Vigyanwiki
No edit summary
 
(7 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 विश्लेषण [[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>
Line 11: Line 11:
<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>
Line 19: Line 19:
== SLD नाम की उत्पत्ति ==
== 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> इसका नाम 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 एक विश्लेषण है।
[[रॉबर्ट कोवाल्स्की]] द्वारा प्रस्तुत किए गए अस्पष्ट अनुमान नियम के लिए "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" इस तथ्य के लिए स्थित होना है कि संकल्प प्रमाण को खंडों के रैखिक अनुक्रम तक सीमित किया जा सकता है:
दोनों में, 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> खाली उपवाक्य है।


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


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


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


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


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


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


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


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


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


<math> q \lor \neg p  </math>
<math> q \lor \neg p  </math>
Line 62: Line 62:
<math> p \, </math>
<math> p \, </math>


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


<math> \neg q  </math>
<math> \neg q  </math>
Line 69: Line 69:


<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>
जब अन्वेषण स्थल में एक अतिरिक्त शाखा होगी, जिसका आसंधि r एक विफलता आसंधि है। प्रस्तावना में, यदि यह खंड मूल कार्यक्रम के सामने जोड़ा गया था, तो प्रस्तावना उस क्रम का उपयोग करेगा जिसमें अन्वेषण स्थल की शाखाओं की जांच के क्रम को निर्धारित करने के लिए खंड लिखे गए हैं। प्रस्तावना पहले इस नई शाखा का प्रयास करेगा, असफल होगा, और फिर मूल कार्यक्रम की एकल शाखा की जांच करने और सफल होने के लिए पीछे हटेगा।
जब अन्वेषण स्थल में एक अतिरिक्त शाखा होगी, जिसका आसंधि r एक विफलता आसंधि है। प्रस्तावना में, यदि यह वर्ग मूल कार्यक्रम के सामने जोड़ा गया था, तो प्रस्तावना उस क्रम का उपयोग करेगा जिसमें अन्वेषण स्थल की शाखाओं की जांच के क्रम को निर्धारित करने के लिए एक वर्ग हैं।  


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


==SLDNF==
==SLDNF==


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>सफल होता है।
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:Created On 15/05/2023|Sld Resolution]]
 
[[Category:Machine Translated Page|Sld Resolution]]
[[Category: Machine Translated Page]]
[[Category:अनुमान के नियम|Sld Resolution]]
[[Category:Created On 15/05/2023]]
[[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