Шаг 9.
Основы логического программирования.
Основы языка Пролог

    На этом шаге мы рассмотрим введение в логическое программирование.

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

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

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

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

    Логика предикатов была разработана дли наиболее простого преобразования принципов логического мышления в записываемую форму. использует преимущества синтаксиса логики для разработки программного языка. В логике предикатов вы, прежде всего, исключаете из своих предложений все несущественные слова. Затем вы преобразуете эти предложения, ставя в них на первое место отношение, а после него - сгруппированные объекты. В дальнейшем объекты становятся аргументами, между которыми устанавливается это отношение. В качестве примера в таблице 1 представлены предложения, преобразованные в соответствии с синтаксисом логики предикатов.

Таблица 1. Синтаксис логики предикатов
Предложения на естественном языке Синтаксис логики предикатов
Машина красивая fun (car)
Роза красная red (rose)
Билл любит машину, если машина красивая likes(bill, car) if fun(car)

    На следующем шаге мы рассмотрим факты и правила.




Предыдущий шаг Содержание Следующий шаг