Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
7.4. Экспертные системы, основанные на логике предикатов первого порядкаСуществует классический язык, специально созданный для моделирования формальных человеческих рассуждений, — это язык математической логики. На самом деле правило продукций “ситуация Большинство из рассмотренных выше экспертных систем хорошо описывается логикой высказываний (гл. 3), в которой все существенные понятия выражаются константами. Сейчас мы опишем последовательно две важные системы, а именно PROLOG и SNARK, основанные на формализме логики предикатов первого порядка (с переменными) и некоторых их приложений. На самом деле язык программирования Пролог, разработанный Алленом Кольмрауэром (1971), в контексте решения задачи понимания естественно-языковой фразы, был создан еще до появления самого понятия экспертных систем. 7.4.1. Язык ПрологПролог — язык программирования, единицей которого является не команда, а теорема логики предикатов первого порядка (разд. 3.1.10). Теорема содержит переменные или параметры, относящиеся к квантору всеобщности: эти переменные могут быть замещены любым правильно построенным выражением языка. Переменные принадлежат Пролог — специальный интернретатор для формул логики предикатов первого порядка. Его действие распространяется на предикаты, приведенные к нормальной дизъюнктивной форме. Любое предложение (дизъюнкция предикатов) записывается в виде
что, очевидно, интерпретируется в виде
Характерной особенностью языка Пролог является то, что он имеет дело только с хорновскими предложениями, т. е. с предложениями, которые имеют самое большее один “положительный” литерал (справа), другими словами, только одно заключение Различные реализации языка Пролог фактически являются производными от версии языка на Фортране (Roussel, 1975), опирающейся на переносимый интерпретатор (Battani, 1973). В основном Пролог получил распространение в Португалии (Соelho, 1980), Эдинбурге (Warren, 1977), Венгрии (Szeedi, 1977) и Японии. В Японии программа создания ЭВМ “пятого поколения” предусматривает его использование в качестве микропрограммного языка завтрашнего дня. Машина EPILOG, созданная Сансонне и Алии, уже дает пример высокоэффективного языка программирования Пролог (Тулуза, Университет П. Сабатье, 1982). Все интерпретаторы для языка Пролог на самом деле являются иллюстрацией доказательства теорем с использованием принципа резолюции. Этот принцип, предложенный еще Эрбраном (Herbrandt, 1931), был заново воссоздан и запрограммирован Робинсоном в 1965 г. (Robinson, 1965). Он является обобщением метода доказательства от противного: принцип резолюции состоит в том, что доказывается противоречивость предложения На самом деле любое предложение языка Пролог может быть интерпретировано двумя способами: 1) процедурным образом через интерпретатор и 2) чисто логически или декларативно как простое утверждение теоремы в рабочем пространстве (гл. 3). Программирование на языке Пролог представляет интерес по трем причинам: 1) предложения непосредственно выражают полезные утверждения (теоремы); 2) интерпретатор содержит полностью запрограммированный алгоритм унификации; 3) дерево поиска, рождаемое множеством попарных унификаций, обрабатывается в системе автоматически. Кроме того, резолюция может направляться стратегией, которая фиксирует приоритет определенных предложений, являющихся кандидатами для унификации (разд. 3.6). Предложения отбрасываются в порядке их появления, а внутри каждого предложения литералы отбрасываются справа налево. Эта стратегия является полной. Версия, реализованная в Марселе, использует глубокий поиск с применением запрограммированной процедуры возвращения назад, что приводит к неполной, но более эффективной стратегии. Для этого употребляется символ Система Пролог предоставляет также возможность, пользуясь простым формализмом, описывать и решать задачи. Пользователю для формулировки своей задачи остается только найти подходящие предикаты.
|
1 |
Оглавление
|