विवेचनात्मक तर्क प्रोग्रामिंग (इंडक्टिव लॉजिक प्रोग्रामिंग)

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


 * स्कीमा: सकारात्मक उदाहरण + नकारात्मक उदाहरण + पृष्ठभूमि ज्ञान ⇒ परिकल्पना (Schema: positive examples + negative examples + background knowledge ⇒ hypothesis.)

इंडक्टिव लॉजिक प्रोग्रामिंग जैव सूचना विज्ञान और प्राकृतिक भाषा प्रसंस्करण में विशेष रूप से उपयोगी है। गॉर्डन प्लॉटकिन और एहुद शापिरो ने तार्किक सेटिंग में आगमनात्मक मशीन सीखने के लिए प्रारंभिक सैद्धांतिक नींव रखी थी।  इसी प्रकार शापिरो ने 1981 में अपना पहला कार्यान्वयन (मॉडल अनुमान प्रणाली) बनाया था। प्रोलॉग प्रोग्राम जो सकारात्मक और नकारात्मक उदाहरणों से तर्क प्रोग्रामिंग का आगमनात्मक रूप से अनुमान लगाता है। 1986 में इंडक्टिव लॉजिक प्रोग्रामिंग का पहला पूर्ण प्रथम-क्रम कार्यान्वयन थिओरिस्ट था।  इसी प्रकार इंडक्टिव तर्क प्रोग्रामिंग शब्द पहली बार 1991 में स्टीफन मुगलटन द्वारा एक पेपर में प्रस्तुत किया गया था। मैगलटन ने इंडक्टिव तर्क प्रोग्रामिंग पर वार्षिक अंतर्राष्ट्रीय सम्मेलन की भी स्थापना की, प्रेडिकेट इन्वेंशन, इनवर्स रेजोल्यूशन, और इनवर्स एंटेलमेंट के सैद्धांतिक विचारों को प्रस्तुत किया था। इसी प्रकार मैगलटन ने सबसे पहले पीआरओजीओएल प्रणाली में उलटा प्रवेश लागू किया था। यहाँ "आगमनात्मक" शब्द गणितीय प्रेरण (अर्थात एक सुव्यवस्थित अर्थात के सभी सदस्यों के लिए एक संपत्ति सिद्ध करना) के अतिरिक्त दार्शनिक (अर्थात देखे गए तथ्यों को समझाने के लिए एक सिद्धांत का सुझाव देना) को संदर्भित करता है।

औपचारिक परिभाषा
पृष्ठभूमि ज्ञान तर्क सिद्धांत $B$ के रूप में दिया जाता है, सामान्यतः तर्क प्रोग्रामिंग में उपयोग किए जाने वाले हॉर्न क्लॉज के रूप में सकारात्मक और नकारात्मक उदाहरण संयोजन के रूप में दिए गए हैं $$E^+$$ और $$E^-$$ क्रमशः शाब्दिक (गणितीय तर्क) और नकारात्मक जमीनी अभिव्यक्ति एक सही परिकल्पना $h$ एक तार्किक प्रस्ताव है जो निम्नलिखित आवश्यकताओं को पूरा करता है।

$$\begin{array}{llll} \text{Necessity:} & B & \not\models & E^+ \\ \text{Sufficiency:} & B \land h & \color{blue}{\models} & E^+ \\ \text{Weak consistency:} & B \land h & \not\models & \textit{false} \\ \text{Strong consistency:} & B \land h \land E^- & \not\models & \textit{false} \end{array}$$

"आवश्यकता" $h$ पर प्रतिबंध नहीं लगाती है, इसी प्रकार लेकिन जब तक सकारात्मक तथ्यों को इसके बिना समझा जा सकता है, तब तक परिकल्पना की किसी भी पीढ़ी को मना कर दिया जाता है। "पर्याप्तता" के लिए सभी सकारात्मक उदाहरणों $$E^+$$ की व्याख्या करने के लिए किसी उत्पन्न परिकल्पना $h$ की आवश्यकता होती है। इसी प्रकार "कमजोर स्थिरता" किसी भी परिकल्पना एच के निर्माण को मना करती है जो पृष्ठभूमि ज्ञान B के विपरीत है। "मजबूत संगति" किसी भी परिकल्पना $h$ के निर्माण को भी मना करती है जो कि नकारात्मक उदाहरणों के साथ असंगत है $$E^-$$ पृष्ठभूमि ज्ञान बी दिया गया है; इसका अर्थ है "कमजोर संगति"; यदि कोई नकारात्मक उदाहरण नहीं दिया जाता है, तो दोनों आवश्यकताएँ मेल खाती हैं। इसी प्रकार जेरोस्की को मात्र "पर्याप्तता" (वहाँ "पूर्णता" कहा जाता है) और "मजबूत स्थिरता" की आवश्यकता होती है।

