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

From Vigyanwiki
(Created page with "{{for|the proof assistant|ALF (theorem prover)}} {{for|the action language for foundational UML|FUML}} {{Infobox programming language |name = ALF |logo = |paradigm = multi-p...")
 
No edit summary
Line 1: Line 1:
{{for|the proof assistant|ALF (theorem prover)}}
{{for|प्रमाण सहायक|एएलएफ (प्रमेय समर्थक)}}
{{for|the action language for foundational UML|FUML}}
{{for|मूलभूत यूएमएल के लिए क्रिया भाषा|एफयूएमएल}}
{{Infobox programming language
{{Infobox programming language
|name = ALF
|name = ALF
Line 18: Line 18:
}}
}}


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


ALF को दोनों प्रोग्रामिंग प्रतिमानों के वास्तविक एकीकरण के लिए डिज़ाइन किया गया था, और इस प्रकार किसी भी कार्यात्मक अभिव्यक्ति का उपयोग शाब्दिक रूप से किया जा सकता है और समीकरणों की स्थितियों में मनमाने ढंग से भविष्यवाणी की जा सकती है। एएलएफ का [[परिचालन शब्दार्थ]] कार्यात्मक भावों का मूल्यांकन करने के लिए शाब्दिक और संकीर्णता को हल करने के लिए संकल्प नियम पर आधारित है। संभावित संकीर्ण चरणों की संख्या को कम करने के लिए, एक सबसे बाईं ओर की बुनियादी संकीर्णता रणनीति का उपयोग किया जाता है, जिसका दावा किया जाता है, इसे कुशलता से लागू किया जा सकता है।{{Citation needed|date=March 2012}} संकुचित चरण लागू करने से पहले शर्तों को फिर से लिखकर सरल किया जाता है और यदि दोनों पक्षों के शीर्ष पर अलग-अलग रचनाकार हैं तो समीकरणों को अस्वीकार कर दिया जाता है। पुनर्लेखन और अस्वीकृति के परिणामस्वरूप खोज पेड़ की एक बड़ी कमी होती है और एक परिचालन शब्दार्थ उत्पन्न होता है जो प्रोलॉग (प्रोग्रामिंग भाषा) की तुलना में अधिक कुशल है। प्रोलॉग की संकल्प रणनीति। प्रोलॉग के समान, एएलएफ व्युत्पत्ति वृक्ष में गहराई से पहली खोज के अनुरूप बैकट्रैकिंग रणनीति का उपयोग करता है।
एएलएफ को दोनों प्रोग्रामिंग प्रतिमानों के वास्तविक एकीकरण के लिए डिज़ाइन किया गया था, और इस प्रकार किसी भी कार्यात्मक अभिव्यक्ति का उपयोग एक लक्ष्य में किया जा सकता है, साहित्यिक और मनमाना विधेय समीकरणों की स्थिति में हो सकते हैं। एएलएफ का परिचालन सिमेंटिक्स कार्यात्मक अभिव्यक्तियों का मूल्यांकन करने के लिए शाब्दिक और संकीर्णता को हल करने के लिए संकल्प नियम पर आधारित है। संभावित संकीर्ण चरणों की संख्या को कम करने के लिए, एक सबसे बाईं ओर की बुनियादी संकीर्णता रणनीति का उपयोग किया जाता है, जिसका दावा किया जाता है, इसे कुशलतापूर्वक कार्यान्वित किया जा सकता है। एक संकीर्ण कदम लागू करने से पहले शर्तों को फिर से लिखकर सरल किया जाता है और यदि दोनों पक्षों के शीर्ष पर अलग-अलग रचनाकार हैं तो समीकरणों को खारिज कर दिया जाता है। माना जाता है कि पुनर्लेखन और अस्वीकृति के परिणामस्वरूप सर्च ट्री में बड़ी कमी आती है और परिचालन शब्दार्थ उत्पन्न होता है जो प्रोलॉग की संकल्प रणनीति से अधिक कुशल है। इसी तरह प्रोलॉग के लिए, एएलएफ व्युत्पत्ति वृक्ष में गहराई-पहली खोज के अनुरूप एक बैकट्रैकिंग रणनीति का उपयोग करता है।


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


