प्रोलोग आणि लिस्पी दरम्यान फरक

Anonim

Prolog vs Lisp

प्रोलॉग आणि लिस्प हे दोन लोकप्रिय एआय (आर्टिफिशियल इंटेलिजन्स) कम्प्युटर प्रोग्रॅमिंग भाषा या दोन आजच्याबरोबर बनलेले आहेत. ते दोन वेगळ्या प्रोग्रामींग लादले आहेत. Prolog एक declarative भाषा आहे, तर लिस्पी एक कार्यशील भाषा आहे दोन्ही वेगवेगळ्या एआय समस्यांसाठी वापरले जातात परंतु प्रोलॉल तर्कशास्त्र आणि कारणांच्या समस्यांसाठी सर्वात जास्त वापरला जातो, तर लिस्प याचा वापर जलद प्रोटोटाइप गरजेच्या समस्यांसाठी केला जातो.

प्रोलॉग

प्रोल एआय प्रोग्रामिंग भाषा आहे. हे तर्कशास्त्र प्रोग्रामिंग भाषांच्या कुटुंबातील आहे. प्रोलॉल एक जाहीरनामात्मक भाषा आहे, ज्यामध्ये परस्पर संबंधांवर प्रश्न (ज्या प्रोग्रॅम लॉजिकचे प्रतिनिधित्व करतात) करून संगणन केले जाते, जे नियम आणि तथ्य म्हणून परिभाषित केले जातात. 1 9 70 मध्ये विकसित, prolog सर्वात जुने लॉजिक प्रोग्रामिंग भाषांपैकी एक आहे आणि आज सर्वाधिक लोकप्रिय एआय प्रोग्रामिंग भाषांपैकी एक आहे (लिस्पसह). ही एक विनामूल्य भाषा आहे, परंतु अनेक वाणिज्यिक रूपे उपलब्ध आहेत. हे सर्वप्रथम नैसर्गिक भाषा प्रक्रियेसाठी वापरले जात होते परंतु आता हे तंत्रज्ञानाचा वापर, स्वयंचलित उत्तर प्रणाली, खेळ आणि प्रगत नियंत्रण प्रणाली यासारख्या विविध कार्यांसाठी वापरले जात आहे. प्रोलॉलमध्ये केवळ एक डेटा प्रकार आहे ज्यास पद म्हटले जाते. टर्म एक अणू, संख्या, परिवर्तनशील किंवा एक संयुक्त टर्म असू शकते. संख्या फ्लोट किंवा पूर्णांक असू शकते. Prolog सूची संकलन आणि आयटमचा संग्रह म्हणून स्ट्रिंग. प्रेलल क्लॉजद्वारे संबंध सुधारते. कलजे एकतर नियम किंवा तथ्य असू शकतात. Prolog त्याच्या रिकर्सिव predicates संपूर्ण पुनरावृत्ती परवानगी देते.

लिस्प

लिस्प कॉम्प्यूटर प्रोग्रामिंग भाषेचे एक कुटुंब आहे. कॉमन लिस्प आणि स्कीम आज सामान्य प्रयोजन प्रोग्रामिंगसाठी वापरली जाणारी सर्वात प्रसिद्ध लिस्पी बोलीभाषिय आहेत. लिस्पी नाव "लिस्ट प्रोसेसिंग" पासून येते आणि ते सूचित करते की, लिस्प चे मुख्य डाटा स्ट्रक्चर लिंक्ड लिस्ट आहे. खरेतर संपूर्ण स्रोत सूची वापरून (उपसर्ग नोटेशन वापरून), किंवा अधिक योग्यरित्या पॅरॅसिस्ड सूच्या (s-expressions) लिहिलेली आहेत. उदाहरणार्थ, एक फंक्शन कॉल (f a1 a2 a3) म्हणून लिहिला जातो, म्हणजे फंक्शन फ फंक्शनसाठी इनपुट आर्ग्यूमेंट म्हणून a1, a2 आणि a3 वापरतात. म्हणूनच याला अभिव्यक्ती उन्मुख भाषा असे म्हणतात, जिथे सर्व डेटा आणि कोड अभिव्यक्ती म्हणून लिहीले जातात (लिस्स्पमधील एक्सप्रेशन आणि स्टेटमेन्ट्समध्ये फरक नाही). हे छान वैशिष्ट्य लिस्पसाठी अतिशय खास आहे, जेथे उपयुक्त माक्र्स लिहून तो समस्येवर भाषा विस्तारित करण्यासाठी वापरला जाऊ शकतो. लूप व्यक्त करण्यासाठी प्रोग्रामरद्वारे शेपूट-पुनरावृत्तीचा वापर केला जात असला तरी, सर्व वारंवार दिसणार्या लिस्पी बोलणार्यांत लूपसारखे नियंत्रण स्ट्रक्चर्स समाविष्ट होतात. शिवाय, कॉमन लिस्प आणि स्कीममध्ये मॅपरकार आणि मॅप आहेत ज्या फंक्शन्सची उदाहरणे आहेत, जे त्यांचे सर्व घटकांना क्रमाने फंक्शन लावून लूपिंग कार्यक्षमता प्रदान करते आणि नंतर परिणाम सूचीमध्ये एकत्र करते.

प्रॉलॉग आणि लिस्प यांच्यात काय फरक आहे?

जरी, प्रोलॉग आणि लिस्प हे सर्वात लोकप्रिय एआय प्रोग्रामींग भाषांपैकी दोन आहेत, त्यांच्यात विविध फरक आहेत. लिस्प ही एक फंक्शनल भाषा आहे, तर प्रोलॉल एक तर्कशास्त्रिक प्रोग्रामिंग आणि घोषणात्मक भाषा आहे. त्याच्या जलद प्रोटोटाइपिंग आणि मॅक्रो वैशिष्ट्यांमुळे लिस्प खूप लवचिक आहे, म्हणून ती प्रत्यक्षात समस्येला सामोरे जाण्यासाठी भाषा विस्तारित करण्यास मदत करते. एआय, ग्राफिक्स व यूजर इंटरफेसच्या क्षेत्रांत, या जलद प्रोटोटाइप क्षमतेमुळे लिस्प याचा मोठ्या प्रमाणावर वापर करण्यात आला आहे. तथापि, त्याच्या इनबिल्ट लॉजिक प्रोग्रॅमिंग क्षमतेमुळे, प्रोलॉल प्रतीकात्मक तर्क, डेटाबेस आणि भाषा पार्सिंग ऍप्लिकेशन्स असलेल्या एआय समस्यांसाठी आदर्श आहे. इतरांपेक्षा एक निवडणे पूर्णपणे एआय समस्या प्रकारावर अवलंबून असते ज्याचे निराकरण करणे आवश्यक आहे.