चूँकि प्रोलॉग = सिंथैटिक यूनीफिकेशन + बैकवर्ड चेनिंग + REPL
सभी तीन भागों को आर्टिफिशियल इंटेलिजेंस में पाया जा सकता है : जॉर्ज एफ लुगर द्वारा जटिल समस्या को हल करने के लिए संरचनाएं और रणनीति । पुस्तक के चौथे संस्करण में सभी तीन भागों को LISP में धारा 15.8, LISP में लॉजिक प्रोग्रामिंग में लागू किया गया है। वह अपनी अन्य पुस्तकों में भी यही कोड डालता है, लेकिन मेरे पास उन सभी के लिए यहाँ ध्यान नहीं है। उनकी पुस्तकों का कोड यहां पाया जा सकता है ।
तीनों भागों के साथ एक अन्य स्रोत कृत्रिम बुद्धिमत्ता प्रोग्रामिंग के प्रतिमानों में पाया जा सकता है : पीटर नॉरविग द्वारा कॉमन लिस्प में केस अध्ययन । अध्याय 11, लॉजिक प्रोग्रामिंग और 12, लॉजिक लॉजिक प्रोग्राम देखें। उनकी पुस्तक का कोड यहां पाया जा सकता है ।
एक अन्य स्रोत हैल एबेल्सन, जेरी सुसमैन और जूली सुस्मान द्वारा कंप्यूटर कार्यक्रमों की संरचना और व्याख्या है । देखें खंड 4.4 तर्क प्रोग्रामिंग। पुस्तक के लिए साइट यहाँ है और पुस्तक के लिए कोड यहाँ है ।
कई अनुप्रयोगों में लागू बैक चाइनिंग के साथ एकीकरण एल्गोरिथ्म को खोजने के लिए यह असामान्य नहीं है यदि आप जानते हैं कि कहां देखना है; यह विशेष रूप से कार्यात्मक संकलकों में टाइपिंग अवरूद्ध करने में प्रचलित है। कीवर्ड एकीकरण या उपयोग होने से फ़ंक्शंस को स्पॉट करने में मदद मिलती है। इसके अलावा अधिकांश कार्यान्वयन यूनिफिकेशन फ़ंक्शन के नाम के लिए यूनिफ़ का उपयोग करते हैं।
प्रोलॉग के एक संस्करण के लिए, ओकेएलएल में किए गए आरईपीएल को कम देखें , "हैंडबुक ऑफ प्रैक्टिकल लॉजिक एंड ऑटोमेटेड रीजनिंग" के लिए कोड और संसाधन देखें - prolog.ml
पुस्तक कोड का F # में अनुवाद यहां पाया जा सकता है । हास्केल को पुस्तक कोड का अनुवाद यहां मिल सकता है ।
कोड खोजने के संदर्भ में, एकीकरण एल्गोरिथ्म को ढूंढना सबसे आसान है, फिर अनुप्रयोगों में imbedded पीछे के साथ कार्यान्वयन। एक REPL के साथ कार्यात्मक भाषा में प्रोलॉग का पूरी तरह कार्यात्मक कार्यान्वयन खोजना सबसे कठिन है। अधिकांश समय कोड PROLOG के भीतर प्रत्यक्ष उपयोग के लिए एक प्रारूप में नहीं है; यह प्रदर्शन बढ़ाने के लिए भारी रूप से अनुकूलित है, इसलिए आपको कोड मिल सकता है, लेकिन यह आपके द्वारा इच्छित भागों को छेड़ने के लिए मूल्य के लायक नहीं होगा। मेरी सलाह यह होगी कि आप लुगर की किताब को पढ़ें और अपनी पसंद की भाषा में खरोंच से इसका निर्माण करें, भले ही इसका मतलब एलआईएसपी को स्थापित करना और सीखना और ऐसा करने के लिए अनुवाद करना हो।
संपादित करें
चूंकि यह StackOverflow का एक डुप्लिकेट प्रश्न है और ओपी नया है और टिप्पणियों में कहा गया है:
अधिक संदर्भ देने के लिए, मैं टाइप इंट्रेंस को लागू करने का प्रयास कर रहा हूं, हालांकि मेरी भाषा के प्रकार सिस्टम में जटिल विशेषताएं (डिपेंडेंट प्रकार, शोधन प्रकार, कम आम लोगों में से कुछ का नाम लिखने के लिए रैखिक टाइपिंग) मुझे लगता है कि यह होगा एक बहुत ही सामान्य एल्गोरिथ्म प्राप्त करने के लिए प्रोलॉग ड्राइविंग एल्गोरिदम से मेरे प्रकार के अनुमान को आधार बनाने के लिए उपयोगी हो। मैं ध्यान दूंगा कि मैं पूरी तरह से स्वयं पढ़ा हुआ हूं, इसलिए मेरे ज्ञान का बड़े क्षेत्रों में अभाव है।
मैं यहाँ इस पर विस्तार करूँगा, लेकिन महसूस करूँगा कि ओपी को एक नया प्रश्न पूछना चाहिए।
कुछ परिचय सामानों के लिए, प्रकार के निष्कर्ष को लागू करना देखें ।
इस पर मुझे जो सबसे अच्छी किताब पता है वह है बेंजामिन सी। पियर्स द्वारा टाइप और प्रोग्रामिंग लैंग्वेज । पुस्तक की साइट यहाँ है । OCaml कोड के लिंक के साथ संसाधन यहाँ है । और हाल ही में शुरू हुआ, लेकिन इसका पूरा अनुवाद F # में है ।
आश्रित प्रकार: पीजी। 462 शोधन प्रकार: स्नातकोत्तर। 207 रैखिक तर्क और प्रकार प्रणाली: स्नातकोत्तर। 109