प्लानर (प्रोग्रामिंग भाषा)

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

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

तार्किक प्रतिमान को एकसमान प्रमाण प्रक्रिया संकल्प (तर्क) | संकल्प-आधारित व्युत्पत्ति (प्रमाण) खोजकर्ताओं [रॉबिन्सन 1965] द्वारा प्रतीक बनाया गया था। तार्किक प्रतिमान के अनुसार प्रक्रियात्मक ज्ञान [ग्रीन 1969] को शामिल करना "धोखाधड़ी" था।

ज्ञान की प्रक्रियात्मक एम्बेडिंग
प्लानर का आविष्कार ज्ञान की प्रक्रियात्मक एम्बेडिंग [हेविट 1971] के प्रयोजनों के लिए किया गया था और संकल्प (तर्क) वर्दी प्रमाण प्रक्रिया प्रतिमान [रॉबिन्सन 1965] की अस्वीकृति थी, जो
 * 1) हर चीज को क्लॉसल रूप में बदल दिया। सभी सूचनाओं को क्लॉसल फॉर्म में बदलना समस्याग्रस्त है क्योंकि यह सूचना की अंतर्निहित संरचना को छुपाता है।
 * 2) फिर प्रमेय के निषेध के खंड रूप को सिद्ध करने के लिए विरोधाभास द्वारा एक प्रमाण प्राप्त करने का प्रयास करने के लिए संकल्प का उपयोग किया। अनुमान के नियम के रूप में केवल संकल्प का उपयोग करना समस्याग्रस्त है क्योंकि यह प्रमाणों की अंतर्निहित संरचना को छुपाता है। साथ ही, विरोधाभास द्वारा प्रमाण का उपयोग करना समस्यात्मक है क्योंकि ज्ञान के सभी व्यावहारिक डोमेन के स्वयंसिद्ध व्यवहार व्यवहार में असंगत हैं।

योजनाकार प्रक्रियात्मक और तार्किक प्रतिमानों के बीच एक प्रकार का संकर था क्योंकि यह तार्किक तर्क के साथ प्रोग्राम करने की क्षमता को जोड़ता था। प्लानर ने तार्किक वाक्यों की एक प्रक्रियात्मक व्याख्या की, जहाँ प्रपत्र का एक निहितार्थ है (P implies Q) पैटर्न-निर्देशित आमंत्रण का उपयोग करके प्रक्रियात्मक रूप से निम्नलिखित तरीकों से व्याख्या की जा सकती है:
 * 1) फॉरवर्ड चेनिंग (पूर्ववर्ती):
 * If assert P, assert Q
 * If assert not Q, assert not P
 * 1) बैकवर्ड चेनिंग (नतीजतन)
 * If goal Q, goal P
 * If goal not P, goal not Q

इस संबंध में, प्लानर का विकास प्राकृतिक निगमन तार्किक प्रणालियों (विशेष रूप से फिच-शैली कलन [1952] द्वारा एक) से प्रभावित था।

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

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

कंप्यूटर महंगे थे। उनके पास केवल एक ही धीमा प्रोसेसर था और आज की तुलना में उनकी यादें बहुत छोटी थीं। इसलिए नियोजक ने निम्नलिखित सहित कुछ दक्षता उपायों को अपनाया:


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

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

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

पैट हेस ने स्टैनफोर्ड का दौरा किया जहां उन्होंने प्लानर के बारे में सीखा। जब वे एडिनबर्ग लौटे, तो उन्होंने अपने दोस्त बॉब कोवाल्स्की को प्रभावित करने की कोशिश की कि वे प्लानर को स्वचालित प्रमेय साबित करने के संयुक्त कार्य में शामिल करें। संकल्प प्रमेय-प्रूविंग को एक गर्म विषय से गुमराह अतीत के अवशेष के रूप में अवनत किया गया था। बॉब कोवाल्स्की दृढ़ता से संकल्प प्रमेय साबित करने की क्षमता में अपने विश्वास पर टिके रहे। उन्होंने प्लानर का ध्यानपूर्वक अध्ययन किया। ब्रुइनोघे, परेरा, सीकमैन और वैन एमडेन [2004] के अनुसार। कोवाल्स्की [1988] कहता है कि मैं हेविट को समझाने की कोशिश को याद कर सकता हूं कि प्लानर एसएल संकल्प के समान था। लेकिन प्लानर का आविष्कार ज्ञान की प्रक्रियात्मक एम्बेडिंग के उद्देश्यों के लिए किया गया था और संकल्प वर्दी सबूत प्रक्रिया प्रतिमान की अस्वीकृति थी। Colmerauer और Roussel ने प्लानर के बारे में सीखने के लिए अपनी प्रतिक्रिया को निम्नलिखित तरीके से याद किया:

सितंबर ’71 में जीन ट्रुडेल के साथ IJCAI सम्मेलन में भाग लेने के दौरान, हम बॉब कोवाल्स्की से दोबारा मिले और प्राकृतिक भाषा प्रसंस्करण पर टेरी विनोग्राड का एक व्याख्यान सुना। तथ्य यह है कि उन्होंने एकीकृत औपचारिकता का उपयोग नहीं किया, हमें हैरान कर दिया। यह इस समय था कि हमने कार्ल हेविट की प्रोग्रामिंग भाषा, प्लानर [हेविट, 1969] के अस्तित्व के बारे में जाना। इस भाषा की औपचारिकता की कमी, लिस्प की हमारी अज्ञानता और सबसे बढ़कर, यह तथ्य कि हम तर्क के प्रति पूरी तरह से समर्पित थे, का अर्थ था कि इस काम का हमारे बाद के शोध पर बहुत कम प्रभाव पड़ा। [ एलेन कॉलमेरौएर और रसेल 1996]

1972 के पतन में, फिलिप रसेल ने प्रोलॉग नामक एक भाषा लागू की (प्रोग्रामेशन एन लॉजिक के लिए एक संक्षिप्त नाम - लॉजिक में प्रोग्रामिंग के लिए फ्रेंच)। प्रोलॉग प्रोग्राम सामान्य रूप से निम्न रूप के होते हैं (जो प्लानर में बैकवर्ड-चेनिंग का एक विशेष मामला है):
 * When goal Q, goal P1 and ... and goal Pn

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

ओपन सिस्टम [हेविट और डी जोंग 1983, हेविट 1985, हेविट और इनमैन 1991] पर ध्यान देने पर विफलता के रूप में अद्वितीय नाम धारणा और नकारात्मकता का उपयोग अधिक संदिग्ध हो गया।

प्रोलॉग से माइक्रो-प्लानर की निम्नलिखित क्षमताओं को छोड़ दिया गया था:
 * अभिकथन से प्रक्रियात्मक योजनाओं का पैटर्न-निर्देशित आह्वान (यानी, आगे की कड़ी)
 * तार्किक निषेध, जैसे, (not (human Socrates)).

प्रोलॉग में नकारात्मकता शामिल नहीं थी क्योंकि यह कार्यान्वयन के मुद्दों को उठाती है। उदाहरण के लिए विचार करें कि निम्नलिखित प्रोलॉग प्रोग्राम में निषेध शामिल किया गया था:


 * not Q.
 * Q :- P.

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