उदाहरण
पारिवारिक संबंधों की परिभाषाएँ सीखने के बारे में निम्नलिखित सुप्रसिद्ध उदाहरण संक्षिप्त रूपों का उपयोग करता है।
 * $par: parent$, $fem: female$, $dau: daughter$, $g: George$, $h: Helen$, $m: Mary$, $t: Tom$, $n: Nancy$, और $e: Eve$.

यह पृष्ठभूमि ज्ञान से (cf. चित्र) प्रारंभ होता है।
 * $$\textit{par}(h,m) \land \textit{par}(h,t) \land \textit{par}(g,m) \land \textit{par}(t,e) \land \textit{par}(n,e) \land \textit{fem}(h) \land \textit{fem}(m) \land \textit{fem}(n) \land \textit{fem}(e)$$,

सकारात्मक उदाहरण

$$\textit{dau}(m,h) \land \textit{dau}(e,t)$$,

और नकारात्मक उदाहरणों की अनुपस्थिति को निरूपित करने के लिए तुच्छ प्रस्ताव सही है।

प्लॉटकिन के इंडक्टिव लॉजिक प्रोग्रामिंग के लिए "सापेक्ष कम से कम सामान्यीकरण (आरएलजीजी)" दृष्टिकोण का उपयोग बेटी संबंध $dau$ को औपचारिक रूप से परिभाषित करने के विधि के बारे में एक सुझाव प्राप्त करने के लिए किया जाता है।

यह दृष्टिकोण निम्न चरणों का उपयोग करता है। \textit{dau}(m,h) \leftarrow \textit{par}(h,m) \land \textit{par}(h,t) \land \textit{par}(g,m) \land \textit{par}(t,e) \land \textit{par}(n,e) \land \textit{fem}(h) \land \textit{fem}(m) \land \textit{fem}(n) \land \textit{fem}(e) \\ \textit{dau}(e,t) \leftarrow \textit{par}(h,m) \land \textit{par}(h,t) \land \textit{par}(g,m) \land \textit{par}(t,e) \land \textit{par}(n,e) \land \textit{fem}(h) \land \textit{fem}(m) \land \textit{fem}(n) \land \textit{fem}(e) \end{align}$$, \textit{dau}(m,h) \lor \lnot \textit{par}(h,m) \lor \lnot \textit{par}(h,t) \lor \lnot \textit{par}(g,m) \lor \lnot \textit{par}(t,e) \lor \lnot \textit{par}(n,e) \lor \lnot \textit{fem}(h) \lor \lnot \textit{fem}(m) \lor \lnot \textit{fem}(n) \lor \lnot \textit{fem}(e) \\ \textit{dau}(e,t) \lor \lnot \textit{par}(h,m) \lor \lnot \textit{par}(h,t) \lor \lnot \textit{par}(g,m) \lor \lnot \textit{par}(t,e) \lor \lnot \textit{par}(n,e) \lor \lnot \textit{fem}(h) \lor \lnot \textit{fem}(m) \lor \lnot \textit{fem}(n) \lor \lnot \textit{fem}(e) \end{align}$$, इसी प्रकार परिणामी हॉर्न क्लॉज आरएलजीजी दृष्टिकोण द्वारा प्राप्त परिकल्पना $n$ है। पृष्ठभूमि ज्ञान तथ्यों को अनदेखा करते हुए, खंड अनौपचारिक रूप से पढ़ता है "$$x_{me}$$ को $$x_{ht}$$ की बेटी कहा जाता है यदि $$x_{ht}$$ और $$x_{me}$$ का जनक है तथा महिला है", जो सामान्यतः स्वीकृत परिभाषा है।
 * पूर्ण पृष्ठभूमि ज्ञान के साथ शाब्दिक रूप से प्रत्येक सकारात्मक उदाहरण को सापेक्ष करें:
 * $$\begin{align}
 * खंड सामान्य रूप में परिवर्तित करें:
 * $$\begin{align}
 * प्रत्येक संगत जोड़ी को शाब्दिक रूप से एकीकृत करें:
 * $$\textit{dau}(x_{me},x_{ht})$$ से $$\textit{dau}(m,h)$$ और $$\textit{dau}(e,t)$$,
 * $$\lnot \textit{par}(x_{ht},x_{me})$$ से $$\lnot \textit{par}(h,m)$$ और $$\lnot \textit{par}(t,e)$$,
 * $$\lnot \textit{fem}(x_{me})$$ से $$\lnot \textit{fem}(m)$$ और $$\lnot \textit{fem}(e)$$,
 * $$\lnot \textit{par}(g,m)$$ से $$\lnot \textit{par}(g,m)$$ और $$\lnot \textit{par}(g,m)$$, अन्य सभी पृष्ठभूमि-ज्ञान शाब्दिकों के समान
 * $$\lnot \textit{par}(x_{gt},x_{me})$$ से $$\lnot \textit{par}(g,m)$$ और $$\lnot \textit{par}(t,e)$$, और कई अन्य नकारात्मक अक्षर
 * सकारात्मक शाब्दिक में नहीं होने वाले चर वाले सभी अस्वीकृत शाब्दिक हटाएं:
 * $$x_{me},x_{ht}$$ की तुलना में अन्य चर वाले सभी अस्वीकृत शाब्दिकों को हटाने के पश्चात, मात्र $$\textit{dau}(x_{me},x_{ht}) \lor \lnot \textit{par}(x_{ht},x_{me}) \lor \lnot \textit{fem}(x_{me})$$ पृष्ठभूमि ज्ञान से सभी जमीनी शाब्दिकों के साथ रहता है।
 * क्लॉज को वापस हॉर्न फॉर्म में बदलें:
 * $$\textit{dau}(x_{me},x_{ht}) \leftarrow \textit{par}(x_{ht},x_{me}) \land \textit{fem}(x_{me}) \land (\text{all background knowledge facts})$$

