Программирование в Логике. Чанышев О.Г. - 8 стр.

UptoLike

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

15
Два варианта:
читатель(X1):- иметь_книгу(X1,Y2)
читатель(Beta):- иметь_книгу(Beta,Alpha)
Конкретизации:
читатель(Колмогоров):- иметь_книгу(Колмогоров,Z)
читатель(Васильев):- иметь_книгу(Васильев, Овод)
В общем случае, вопрос к Пролог-системе есть список це-
лей, разделенных запятыми. Список целей будет истиннным, если
все цели в списке истинны при одинаковых конкретизациях пере-
менных. Запятая между
целями обозначает конъюнкцию целей. В
Прологе возможна и дизъюнкция целей: должна быть истинной,
по крайней мере, одна из целей. Дизъюнкция обозначается точкой
с запятой (;):
P:-Q;R. %P истинно, если истинно Q или P.
То же самое можно написать в виде двух правил Пролога:
P:-Q.
P:-R.
Запятая связывает цели сильнее (имеет более высокий при-
оритет), чем точка с
запятой. Предложение
P:-Q,R;S,T,U.
понимается как
P:-(Q,R);(S,T,U).
Процедурная семантика определяет, как Пролог-система
отвечает на вопросы. Ответить на вопросэто значит удовлетво-
рить список целей. Процедурная семантика Прологапроцедура
вычисления списка целей.
2.3. Основные определения
Пролог – «декларативный язык, программы на котором
содержат объявления логических взаимосвязей, необходимых для
решения задачи» [6].
Отношение
между объектами задается в форме предиката:
"имя_отношения(<имена_объектов>)".
16
Примеры: синий(шар), красный(платок,флаг,яблоко), лю-
бит(Cаша,Некто).
Предикатсимволическое имя отношения, за которым
следуют аргументы в скобках (через запятую)
Фактотношение, в котором все объекты известны; фак-
ты всегда истинны. Факты можно рассматривать как аксиомы.
Предложениезапись на Прологе отдельных отношений.
Правило
предложение с логической связкой если (if,:-).
Пример: предложение естественного языка "Гена пойдет на
пляж, если день будет солнечным" на Прологе может быть запи-
сано так:
ходить(Гена,пляж):-день(солнечный)
ходить(Гена,пляж) if день(солнечный)
Левая часть правила называется заголовком, праваятелом.
Процедурапоследовательность предложений, описы-
вающих предикат.
Переменные позволяют
формулировать отношения и прави-
ла общего вида и, таким образом, формулировать вопросы. Пере-
менные должны получить значения в результате операций сопос-
тавления и конкретизации. До этого переменная называется сво-
бодной, послесвязанной.
Имя переменной должно начинаться с прописной буквы или
знака подчеркивания (_). Далее может следовать любое число
букв (в любом регистре
), цифр или знаков подчеркивания.
Анонимная переменная обозначается знаком подчеркивания
и используется вместо любой другой, когда ее значение не инте-
ресует программиста.
Цельболее общее наименование запроса. Пролог пыта-
ется разрешить цель, просматривая все факты. Разрешение цели
эквивалентно доказательству теоремы на основе аксиомфактов.
     Два варианта:                                                      • Примеры: синий(шар), красный(платок,флаг,яблоко), лю-
     читатель(X1):- иметь_книгу(X1,Y2)                            бит(Cаша,Некто).
     читатель(Beta):- иметь_книгу(Beta,Alpha)                           • Предикат – символическое имя отношения, за которым
                                                                  следуют аргументы в скобках (через запятую)
     Конкретизации:                                                     • Факт – отношение, в котором все объекты известны; фак-
     читатель(Колмогоров):- иметь_книгу(Колмогоров,Z)             ты всегда истинны. Факты можно рассматривать как аксиомы.
     читатель(Васильев):- иметь_книгу(Васильев, Овод)                   • Предложение – запись на Прологе отдельных отношений.
                                                                        • Правило – предложение с логической связкой если (if,:-).
      В общем случае, вопрос к Пролог-системе есть список це-
лей, разделенных запятыми. Список целей будет истиннным, если           Пример: предложение естественного языка "Гена пойдет на
все цели в списке истинны при одинаковых конкретизациях пере-     пляж, если день будет солнечным" на Прологе может быть запи-
менных. Запятая между целями обозначает конъюнкцию целей. В       сано так:
Прологе возможна и дизъюнкция целей: должна быть истинной,              ходить(Гена,пляж):-день(солнечный)
по крайней мере, одна из целей. Дизъюнкция обозначается точкой          ходить(Гена,пляж) if день(солнечный)
с запятой (;):                                                          Левая часть правила называется заголовком, правая – телом.
      P:-Q;R. %P истинно, если истинно Q или P.                         • Процедура – последовательность предложений, описы-
      То же самое можно написать в виде двух правил Пролога:      вающих предикат.
      P:-Q.                                                             Переменные позволяют формулировать отношения и прави-
      P:-R.                                                       ла общего вида и, таким образом, формулировать вопросы. Пере-
      Запятая связывает цели сильнее (имеет более высокий при-    менные должны получить значения в результате операций сопос-
оритет), чем точка с запятой. Предложение                         тавления и конкретизации. До этого переменная называется сво-
      P:-Q,R;S,T,U.                                               бодной, после – связанной.
      понимается как                                                    Имя переменной должно начинаться с прописной буквы или
      P:-(Q,R);(S,T,U).                                           знака подчеркивания (_). Далее может следовать любое число
                                                                  букв (в любом регистре), цифр или знаков подчеркивания.
      Процедурная семантика определяет, как Пролог-система              Анонимная переменная обозначается знаком подчеркивания
отвечает на вопросы. Ответить на вопрос – это значит удовлетво-   и используется вместо любой другой, когда ее значение не инте-
рить список целей. Процедурная семантика Пролога – процедура      ресует программиста.
вычисления списка целей.
                                                                        • Цель – более общее наименование запроса. Пролог пыта-
                                                                  ется разрешить цель, просматривая все факты. Разрешение цели
     2.3. Основные определения                                    эквивалентно доказательству теоремы на основе аксиом – фактов.
     • Пролог – «декларативный язык, программы на котором
содержат объявления логических взаимосвязей, необходимых для
решения задачи» [6].
     • Отношение между объектами задается в форме предиката:
"имя_отношения(<имена_объектов>)".


                              15                                                                16