[[करनेगी मेलों विश्वविद्याल]] [[ कृत्रिम होशियारी ]] रिपॉजिटरी में,<ref name='CMUAIR'>{{cite web|url=https://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html |title=सीएमयू आर्टिफिशियल इंटेलिजेंस रिपॉजिटरी|access-date=2007-06-22 |date=1995-02-13 |publisher=[[Carnegie Mellon University]] | archive-url= https://web.archive.org/web/20070623154858/https://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html| archive-date= 23 June 2007 | url-status= live}}</ref> एएलएफ को एआई प्रोग्रामिंग भाषा के रूप में शामिल किया गया है, विशेष रूप से कार्यात्मक/तर्क प्रोग्रामिंग भाषा प्रोलॉग कार्यान्वयन के रूप में।<ref name='CMUALF'>{{cite web|url=https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/fp_lp/alf/0.html |title=ALF: Algebraic Logic Functional programming language |access-date=2007-06-22 |date=1995-02-13 |work=CMU Artificial Intelligence Repository |publisher=[[Carnegie Mellon University]] | archive-url= https://web.archive.org/web/20070510020843/https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/fp_lp/alf/0.html| archive-date= 10 May 2007 | url-status= live}}</ref> एक उपयोगकर्ता पुस्तिका<ref name='ALFUM'>{{cite web|url=http://www.informatik.uni-kiel.de/~mh/systems/ALF/manual.pdf |title=ALF उपयोगकर्ता का मैनुअल|access-date=2007-06-22 |last=Hanus |first=Michael |author2=Andreas Schwab |date=1995-02-13 |publisher=Institut für Informatik, [[University of Kiel|Christian-Albrechts-Universität zu Kiel]] | archive-url= https://web.archive.org/web/20070711091450/http://www.informatik.uni-kiel.de/~mh/systems/ALF/manual.pdf| archive-date= 11 July 2007 | url-status= live}}</ref> भाषा और प्रणाली के उपयोग का वर्णन उपलब्ध है। एएलएफ सिस्टम<ref name='ALFsys'>{{cite web|url=http://www.informatik.uni-kiel.de/~mh/systems/ALF.html |title=एएलएफ सिस्टम|access-date=2007-06-22 |last=Hanus |first=Michael |publisher=Institut für Informatik, Christian-Albrechts-Universität zu Kiel | archive-url= https://web.archive.org/web/20070625154845/http://www.informatik.uni-kiel.de/~mh/systems/ALF.html| archive-date= 25 June 2007 | url-status= live}}</ref> [[यूनिक्स]] के तहत चलता है और एक कस्टम [[मालिकाना सॉफ्टवेयर लाइसेंस]] के तहत उपलब्ध है जो मूल्यांकन, अनुसंधान और शिक्षण उद्देश्यों के लिए उपयोग करने का अधिकार देता है लेकिन व्यावसायिक या सैन्य उपयोग का नहीं।<ref>{{cite web|url=https://www.informatik.uni-kiel.de/~mh/systems/ALF/LICENSE|archive-url=https://web.archive.org/web/20151202180826/https://www.informatik.uni-kiel.de/~mh/systems/ALF/LICENSE|archive-date=2 December 2015|title=ALF लाइसेंस समझौता|last=Hanus |first=Michael |work=The ALF System |publisher=Institut für Informatik, Christian-Albrechts-Universität zu Kiel|access-date=2020-03-06|url-status=live}}</ref>
कार्नेगी मेलन यूनिवर्सिटी आर्टिफिशियल इंटेलिजेंस रिपॉजिटरी में,<ref name='CMUAIR'>{{cite web|url=https://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html |title=सीएमयू आर्टिफिशियल इंटेलिजेंस रिपॉजिटरी|access-date=2007-06-22 |date=1995-02-13 |publisher=[[Carnegie Mellon University]] | archive-url= https://web.archive.org/web/20070623154858/https://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html| archive-date= 23 June 2007 | url-status= live}}</ref> एएलएफ को एआई प्रोग्रामिंग लैंग्वेज के रूप में शामिल किया गया है, विशेष रूप से एक फंक्शनल/लॉजिक प्रोग्रामिंग लैंग्वेज प्रोलॉग कार्यान्वयन के रूप में। [2] उपयोगकर्ता पुस्तिका [3] भाषा और सिस्टम के उपयोग का वर्णन उपलब्ध है। एएलएफ सिस्टम [4] यूनिक्स के तहत चलता है और एक कस्टम मालिकाना सॉफ्टवेयर लाइसेंस के तहत उपलब्ध है जो "मूल्यांकन, शोध और शिक्षण उद्देश्यों" के लिए उपयोग करने का अधिकार देता है, लेकिन वाणिज्यिक या सैन्य उपयोग के लिए नहीं। [5]
 
[[करनेगी मेलों विश्वविद्याल]] [[ कृत्रिम होशियारी | कृत्रिम होशियारी]] रिपॉजिटरी में, एएलएफ को एआई प्रोग्रामिंग भाषा के रूप में शामिल किया गया है, विशेष रूप से कार्यात्मक/तर्क प्रोग्रामिंग भाषा प्रोलॉग कार्यान्वयन के रूप में।<ref name="CMUALF">{{cite web|url=https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/fp_lp/alf/0.html |title=ALF: Algebraic Logic Functional programming language |access-date=2007-06-22 |date=1995-02-13 |work=CMU Artificial Intelligence Repository |publisher=[[Carnegie Mellon University]] | archive-url= https://web.archive.org/web/20070510020843/https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/fp_lp/alf/0.html| archive-date= 10 May 2007 | url-status= live}}</ref> एक उपयोगकर्ता पुस्तिका<ref name="ALFUM">{{cite web|url=http://www.informatik.uni-kiel.de/~mh/systems/ALF/manual.pdf |title=ALF उपयोगकर्ता का मैनुअल|access-date=2007-06-22 |last=Hanus |first=Michael |author2=Andreas Schwab |date=1995-02-13 |publisher=Institut für Informatik, [[University of Kiel|Christian-Albrechts-Universität zu Kiel]] | archive-url= https://web.archive.org/web/20070711091450/http://www.informatik.uni-kiel.de/~mh/systems/ALF/manual.pdf| archive-date= 11 July 2007 | url-status= live}}</ref> भाषा और प्रणाली के उपयोग का वर्णन उपलब्ध है। एएलएफ सिस्टम<ref name="ALFsys">{{cite web|url=http://www.informatik.uni-kiel.de/~mh/systems/ALF.html |title=एएलएफ सिस्टम|access-date=2007-06-22 |last=Hanus |first=Michael |publisher=Institut für Informatik, Christian-Albrechts-Universität zu Kiel | archive-url= https://web.archive.org/web/20070625154845/http://www.informatik.uni-kiel.de/~mh/systems/ALF.html| archive-date= 25 June 2007 | url-status= live}}</ref> [[यूनिक्स]] के तहत चलता है और एक कस्टम [[मालिकाना सॉफ्टवेयर लाइसेंस]] के तहत उपलब्ध है जो मूल्यांकन, अनुसंधान और शिक्षण उद्देश्यों के लिए उपयोग करने का अधिकार देता है लेकिन व्यावसायिक या सैन्य उपयोग का नहीं।<ref>{{cite web|url=https://www.informatik.uni-kiel.de/~mh/systems/ALF/LICENSE|archive-url=https://web.archive.org/web/20151202180826/https://www.informatik.uni-kiel.de/~mh/systems/ALF/LICENSE|archive-date=2 December 2015|title=ALF लाइसेंस समझौता|last=Hanus |first=Michael |work=The ALF System |publisher=Institut für Informatik, Christian-Albrechts-Universität zu Kiel|access-date=2020-03-06|url-status=live}}</ref>





Revision as of 09:04, 19 May 2023

ALF
Paradigmmulti-paradigm: logic, functional
वेबसाइटGetting and installing ALF

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

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

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

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

करनेगी मेलों विश्वविद्याल कृत्रिम होशियारी रिपॉजिटरी में, एएलएफ को एआई प्रोग्रामिंग भाषा के रूप में शामिल किया गया है, विशेष रूप से कार्यात्मक/तर्क प्रोग्रामिंग भाषा प्रोलॉग कार्यान्वयन के रूप में।[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.


बाहरी संबंध