ग्रन्थसूची

 * Bruce Anderson. Documentation for LIB PICO-PLANNER School of Artificial Intelligence, Edinburgh University. 1972
 * Bruce Baumgart. Micro-Planner Alternate Reference Manual Stanford AI Lab Operating Note No. 67, April 1972.
 * Carl Hewitt. "The Challenge of Open Systems" Byte Magazine. April 1985
 * Carl Hewitt and Jeff Inman. "DAI Betwixt and Between:  From ‘Intelligent Agents’ to Open Systems Science" IEEE Transactions on Systems, Man, and Cybernetics.  Nov/Dec 1991.
 * Carl Hewitt and Gul Agha. "Guarded Horn clause languages: are they deductive and Logical?" International Conference on Fifth Generation Computer Systems, Ohmsha 1988. Tokyo.  Also in Artificial Intelligence at MIT, Vol. 2. MIT Press 1991.
 * William Kornfeld and Carl Hewitt. The Scientific Community Metaphor MIT AI Memo 641.  January 1981.
 * Bill Kornfeld and Carl Hewitt. "The Scientific Community Metaphor" IEEE Transactions on Systems, Man, and Cybernetics.  January 1981.
 * Bill Kornfeld. "The Use of Parallelism to Implement a Heuristic Search" IJCAI 1981.
 * Bill Kornfeld. "Parallelism in Problem Solving" MIT EECS Doctoral Dissertation. August 1981.
 * Bill Kornfeld. "Combinatorially Implosive Algorithms" CACM. 1982
 * Robert Kowalski. "The Limitations of Logic" Proceedings of the 1986 ACM fourteenth annual conference on Computer science.
 * Robert Kowalski. "The Early Years of Logic Programming" CACM January 1988.
 * Gerry Sussman and Terry Winograd. Micro-planner Reference Manual AI Memo No, 203, MIT Project MAC, July 1970.
 * Terry Winograd. Procedures as a Representation for Data in a Computer Program for Understanding Natural Language MIT AI TR-235.  January 1971.
 * Gerry Sussman, Terry Winograd and Eugene Charniak. Micro-Planner Reference Manual (Update) AI Memo 203A, MIT AI Lab, December 1971.
 * Carl Hewitt. Description and Theoretical Analysis (Using Schemata) of Planner, A Language for Proving Theorems and Manipulating Models in a Robot AI Memo No. 251, MIT Project MAC, April 1972.
 * Eugene Charniak. Toward a Model of Children's Story Comprehension  MIT AI TR-266.  December 1972.
 * Julian Davies. Popler 1.6 Reference Manual University of Edinburgh, TPU Report No. 1, May 1973.
 * Jeff Rulifson, Jan Derksen, and Richard Waldinger. "QA4, A Procedural Calculus for Intuitive Reasoning" SRI AI Center Technical Note 73, November 1973.
 * Scott Fahlman. "A Planning System for Robot Construction Tasks" MIT AI TR-283. June 1973
 * James Lighthill. "Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium." UK Science Research Council. 1973.
 * John McCarthy. "Review of ‘Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium." UK Science Research Council. 1973.
 * Robert Kowalski "Predicate Logic as Programming Language" Memo 70, Department of Artificial Intelligence, Edinburgh University. 1973
 * Pat Hayes. Computation and Deduction Mathematical Foundations of Computer Science: Proceedings of Symposium and Summer School, Štrbské Pleso, High Tatras, Czechoslovakia, September 3–8, 1973.
 * Carl Hewitt, Peter Bishop and Richard Steiger. "A Universal Modular Actor Formalism for Artificial Intelligence" IJCAI 1973.
 * L. Thorne McCarty. "Reflections on TAXMAN: An Experiment on Artificial Intelligence and Legal Reasoning" Harvard Law Review. Vol. 90, No. 5, March 1977
 * Drew McDermott and Gerry Sussman. The Conniver Reference Manual MIT AI Memo 259A.  January 1974.
 * Earl Sacerdoti, et al., "QLISP A Language for the Interactive Development of Complex Systems" AFIPS. 1976
 * Jeff Rulifson, Jan Derksen, and Richard Waldinger. "QA4, A Procedural Calculus for Intuitive Reasoning" SRI AI Center Technical Note 73, November 1973.
 * Scott Fahlman. "A Planning System for Robot Construction Tasks" MIT AI TR-283. June 1973
 * James Lighthill. "Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium." UK Science Research Council. 1973.
 * John McCarthy. "Review of ‘Artificial Intelligence: A General Survey Artificial Intelligence: a paper symposium." UK Science Research Council. 1973.
 * Robert Kowalski "Predicate Logic as Programming Language" Memo 70, Department of Artificial Intelligence, Edinburgh University. 1973
 * Pat Hayes. Computation and Deduction Mathematical Foundations of Computer Science: Proceedings of Symposium and Summer School, Štrbské Pleso, High Tatras, Czechoslovakia, September 3–8, 1973.
 * Carl Hewitt, Peter Bishop and Richard Steiger. "A Universal Modular Actor Formalism for Artificial Intelligence" IJCAI 1973.
 * L. Thorne McCarty. "Reflections on TAXMAN: An Experiment on Artificial Intelligence and Legal Reasoning" Harvard Law Review. Vol. 90, No. 5, March 1977
 * Drew McDermott and Gerry Sussman. The Conniver Reference Manual MIT AI Memo 259A.  January 1974.
 * Earl Sacerdoti, et al., "QLISP A Language for the Interactive Development of Complex Systems" AFIPS. 1976