Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
135.17 Кб
Скачать

ПрОграммирование в лоГике

Пролог является результатом многолетней исследовательской работы. Первая официальная версия Пролога была разработана Аланом Кольмероэ в Марсельском университете во Франции в 1972 году как инструмент для ПРОграммирования ЛОГики. Первоначально Пролог разрабатывался как язык для решения задач искусственного интеллекта, он и сейчас очень хорошо подходит для создания экспертных систем и программирования других задач этой области. Но нынешний Visual Prolog – это язык, способный решать практически любые задачи современного программирования.

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

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

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

Пример 1. (слайд 1)

«В одном небольшом кафе в смене работали пять человек: администратор, повар, кондитер, кассир и дворник. Одновременно на работу выходили Голубева, Иванова, Васин, Смирнов и Азаров. При этом было известно, что:

повар – холостяк (A);

кассир и администратор жили в одной комнате, когда учились в колледже (B);

Азаров и Иванова встречаются только на работе (C);

жена Васина заболела, когда муж сказал ей, что администратор отказал ему в отгуле на субботний вечер (D);

Смирнов собирается быть свидетелем на свадьбе у кассира и кондитера (E).

Кто на какой должности в этом кафе?»

Этот пример в дальнейшей нашей работе будет неоднократно использоваться. В данный момент мы обратим внимание на способ записи предложений на естественном языке в стиле синтаксиса логики предикатов. Курсивом выделим несущественные слова. (слайд 2)

Таблица 1.

Предложения на естественном языке

Синтаксис логики предикатов

В одном небольшом кафе в смене работали пять человек: администратор, повар, кондитер, кассир и дворник.

профессия(администратор).

профессия(повар).

профессия(кондитер).

профессия(кассир).

профессия(дворник).

Одновременно на работу выходили Голубева, Иванова, Васин, Смирнов и Азаров

сотрудник(голубева, жен).

сотрудник(иванова, жен).

сотрудник(васин, муж).

сотрудник(смирнов, муж).

сотрудник(азаров, муж).