उपरोक्त आवश्यकताओं के संबंध में, "आवश्यकता" संतुष्ट थी क्योंकि विधेय $$dau$$ पृष्ठभूमि ज्ञान में प्रकट नहीं होता है, इसलिए इस विधेय वाली किसी भी संपत्ति को लागू नहीं किया जा सकता है, जैसे कि सकारात्मक उदाहरण हैं। इसी प्रकार "पर्याप्तता" संगणित परिकल्पना $n$ से संतुष्ट है, क्योंकि पृष्ठभूमि ज्ञान से $$\textit{par}(h,m) \land \textit{fem}(m)$$ के साथ मिलकर, पहले सकारात्मक का अर्थ है उदाहरण $$\textit{dau}(m,h)$$, और इसी प्रकार $h$ और $$\textit{par}(t,e) \land \textit{fem}(e)$$ पृष्ठभूमि ज्ञान से तात्पर्य है दूसरा सकारात्मक उदाहरण $$\textit{dau}(e,t)$$ "कमजोर स्थिरता" $h$ से संतुष्ट है, क्योंकि $h$ पृष्ठभूमि ज्ञान द्वारा वर्णित (परिमित) हरब्रांड संरचना में है; जो "मजबूत स्थिरता" के समान है।

दादी के संबंध की सामान्य परिभाषा, अर्थात $$\textit{gra}(x,z) \leftarrow \textit{fem}(x) \land \textit{par}(x,y) \land \textit{par}(y,z)$$ उपरोक्त दृष्टिकोण का उपयोग करके नहीं सीखा जा सकता है, क्योंकि चर $h$ मात्र क्लॉज बॉडी में होता है; संबंधित शाब्दिक दृष्टिकोण के चौथे चरण में हटा दिए गए होंगे, इसी प्रकार इस दोष को दूर करने के लिए, उस कदम को इस प्रकार संशोधित करना होगा कि इसे भिन्न-भिन्न शाब्दिक पोस्ट-चयन हेरिस्टिक्स के साथ पैरामीट्रिज किया जा सके, ऐतिहासिक रूप से, गोलेम कार्यान्वयन आरएलजीजी दृष्टिकोण पर आधारित है।

