Интеллектуальные информационные системы. Макаренко С.И. - 123 стр.

UptoLike

Составители: 

122
Существуют два типа утверждений:
- факт это одиночная цель, которая, безусловно, истинна;
- правило состоит из одной головной цели и одной или более
хвостовых целей, которые истинны при некоторых условиях.
Правило обычно имеет несколько хвостовых целей в форме
конъюнкции целей.
Конъюнкцию можно рассматривать как логическую функцию И. Таким
образом, правило согласовано, если согласованы все его хвостовые цели.
Примеры фактов:
собака(рекс). родитель(голди.рекс).
Примеры правил:
собака (X) :- родитель (X.Y),собака (Y). человек(Х) :-
мужчина(Х).
Разница между правилами и фактами чисто семантическая. Хотя для
правил мы используем синтаксис операторов (более подробное рассмотрение
операторного и процедурного синтаксисов выходит за рамки нашего курса),
нет никакого синтаксического различия между правилом и фактом.
Так, правило
собака (X) :- родитель(Х,У),собака(У).
может быть задано как
:-собака (X) ',' родитель(Х.У) .собака (Y).
Запись верна, поскольку
:-
является оператором
"при условии, что"
,
а
','
это оператор конъюнкции. Однако удобнее записывать это как
собака (X) :-родитель (X.Y),собака (Y).
и читать следующим образом: " Х собака при условии, что родителем Х
является Y и Yсобака".
14.3 Запросы
После записи утверждений в базу данных вычисления могут быть
инициированы вводом запроса.
Запрос выглядит так же, как и целевое утверждение, образуется и
обрабатывается по тем же правилам, но он не входит в базу данных
(программу). В Прологе вычислительная часть программы и данные имеют
одинаковый синтаксис. Программа обладает как декларативной, так и
процедурной семантикой. Мы отложим обсуждение этого вопроса до
последующих лекций. Запрос обозначается в Прологе утверждением ?-,
имеющим арность 1. Обычно запрос записывается в операторной форме: за
     Существуют два типа утверждений:
     - факт — это одиночная цель, которая, безусловно, истинна;
     - правило — состоит из одной головной цели и одной или более
       хвостовых целей, которые истинны при некоторых условиях.
     Правило обычно имеет несколько хвостовых целей в форме
конъюнкции целей.
     Конъюнкцию можно рассматривать как логическую функцию И. Таким
образом, правило согласовано, если согласованы все его хвостовые цели.
     Примеры фактов:
     собака(рекс). родитель(голди.рекс).
     Примеры правил:
     собака   (X)   :-   родитель   (X.Y),собака   (Y).   человек(Х)   :-
мужчина(Х).
      Разница между правилами и фактами чисто семантическая. Хотя для
правил мы используем синтаксис операторов (более подробное рассмотрение
операторного и процедурного синтаксисов выходит за рамки нашего курса),
нет никакого синтаксического различия между правилом и фактом.
     Так, правило
     собака (X) :- родитель(Х,У),собака(У).
может быть задано как
     :-собака (X) ',' родитель(Х.У) .собака (Y).
      Запись верна, поскольку :- является оператором "при условии, что",
а ',' — это оператор конъюнкции. Однако удобнее записывать это как
     собака (X) :-родитель (X.Y),собака (Y).
и читать следующим образом: " Х — собака при условии, что родителем Х
является Y и Y — собака".

                             14.3 Запросы

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


                                    122