व्यापार नियम इंजन और बाधा प्रोग्रामिंग भाषाओं के बीच संबंध


20

यदि कोई ड्रॉल्स या कुछ अन्य नियम इंजनों (शायद पुराने) के मैनुअल को देखता है, तो उनके अतिरिक्त मूल्य का एक चित्र मिस मैनर्स पहेली (ड्रोल का मैनुअल) जैसी पहेली को हल कर रहा है। अब, इस तरह की पहेलियाँ स्वाभाविक रूप से तैयार की जाती हैं और प्रोलॉग या अधिक हालिया बाधा प्रोग्रामिंग भाषाओं का उपयोग करके हल किया जाता है, और एक चमत्कार यह है कि कोई भी इस उद्देश्य के लिए ड्रोल का उपयोग क्यों करेगा। जोड़ा गया मूल्य जो प्रोलॉग और सीपीएल इस मामले में देते हैं, उनकी क्षमता स्वाभाविक रूप से पहेली को तार्किक विधेय के रूप में तैयार करने और स्वचालित रूप से समाधान के स्थान की खोज करने की है (सीपीएल इस संबंध में अधिक कुशल होने के साथ)। लेकिन उत्पाद का जोड़ा मूल्य क्या है जैसे ड्रोल (मेरा मतलब है घंटियाँ और सीटी लेने के अलावा, उदाहरण के लिए, एक एक्सेल फ़ाइल और इसे नियमों के एक सेट में अनुवाद करना)?

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

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

ड्रोल का प्रलेखन दुर्भाग्य से इस संबंध में बहुत जानकारीपूर्ण नहीं है। सबसे अधिक मैं पा सकता था "रेटे एल्गोरिथ्म, लीप्स एल्गोरिथ्म, और इसके वंशज जैसे ड्रोल 'रिटू (और लीप्स), आपके डोमेन ऑब्जेक्ट डेटा के लिए नियम पैटर्न के मिलान के बहुत कुशल तरीके प्रदान करते हैं। ये विशेष रूप से तब कुशल होते हैं जब आप डेटासेट करते हैं। पूरी तरह से नहीं बदलते (जैसा कि नियम इंजन पिछले मैचों को याद कर सकता है)। ये एल्गोरिदम लड़ाई साबित होते हैं "। बहुत कुशल - की तुलना में क्या? लड़ाई साबित - एक असली दुनिया अनुप्रयोगों के लिए बात कर सकते हैं?

मैं सराहना करूंगा कि क्या कोई इस विषय पर कुछ और प्रकाश डाल सकता है या एक वैध संदर्भ दे सकता है।


1
यह प्रश्न थोड़ा व्यापक है और यहाँ वास्तव में 'संबंधित' नहीं है ...

3
खैर, मुझे डर है कि cstheory.stackexchange.com के लिए यह बहुत "उद्योग-उन्मुख" है .. क्या वास्तव में मुझे दिलचस्पी है कि व्यावसायिक नियमों के इंजनों के बारे में मूल बिंदु क्या है और प्रोलॉग या सीएलपी का उपयोग करने की तुलना में उनका अधिक उपयोग क्यों किया जाता है। यदि आपके पास इसे पोस्ट करने के लिए बेहतर जगह के लिए कोई सुझाव है, तो मुझे यह सुनकर खुशी होगी।

जवाबों:


7

मुझे लगता है कि फॉरवर्ड चेनिंग इंजनों (उदाहरण। ड्रोल) बनाम बैकवर्ड चेनिंग (प्रोलॉग) का उपयोग करते हुए कई वाणिज्यिक व्यापार नियम प्रणालियों के लिए तर्क यह है कि कई "जो प्रोग्रामर" का उपयोग IF / THEN / ELSE तर्क से निपटने के लिए किया जाता है - और यह इसे संपूर्ण बनाता है। जनता के लिए बाजार के लिए बहुत आसान है। मुझे नहीं लगता कि तकनीकी योग्यता का इससे कोई लेना-देना है।

मैं इसे सामुदायिक विकी के रूप में पोस्ट कर रहा हूं क्योंकि यह मेरी बल्कि रंगीन राय है और वास्तविक उत्तर नहीं है।


4

ड्रोल्स ने हाल ही में पिछड़ी जंजीरों को जोड़ते हुए, मूल रूप से drl भाषा में जोड़ा। तो अब आपको दोनों शब्दों का लाभ मिलेगा।

यह अभी तक प्रोलॉग की सभी विशेषताओं के लिए नहीं है, उदाहरण के लिए कोई 'कट' नहीं। लेकिन यह एकीकरण है और व्युत्पन्न वृक्ष परिणाम लोगों की उम्मीद के अनुसार काम करेंगे, यानी पारगमन बंद होने के लिए पूर्ण समर्थन। और सुविधाएँ बढ़ती रहेंगी, जैसे कि टैबलिंग के लिए समर्थन, कट, अभिव्यक्ति पर एकीकरण।