इंडक्टिव तर्क प्रोग्रामिंग प्रणाली
इंडक्टिव तर्क प्रोग्रामिंग प्रणाली एक ऐसा प्रोग्राम है जो इनपुट तर्क थ्योरी $$B, E^+, E^-$$ के रूप में लेता है और एक सही परिकल्पना H के आधार पर थ्योरी $$B, E^+, E^-$$ को आउटपुट करता है। आईएलपी प्रणाली के एक कलन विधि में दो भाग होते हैं: परिकल्पना खोज और परिकल्पना चयन, पहले एक इंडक्टिव लॉजिक प्रोग्रामिंग प्रक्रिया के साथ एक परिकल्पना की खोज की जाती है, फिर मिली परिकल्पनाओं का एक उपसमुच्चय (अधिकांश प्रणालियों में एक परिकल्पना) एक चयन कलन विधि द्वारा चुना जाता है। एक चयन कलन विधि प्रत्येक पाई गई परिकल्पना को स्कोर करता है और उच्चतम स्कोर वाले को लौटाता है। स्कोर फ़ंक्शन के एक उदाहरण में न्यूनतम संपीड़न लंबाई सम्मलित है इसी प्रकार जहां सबसे कम कोलमोगोरोव जटिलता वाली परिकल्पना में उच्चतम स्कोर होता है और वापस आ जाता है। एक आईएलपी प्रणाली पूर्ण है यदि किसी भी इनपुट तर्क सिद्धांतों के लिए $$B, E^+, E^-$$ इन इनपुट सिद्धांतों के संबंध में कोई भी सही परिकल्पना $h$ इसकी परिकल्पना खोज प्रक्रिया के साथ मिल सकती है।

परिकल्पना खोज
इसी प्रकार प्रोगोल, हेल और इम्पारो जैसी आधुनिक आईएलपी प्रणालियां $y$, $H$, $B$: $$B \land H \models E \iff B \land \neg E \models \neg H$$ के लिए व्युत्क्रम प्रवेश के सिद्धांत का उपयोग करके एक परिकल्पना $E$ खोजती हैं। सबसे पहले वे एक मध्यवर्ती सिद्धांत $H$ का निर्माण करते हैं जिसे ब्रिज थ्योरी कहा जाता है जो स्थितियों $$B \land \neg E \models F$$ और $$F \models \neg H$$ को संतुष्ट करता है, फिर $$H \models \neg F$$ के रूप में, वे एंटी-एंटेलमेंट के साथ पुल सिद्धांत $H$ की उपेक्षा को सामान्य करते हैं। चूंकि, अत्यधिक गैर-नियतात्मक होने के पश्चात से एंटी-एंटेलमेंट का संचालन कम्प्यूटेशनल रूप से अधिक महंगा है। इसलिए, उलटा सबसम्प्शन (एंटी-सबजम्पशन) के संचालन का उपयोग करके एक वैकल्पिक परिकल्पना खोज की जा सकती है, जो कि एंटी-एंटेलमेंट की तुलना में कम गैर-नियतात्मक है।

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

कार्यान्वयन

 * 1बीसी और 1बीसी2: प्रथम क्रम के भोले बायेसियन क्लासिफायर:
 * एसीइ (एक संयुक्त इंजन)
 * Aleph
 * एटम
 * क्लॉडियन
 * डीएल-लर्नर
 * डीमैक्स
 * फास्टलास (उत्तर सेट से तेजी से सीखना)
 * फर्स्ट ऑर्डर इंडक्टिव लर्नर | एफओआईएल (फर्स्ट ऑर्डर इंडक्टिव लर्नर)
 * गोलेम (आईएलपी)
 * आईएलएएसपी (उत्तर सेट प्रोग्रामिंगों की आगमनात्मक शिक्षा)
 * इम्पारो
 * इंथेलेक्स (उदाहरणों से इंक्रीमेंटल थ्योरी लर्नर)
 * लाइम
 * मेटागोल
 * Mio
 * एमआईएस (मॉडल अनुमान प्रणाली) एहुद शापिरो द्वारा
 * प्रोगोल
 * आरएसडी
 * वार्मर (अब एसीई में सम्मलित)
 * प्रोगोलेम

यह भी देखें

 * सामान्य ज्ञान तर्क
 * औपचारिक अवधारणा विश्लेषण
 * विवेचनात्मक तार्किकता
 * आगमनात्मक प्रोग्रामिंग
 * आगमनात्मक संभावना
 * सांख्यिकीय संबंधपरक शिक्षा
 * वर्जन स्पेस लर्निंग

अग्रिम पठन

 * Visual example of inducing the grandparenthood relation by the Atom system. http://john-ahlgren.blogspot.com/2014/03/inductive-reasoning-visualized.html
 * Visual example of inducing the grandparenthood relation by the Atom system. http://john-ahlgren.blogspot.com/2014/03/inductive-reasoning-visualized.html
 * Visual example of inducing the grandparenthood relation by the Atom system. http://john-ahlgren.blogspot.com/2014/03/inductive-reasoning-visualized.html