प्रस्ताव में लिखित नियम क्यों नहीं हैं? [बन्द है]


16

प्रोलॉग के बारे में मैंने जो देखा है, उससे ऐसा लगता है कि यह किसी ऐप के लिए नियम इंजन को तैयार करने के लिए आदर्श होगा। फिर भी, मुझे विश्वास नहीं होता कि मैंने कभी प्रोलॉग में लिखा एक नियम इंजन देखा है। क्या प्रोलोग (जैसे खराब कचरा संग्रह एल्गोरिथ्म) में कुछ अंतर्निहित सीमा है जो इसे एक नियम इंजन के निर्माण के लिए उपयोग करने से रोक देगा?


7
सीढ़ी। (लगभग) कोई भी प्रोलॉग नहीं जानता है, और इससे भी अधिक देवता कुछ भी नहीं जानना चाहते हैं जो उनके दैनिक कार्य को पूरा नहीं करता है ताकि वे घर जा सकें। दुर्भाग्यपूर्ण है, प्रोलॉग बहुत सुंदर है।
जिमी हॉफ

3
प्रोलॉग हालांकि एक महान edsl बनाता है। हास्केल या स्कीम जैसी भाषा में
एंब्रोज प्रोलॉग

3
@ जिमीहॉफ यह कम हो रहा है। कुछ पियोप्ले प्रोलॉग सीखते हैं और फिर अपने कामकाजी जीवन के बाकी हिस्सों के लिए इसे लगातार भूलने की कोशिश करते हैं।
ZJR

5
मुझे 3 करीबी वोट दिखाई देते हैं - कोई भी मुझे यह बताने के लिए परवाह करता है कि प्रश्न में क्या गलत है इसलिए मैं इसे ठीक कर सकता हूं या वापस ले सकता हूं?
ओनोरियो कैटेनेशिया

2
मैंने "मुख्य रूप से राय-आधारित" के रूप में बंद करने के लिए मतदान किया। यदि आप मुझे अन्यथा मना सकते हैं, तो मैं अपने करीबी वोट को वापस ले लूंगा। मैंने व्यक्तिगत रूप से प्रोलॉग को अपारदर्शी पाया; मैं एक नियम इंजन की अपेक्षा करूंगा कि नियमों को परिभाषित करने के लिए एक अधिक सहज वाक्यविन्यास हो। और यह है एक प्रोग्रामिंग भाषा, नहीं असल एक नियम इंजन के लिए एक वाक्य रचना प्रोटोटाइप।
रॉबर्ट हार्वे

जवाबों:


14

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

RETE एल्गोरिथ्म और उसके उत्तराधिकारियों के विकास ने बड़ी मात्रा में नियमों को संसाधित करने के लिए एक अधिक कुशल तरीके की अनुमति दी, और इसलिए इसे संभाल लिया।

शायद आधुनिक प्रोलोग 80 के दशक में वापस की तुलना में अधिक कुशल होगा, जब अधिकांश शुरुआती काम किया गया था।



1
इससे निपटने वाला एक अन्य लेख: haleyai.com/wordpress/2013/06/22/…
मैथ्यू फ्लिन

पागल सवाल। क्या लोगों ने प्रोलॉग में RETE को लागू नहीं किया, जिससे दोनों शब्दों में सर्वश्रेष्ठ हो गया? (वहाँ बहुत कुछ है जो RETE नहीं करता है कि प्रोलॉग करता है)।
user48956

14

जीभ-इन-गाल उत्तर: क्योंकि अगर नियम इंजन के निर्माता प्रोलॉग (या बुध या PLANNER या…) के बारे में जानते थे कि वे नियम इंजन नहीं लिख रहे हैं, तो वे प्रोलॉग का उपयोग करेंगे।


5

आम तौर पर, एक नियम इंजन की बात यह है कि यह किसी अन्य एप्लिकेशन का एक हिस्सा है। प्रोलॉग में लिखे गए अनुप्रयोगों को देखना दुर्लभ है, और प्रोलॉग को अन्य भाषाओं में लिखे गए अनुप्रयोगों से जोड़ने के लिए आमतौर पर उपलब्ध इंटरफ़ेस नहीं है।

नियम इंजन के लिए एक नियम-आधारित उपकरण, जिसे अन्य अनुप्रयोगों में जोड़ा जाना लिखा जाता है, वह है CLIPSक्लीप्स OPS5 पर आधारित था और नियमों के बारे में बताने के लिए रीए एल्गोरिथ्म का उपयोग करता है।


पूरी तरह से सच नहीं है, बाहरी कार्यक्रमों से प्रोलॉग कोड तक कुछ इंटरफेस हैं। SWI-Prolog में C ++ इंटरफ़ेस और R. से कनेक्ट करने का एक तरीका है।
रुडोल्फ ओलह

3
वास्तव में, मैंने जितने भी प्रोग्लोग इंजन को C या C ++ के साथ काम करते देखा है, "कोई भी" संपूर्ण ऐप्स के लिए प्रोलॉग का उपयोग नहीं करता है, लेकिन "हर कोई" विशेष कार्यों को कॉल करने के लिए सी फ़ंक्शन को कॉल करने के तरीके को बताता है। यानी GNU प्रोलॉग gprolog.univ-paris1.fr/manual/html_node/gprolog065.html
johannes

उस सूचक @johannes के लिए धन्यवाद। मैं ग्नू प्रोलॉग से बिल्कुल भी अनजान था; इस तथ्य से बहुत कम कि यह सी। से कहा जा सकता है
ओनोरियो कैटेनेशिया

यह भी देखें: swi-prolog.org
user48956
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.