Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prolog.doc
Скачиваний:
13
Добавлен:
06.09.2019
Размер:
310.78 Кб
Скачать

8. Языки и технологии программирования для искусственного интеллекта

Языки программирования LISP и PROLOG чаще всего применяются для решения задач искусственного интеллекта. Их синтаксис и семантика дают богатый материал для рассуждения о задачах и их решениях. Во многом это определяется их мощностью, а также возможностью их рассмотрения как "средства мышления".

8.1. Обзор языка prolog

PROLOG – это наиболее известный пример языка логического программирования (logic programming language). Логическая программа – это набор спецификаций в рамках формальной логики. PROLOG основан на теории предикатов первого порядка. Само имя этого языка расшифровывается как Programming in Logic (Программирование в логике). При выполнении программы интерпретатор постоянно реализует вывод на основе логических спецификаций. Идея использования возможностей представления теории предикатов первого порядка – это одно из основных преимуществ применения языка PROLOG для компьютерных наук вообще, и компьютерного интеллекта в частности.

Развитие языка PROLOG уходит корнями в исследования, связанные с доказательством теорем, а точнее, с разработкой алгоритмов опровержения резолюции. Процедура доказательства, получившая название резолюции (resolution), стала основным методом вычислений на языке PROLOG. Частично метод резолюции описан в п. 2.2.3.

Благодаря этим свойствам PROLOG зарекомендовал себя в качестве полезного средства исследования таких экспериментальных вопросов программирования, как автоматическая генерация кода, верификация программ и разработка высокоуровневых языков программирования. PROLOG, как и другие основанные на логике языки, поддерживает декларативный (описательный) стиль программирования, то есть конструирование программ в терминах точного определения ситуации и точной формулировки задачи. В отличие от него процедурный язык программирования предполагает написание программы в виде последовательности инструкций по выполнению алгоритма. В логическом программировании компьютеру сообщается, "что есть истина", а не "как решить задачу". Это позволяет программисту сосредоточиться на решении задачи и создании описаний для предметной области, а не на деталях описания низкоуровневых алгоритмических конструкций вида "что делать далее".

Первая PROLOG-программа была написана в начале 1970 годов во Франции в рамках проекта по пониманию естественного языка [49]. Теоретические основы этого языка описаны в работах Р. Ковальски [49, 50]. Основной этап развития языка PROLOG приходится на 1975–1979 годы, когда на кафедре искусственного интеллекта университета Эдинбурга Дэвид Уоррен и Фернандо Перейра отвечали за реализацию этого языка. Они создали первый интерпретатор PROLOG. Описание этого кода и результаты сравнения PROLOG с языком LISP приводятся в книге Д. Варена [62]. Эта версия стала первым стандартом языка и была описана в книге У. Клоксина и М. Меллиша [38]. Русский перевод этой книги вышел в 1987 году [18].

В настоящее время наиболее популярна созданная в 1986 году система Turbo-Prolog, работающая под MS DOS, и система VISUAL-PROLOG под WINDOWS.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]