Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФиЛП_материалы / Материалы / Prolog / ПособиеПролог.doc
Скачиваний:
49
Добавлен:
01.06.2015
Размер:
449.02 Кб
Скачать

35 57 58

Введение

Пролог создавался, в первую очередь, как специализированный язык, предназначенный для решения задач, относящихся к области искусственного интеллекта. Именно в этой области в полной мере проявляются все его достоинства и преимущества перед языками широкого назначения.

По своей сути Пролог является декларативным языком. Пролог-программа представляет собой набор логических описаний, определяющих цель, ради достижения которой она написана. Последовательность решения заложена в математической модели языка, которая реализуется в его внутреннем механизме и обеспечивает поиск результата на основе исходного логического описания. Язык имеет строгое математическое обоснование и ориентирован на использование концепций и методов логики предикатов первого порядка.

На сегодняшний день Пролог является живым и активно развивающимся языком, хотя и не имеет такого широкого распространения как C++ , С# и созданные на их основе интегрированные среды разработки.

С начала своего появления в 70-х гг. ХХ-го века система программирования на Прологе существовала как интерпретатор. В 1988 г. появилась система TurboProlog, а затем и Visual Prolog, включающие компилятор и интегрированную среду разработки программ. Появившаяся не так давно 7-я версия Visual Prolog является объектно-ориентированной средой разработки логических программ. Математическая основа и механизм работы Пролога одинаковы для интерпретатора и компилятора; вместе с тем в построении программ есть некоторые существенные различия. Классические труды [1-5], объясняющие механизм работы и области применения Пролога, написаны для интерпретатора. Поэтому, несмотря на то, что компиляторы вытеснили интерпретирующие системы, в пособии разбираются вопросы программирования как для компиляторов, так и для интерпретаторов,. При этом система программирования с интерпретатором называется традиционной системой Пролог, а с компилятором – Visual Prolog (VIP). Если речь идет об общих вопросах, то называется просто Пролог.

1. Составление программ

1.1. Основные определения

В основу работы Пролог-системы положена реализация автоматического доказательства теорем для предикатов первого порядка. Предметная область описывается посылками и правилами вывода заключений, сведенных по форме до так называемых дизъюнктов Хорна утверждений вида

АB1 & B2 & ……Bn.

Это логическая импликация: если все посылки Bi истинны, то истинно и заключение А.

Запишем, например, в виде логического вывода следующее высказывание:

«если животное ест другое животное, то это животное хищник».

Используя импликацию и кванторы всеобщности и существования, запишем следующую формулу:

X (хищник (X))

Y (животное (X) & животное (Y) & ест (X,Y)), (1)

где X, Y– переменные.

Декларируется она следующим образом: для всех объектов X существует объект Y такой, что если Х – животное и Y – животное и Х ест Y, то из этого следует, что Х – хищник. Введем посылки – высказывания о некоторых объектах. На естественном языке они могут быть, например, такими:

волк – это животное;

заяц – это животное;

волк ест зайца;

заяц ест капусту.

Запишем посылки в форме дизъюнктов Хорна без правой части:

животное(волк).

животное(заяц). (2)

ест(волк, заяц).

еcт(заяц, капуста).

Формулу (1) приведем к стандартному виду:

хищник(Х):- животное (Х), животное (Y), ест (X,Y), (3)

который получается из (1) устранением кванторов всеобщности и существования, заменой символа импликации двумя символами «:-», а символа конъюнкции – запятой. Формулируется (3) точно так же, как и исходная формула (1).

Высказывания (2) считаются истинными и называются аксиомами, а (3) – теоремой. В теореме выполняется аксиома замкнутости мира: возможными реализациями отношения являются только те выражения, которые содержатся в описании задачи. Все переменные в (3) связаны квантором всеобщности.

Теорема (3) может быть доказана методом резолюций. Метод резолюций является обобщением метода «доказательства от противного»: вместо того, чтобы пытаться вывести некоторую формулу-гипотезу из имеющегося непротиворечивого множества аксиом, мы добавляем отрицание нашей формулы к этому множеству и пытаемся вывести из него противоречие. Если нам удается это сделать, мы, пользуясь законом исключенного третьего, приходим к выводу, что исходная формула была выводима из множества аксиом [3].

Аксиомы и теоремы, записанные в форме дизъюнктов Хорна, составляют основу Пролог-программы.

Соседние файлы в папке Prolog