Библиографические и исторические заметки |
Страница 6 из 9 Как уже упоминалось выше, процедуры обратного логического вывода, применяемые для логического вывода, впервые появились в разработанном Хьюиттом языке Planner [651 ]. Но логическое программирование как таковое развивалось независимо от этого направления разработок. Ограниченная форма линейной резолюции, называемая SL-резолюцией, была разработана Ковальским и Кюнером [853] на основе метода устранения моделей Лавленда [947]; после применения этого метода к определенным выражениям он принял вид метода SLD-резолюции, который предоставил возможность осуществлять интерпретацию определенных выражений как программ [849-851]. Между тем в 1972 году французский исследователь Ален Колмерор разработал и реализовал Prolog в целях синтаксического анализа текста на естественном языке; первоначально выражения Prolog предназначались для использования в качестве правил контекстно-свободной грамматики [285], [1311]. Основная часть теоретических основ логического программирования разработана Ковальским в сотрудничестве с Колмерором. Семантическое определение с использованием наименьших фиксированных точек предложено Ван Эмденом и Ковальским [1530]. Ковальский и Коэн [274], [852] подготовили хорошие исторические обзоры истоков языка Prolog. Теоретический анализ основ языка Prolog и других языков логического программирования приведен в книге Foundations of Logic Programming [940]. Эффективные компиляторы Prolog главным образом основаны на модели абстрактной машины Уоррена (Warren Abstract Machine — WAM), разработанной Дэвидом Г.Д. Уорреном [1556]. Ван Рой [1536] показал, что благодаря применению дополнительных методов организации работы компилятора, таких как логический вывод типов, программы Prolog становятся способными конкурировать по быстродействию с программами С. Рассчитанный на 10 лет исследовательский проект создания компьютера пятого поколения, который был развернут в Японии в 1982 году, опирался полностью на язык Prolog, применяемый в качестве средства разработки интеллектуальных систем.
|