ऐल्जब्रेइक लॉजिक फंक्शनल प्रोग्रामिंग लैंग्वेज: Difference between revisions

From Vigyanwiki
No edit summary
Line 2: Line 2:
{{for|मूलभूत यूएमएल के लिए क्रिया भाषा|एफयूएमएल}}
{{for|मूलभूत यूएमएल के लिए क्रिया भाषा|एफयूएमएल}}
{{Infobox programming language
{{Infobox programming language
|name = ALF
|name = एएलएफ
|logo =
|logo =
|paradigm = [[multi-paradigm programming language|multi-paradigm]]: [[logic programming|logic]], [[functional programming|functional]]
|paradigm = [[मल्टी-पैराडाइम प्रोग्रामिंग लैंग्वेज|मल्टी-पैराडाइम]]: [[लॉजिक प्रोग्रामिंग|लॉजिक]], [[फंक्शनल प्रोग्रामिंग|फंक्शनल]]
|year =  
|year =  
|designer =
|designer =
Line 18: Line 18:
}}
}}


'''बीजीय तर्क कार्यात्मक [[प्रोग्रामिंग भाषा|रोग्रामिंग भाषा]]''', जिसे '''एएलएफ''' भी कहा जाता है, एक प्रोग्रामिंग भाषा है जो [[कार्यात्मक (प्रोग्रामिंग)|कार्यात्मक]] और तार्किक प्रोग्रामिंग तकनीकों को जोड़ती है।  इसकी नींव समानता के साथ [[हॉर्न क्लॉज]] लॉजिक है जिसमें लॉजिक प्रोग्रामिंग के लिए प्रेडिकेट्स और हॉर्न क्लॉज और फंक्शनल प्रोग्रामिंग के लिए फंक्शन और समीकरण सम्मिलित हैं।
'''ऐल्जब्रेइक लॉजिक फंक्शनल प्रोग्रामिंग लैंग्वेज''', जिसे '''एएलएफ''' भी कहा जाता है, एक प्रोग्रामिंग भाषा है जो [[कार्यात्मक (प्रोग्रामिंग)|कार्यात्मक]] और तार्किक प्रोग्रामिंग तकनीकों को जोड़ती है।  इसकी नींव समानता के साथ [[हॉर्न क्लॉज]] लॉजिक है जिसमें लॉजिक प्रोग्रामिंग के लिए प्रेडिकेट्स और हॉर्न क्लॉज और फंक्शनल प्रोग्रामिंग के लिए फंक्शन और समीकरण सम्मिलित हैं।


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

Revision as of 16:53, 19 May 2023

एएलएफ
Paradigmमल्टी-पैराडाइम: लॉजिक, फंक्शनल
वेबसाइटGetting and installing ALF

ऐल्जब्रेइक लॉजिक फंक्शनल प्रोग्रामिंग लैंग्वेज, जिसे एएलएफ भी कहा जाता है, एक प्रोग्रामिंग भाषा है जो कार्यात्मक और तार्किक प्रोग्रामिंग तकनीकों को जोड़ती है। इसकी नींव समानता के साथ हॉर्न क्लॉज लॉजिक है जिसमें लॉजिक प्रोग्रामिंग के लिए प्रेडिकेट्स और हॉर्न क्लॉज और फंक्शनल प्रोग्रामिंग के लिए फंक्शन और समीकरण सम्मिलित हैं।

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

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

कार्नेगी मेलन यूनिवर्सिटी आर्टिफिशियल इंटेलिजेंस रिपॉजिटरी में,[1] एएलएफ को एआई प्रोग्रामिंग लैंग्वेज के रूप में सम्मिलित किया गया है, विशेष रूप से फंक्शनल/लॉजिक प्रोग्रामिंग लैंग्वेज प्रोलॉग कार्यान्वयन के रूप में।[2] उपयोगकर्ता पुस्तिका[3] भाषा और सिस्टम के उपयोग का वर्णन उपलब्ध है। एएलएफ सिस्टम[4] यूनिक्स के तहत चलता है और कस्टम प्रोप्राइटरी सॉफ्टवेयर लाइसेंस के तहत उपलब्ध है जो "मूल्यांकन, शोध और शिक्षण उद्देश्यों" के लिए उपयोग करने का अधिकार देता है, लेकिन वाणिज्यिक या सैन्य उपयोग के लिए नहीं।[5]

संदर्भ

  1. "सीएमयू आर्टिफिशियल इंटेलिजेंस रिपॉजिटरी". Carnegie Mellon University. 1995-02-13. Archived from the original on 23 June 2007. Retrieved 2007-06-22.
  2. "ALF: Algebraic Logic Functional programming language". CMU Artificial Intelligence Repository. Carnegie Mellon University. 1995-02-13. Archived from the original on 10 May 2007. Retrieved 2007-06-22.
  3. Hanus, Michael; Andreas Schwab (1995-02-13). "ALF उपयोगकर्ता का मैनुअल" (PDF). Institut für Informatik, Christian-Albrechts-Universität zu Kiel. Archived (PDF) from the original on 11 July 2007. Retrieved 2007-06-22.
  4. Hanus, Michael. "एएलएफ सिस्टम". Institut für Informatik, Christian-Albrechts-Universität zu Kiel. Archived from the original on 25 June 2007. Retrieved 2007-06-22.
  5. Hanus, Michael. "ALF लाइसेंस समझौता". The ALF System. Institut für Informatik, Christian-Albrechts-Universität zu Kiel. Archived from the original on 2 December 2015. Retrieved 2020-03-06.

बाहरी संबंध