Введение
Planner (часто встречается в публикациях как "PLANNER", хотя это не акроним) — язык программирования, разработанный Карлом Хьюитом в MIT и впервые опубликованный в 1969 году. Первоначально были реализованы такие подмножества, как Micro Planner и Pico Planner, а затем, по сути, весь язык был реализован в виде Popler Джулианом Дэвисом в Эдинбургском университете на языке программирования POP 2. Производные, такие как 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, который основывался на конструкциях Planner и внедрил контекстный механизм для обеспечения модульности выражений в базе данных. Эрл Сасердоти и Рене Ребо разработали QLISP, расширение QA4, встроенное в INTERLISP, обеспечивающее рассуждения, подобные Planner, встроенные в процедурный язык и разработанные в его богатой программной среде. QLISP использовался Ричардом Уолдингером и Карлом Левитом для верификации программ, Эрлом Сакердоти для планирования и мониторинга выполнения, Жаном Клодом Латомбе для автоматизированного проектирования, Нахумом Дершовицем для синтеза программ, Ричардом Фиксом для дедуктивного поиска и Стивеном Коулсом для ранней экспертной системы, которая помогала использовать эконометрическую модель. Компьютеры были дорогими. Они имели только один медленный процессор, а их память была очень мала по сравнению с сегодняшней. Поэтому в Planner были приняты некоторые меры для повышения эффективности, в том числе следующие:
Для экономии времени и памяти был принят метод обратного отслеживания, позволяющий работать и хранить только одну возможность за раз при исследовании альтернатив. Для экономии места и времени было принято предположение об уникальности имен, согласно которому разные имена относятся к разным объектам. Например, такие имена, как Пекин (предыдущее название столицы КНР) и Бэйцзин (современная транслитерация названия столицы КНР), считались относящимися к разным объектам. Предположение о закрытом мире могло быть реализовано путем условной проверки на исчерпывающий провал попытки доказать цель. Позже эта возможность получила вводящее в заблуждение название «отрицание как отказ», поскольку для цели можно было сказать: «если исчерпывающая попытка достижения терпит неудачу, то утверждать».