4.6. Логическое программирование
Приведенный метод резолюций служит основой языков логического программирования. Главное отличие языков логического программирования от процедурных языков заключается в том, что программа не указывает как что-то сделать, а описывает некоторые элементы и связи между ними (модель) и ставит цель, т.
е. задает вопрос об этой системе. На формальном языке это означает проверить истинность предложения на данной системе. При этом компьютер самостоятельно выбирает стратегию для решения поставленных вопросов.Логическая программа представляет собой конечный набор выражений следующих видов:
факты:
, (1)
правила:
, (2)
где
,
- атомарные формулы.
Правило читается как: «если истинны
, то истинно
». Формула
называется заголовком правила.
Правила позволяют выводить новые факты из уже существующих. Факты определяют отношения между объектами.
Для выполнения программы необходимо обратиться к целевому запросу (цели), которая представляет собой последовательность атомарных формул вида:
. (3)
Выполнение программы состоит в попытке решить задачу, т .е. доказать целевое утверждение, используя факты и правила.
Каждому факту (1) поставим в соответствие предложение:
А:
, где
- все переменные, входящие в формулу
.
Каждому правилу (2) поставим в соответствие предложение:
В:
, где
- все переменные, входящие в формулы
Запросу (3) поставим в соответствие формулу:
С:
,
где кванторы связывают все переменные.
Нужно доказать
Для доказательства используется метод резолюций.
Еще по теме 4.6. Логическое программирование:
- § 47. Основные логические понятия и смысл логических положений подтверждают наши указания
- Логическое основание п логическая формула выводов о вероятности
- 3. Программа логического позитивизма (логического эмпиризма)
- 11. Приемы логического анализа текста. Устранение логических ошибок в тексте.
- Дробно–линейное программирование
- Линейное программирование
- 7.1. Задачи линейного программирования
- Приложение 3В. Линейное программирование
- Проектирование и программирование модулей
- 7.3. Графическое решение задачи линейного программирования
- 10.1. Геометрическая интерпретация задач нелинейного программирования
- Вопрос 34.Нейролингвистическое программирование.
- Вопрос 34. Нейролингвистическое программирование.
- Особенности программирования исследования