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

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

प्रक्रियात्मक दृष्टिकोण के प्रति तार्किक दृष्टिकोण
सिमेंटिक सॉफ्टवेयर प्रणाली के निर्माण के लिए दो प्रमुख प्रतिमान प्रक्रियात्मक प्रोग्रामिंग एवं तर्क प्रोग्रामिंग  थे। प्रक्रियात्मक प्रतिमान का प्रतीक था, लिस्प (प्रोग्रामिंग भाषा) [मैककार्थी एट अल 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