आप "प्रतिक्रियाशील" या पिछड़े "क्वेरी" नियमों को अलग से उपयोग कर सकते हैं, या उन्हें एक साथ उपयोग कर सकते हैं; जहां प्रतिक्रियाशील नियम एक क्वेरी के परिणामों के साथ जुड़ सकते हैं।

हमारे द्वारा जोड़ी गई एक बात यह है कि हमारे प्रश्नों को प्रतिक्रियात्मक दृष्टिकोण के रूप में पूरी तरह से तैयार किया जा सकता है। तो आप एक ट्रांज़िटिटव क्लोजर क्वेरी को कॉल कर सकते हैं और यह प्रतिक्रियात्मक तरीके से खुला रहेगा और क्वेरी को फिर से चुनने के लिए बिना अंडर-ग्राउंड डेटा में परिवर्तन का जवाब देगा।

जब "बैकवर्ड चेनिंग" जोड़ा गया था, तब नए और उल्लेखनीय खंड देखें: http://blog.athico.com/2012/05/drools-540final-released.html

इसलिए मुझे लगता है कि आपका सवाल बेहतर होगा, जब आप ड्रोल्स की तरह हाइब्रिड रीजनिंग सिस्टम चाहते हैं तो आप कुछ और क्यों इस्तेमाल करना चाहेंगे? http://blog.athico.com/2012/05/drools-54-artificial-intelligence.html


3

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

रनटाइम के दौरान नियम बदलना ड्रोल्स इंजन का उपयोग करने का एक बहुत ही गतिशील तरीका है और यह समर्थित है। मेरा मानना ​​है कि प्रोलॉग एक समान प्रणाली हो सकती है, लेकिन यह AFAIK मौजूद नहीं है। ये नियम या संपादित नियम कहां जाएंगे? कार्यक्रम के db में डाला? पुनः आरंभ करने पर, ये नियम खो जाएंगे। क्या हम उन्हें एक साझा db पर बनाए रखेंगे और फिर उन्हें आवश्यकतानुसार कार्यक्रम में शामिल करेंगे? प्रस्तावना प्रयोग करने योग्य हो सकती है, लेकिन ड्रॉल्स पहले से ही एंटरप्राइज़ एप्लिकेशन स्टैक में अच्छी तरह से एकीकृत है, इसलिए खुद को पागल क्यों करें (मस्ती के अलावा)?


"मैं आपसे सहमत हूं कि प्रोलॉग ड्रोल्स की तुलना में अधिक शक्तिशाली है। लेकिन मुझे लगता है कि ड्रोल्स एंटरप्राइज क्लाइंट को अपील कर रहा है क्योंकि फैंसी फ्रंट एंड टूल्स और एकीकरण के कारण ड्रोल्स के पास अन्य लोकप्रिय एंटरप्राइज़ एप्लिकेशन हैं"

ऊपर मेरी टिप्पणी के अनुसार, ड्रोल अब प्रोलॉग के समान ही लक्ष्य आधारित व्युत्पन्न पेड़ों को लागू करता है। इसके अलावा Drools उस विमुद्रीकरण पेड़ के साथ किसी दिन काम कर सकते हैं जो अधिकांश अन्य Prolog सिस्टम नहीं कर सकते। ड्रॉल्स व्युत्पन्न पेड़ को एक दृश्य में बदल सकते हैं और अंतर्निहित ग्राउन्ड शर्तों में बदलाव के रूप में प्रतिक्रियात्मक अपडेट प्राप्त कर सकते हैं।


2
@MarkProctor, आम तौर पर, जो चीजें सुधारों के विरोध के रूप में आपत्तियां हैं, उन्हें आम तौर पर टिप्पणी के माध्यम से किया जाना चाहिए और (संभवतः) डाउनवोटिंग, किसी और के उत्तर की सामग्री को संपादित करने के विपरीत।
चार्ल्स डफी

2

द्वारा शुरू किया Drools के आधार पर किया जा रहा क्लिप । CLIPS एक पुरानी " उत्पादन प्रणाली " थी, और सभी उत्पादन प्रणालियों की तरह एक आगे की प्रणाली है। रेटे पर बहुत सारे शोध "अंधेरा हो गया" के रूप में प्रवर्तक ने उन कंपनियों के लिए काम करना समाप्त कर दिया जहां अल्गोरिथम बौद्धिक संपदा थे। रीट संस्करण 3 उन लोगों के स्वामित्व में है जो FICO स्कोर बनाते हैं, इसलिए, हाँ, यह "युद्ध सिद्ध" है।

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