Кіріспе
Планнер (көбінесе басылымдарда "PLANNER" деп аталады, бірақ бұл аббревиатура емес) – Карл Хьюитт MIT-де жасаған және алғаш рет 1969 жылы жарияланған бағдарламалау тілі. Бірінші кезекте, Micro Planner және Pico Planner сияқты кіші жиынтықтар іске асырылды, содан кейін тілдің толыққанды нұсқасы Эдинбург университетінде Джулиан Дэвис POP 2 бағдарламалау тілінде Popler ретінде жүзеге асырылды. QA4, Conniver, QLISP және Ether (ғылыми қауымдастық метафорасын қараңыз) сияқты туындылары 1970 жылдары жасанды интеллект саласындағы зерттеулерде маңызды құралдар болды және Білімдік Инженерлік Орта (KEE) және Автоматтандырылған Ақыл-ой Құралы (ART) сияқты коммерциялық әзірлемелерге ықпал етті.
Planner (often seen in publications as "PLANNER" although it is not an acronym) is a programming language designed by Carl Hewitt at MIT, and first published in 1969. First, subsets such as Micro Planner and Pico Planner were implemented, and then essentially the whole language was implemented as Popler by Julian Davies at the University of Edinburgh in the POP 2 programming language. Derivations such as QA4, Conniver, QLISP and Ether (see scientific community metaphor) were important tools in artificial intelligence research in the 1970s, which influenced commercial developments such as Knowledge Engineering Environment (KEE) and Automated Reasoning Tool (ART).
Процедуралық тәсіл мен логикалық тәсіл
Семантикалық бағдарламалық жүйелерді құрудың екі негізгі парадигмасы – процедуралық және логикалық. Процедуралық парадигманы Lisp көрнектіледі, ол тізімдік құрылымдармен жұмыс істейтін рекурсивті процедураларды ұсынады. Логикалық парадигма бірыңғай дәлелдеу процедурасы негізіндегі шешім табу (дәлелдеу) іздеушілермен ерекшеленеді. Логикалық парадигма бойынша, процедуралық білімді қосу "алдау" болып саналды.
Lisp which featured recursive procedures that operated on list structures. The logical paradigm was epitomized by uniform proof procedure resolution based derivation (proof) finders. According to the logical paradigm it was “cheating” to incorporate procedural knowledge.
Микрожоспарлаушының іске асырылуы
Micro Planner деп аталатын кіші жиынтықты Герри Сассман, Юджин Чарняк және Терри Виноград іске асырды және ол Виноградтың табиғи тілді түсіну бағдарламасы SHRDLU-да, Юджин Чарняктың әңгімелерді түсіну жұмысында, Торн МакКартидің құқықтық ойлау жұмысында және басқа да бірнеше жобаларда пайдаланылды. Бұл жасанды интеллект саласында зор қызығушылық тудырды. Сонымен қатар, ол жасанды интеллекттің негізгі қағидаларының бірі болған логикалық тәсілге балама ұсынғандықтан дау тудырды. SRI International-да Джефф Рулифсон, Ян Дерксен және Ричард Вальдгер Планердегі құрылымдарға негізделген QA4-ті жасады және деректер базасындағы өрнектердің модулділігін қамтамасыз ету үшін контексттік механизмді енгізді. Эрл Сасердоти және Рене Ребо QLISP-ті, QA4-тің INTERLISP-ке енгізілген кеңейтілген нұсқасын жасады, ол процедуралық тілде енгізілген және оның бай бағдарламалау ортасында дамытылған Planner сияқты ойлау қабілетін ұсынды. QLISP-ті Ричард Вальдгер мен Карл Левитт бағдарламаны тексеру үшін, Эрл Сасердоти жоспарлау және орындауды бақылау үшін, Жан Клод Латомбе компьютерлік көмекпен жобалау үшін, Нахум Дершовиц бағдарламаны синтездеу үшін, Ричард Фикс дедуктивті іздеу үшін және Стивен Коулз эконометриялық модельді пайдалануға бағыттайтын алғашқы сарапшы жүйе үшін қолданды. Компьютерлер қымбат болды. Оларда тек бір ғана баяу процессор болды және олардың жады қазіргіге қарағанда өте шағын болды. Сондықтан Planner тиімділікті арттату үшін бірнеше шаралар қолданды, соның ішінде: Артқа қайту әдісі уақыт пен жадты үнемдеу үшін баламаларды зерттеу кезінде бір уақытта тек бір мүмкіндікті өңдеу және сақтау үшін қолданылды. Бір-бір атаулар әр түрлі нысандарды білдіреді деген болжам арқылы орын мен уақытты үнемдеу үшін бірегей атаулар қабылданып алынды. Мысалы, Пекин (ҚХР-дың бұрынғы астанасының атауы) және Бэйцзин (ҚХР-дың қазіргі астанасының транслитерациясы) сияқты атаулар әр түрлі нысандарға сілтеме жасайды деп есептелді. Жабық әлем туралы болжамды мақсатты толыққанды дәлелдеуге тырысып, сәтсіздікке ұшыраған жағдайда шартты түрде тексеру арқылы жүзеге асыруға болады. Кейін бұл мүмкіндікке "жетіспеушілікті теріске шығару" деп жаңылыстыратын атау берілді, себебі мақсат үшін: "егер мақсатқа жетуге тырысып, толық сәтсіздікке ұшыраса, онда растаңыз" деуге болады.
Backtracking was adopted to economize on the use of time and storage by working on and storing only one possibility at a time in exploring alternatives. A unique name assumption was adopted to save space and time by assuming that different names referred to different objects. For example, names like Peking (previous PRC capital name) and Beijing (current PRC capital transliteration) were assumed to refer to different objects. A closed world assumption could be implemented by conditionally testing whether an attempt to prove a goal exhaustively failed. Later this capability was given the misleading name "negation as failure" because for a goal it was possible to say: "if attempting to achieve exhaustively fails then assert ."