
- •Махачкала - 2006
- •Лабораторная работа №1 Основные понятия логики и логики высказывания
- •Логические операции над логическими переменными
- •1.6. Решение логических задач с помощью рассуждений
- •Контрольные вопросы
- •Лабораторная работа №2 Основы логики предикатов первого порядка.
- •Преобразование произвольной формулы логики предикатов первого порядка в клаузальную форму
- •1.Исключение импликаций
- •2. Перемещения знака отрицания ( ) непосредственно к атомам
- •3. Переименование переменных
- •4. Перемещение кванторов влево
- •5. Сколемизация.
- •6. Распеределение конъюнкций относительно дизъюнкций
- •7. Перемещение скобок к концу и началу
Преобразование произвольной формулы логики предикатов первого порядка в клаузальную форму
Применение обобщенного правила резолюции требует представления формул в клаузальной форме. Покажем, с помощью каких эквивалентных преобразований любая произвольная формула логики предикатов первого порядка может быть преобразована в клаузальную форму. Процедуру преобразования представим в вид е отдельных шагов.
1.Исключение импликаций
Из логики высказываний
известно, что
Поэтому на первом шаге помощью
этой формулы исключаем все импликации.
2. Перемещения знака отрицания ( ) непосредственно к атомам
В клаузах отрицание допустимо только перед атомами. Поэтому используя следующие законы Де Моргана, эквивалентности кванторов и двойного отрицания, перемешаем знаки отрицания непосредственно к атомам
3. Переименование переменных
Во всех формулах,
в которых встречаются кванторы,
использующие одни и те же связанные
переменные, как, например, в формуле
переименовать связанные переменные
таким образом, чтобы они были
индивидуальными для каждого квантора.
Например, для нашего примера это может
быть использование переменной у вместо
переменной х для квантора существования.
В результате получится формула
4. Перемещение кванторов влево
После предыдущего
шага, в результате которого каждый
квантор использует свои связанные
переменные, обозначения которых не
совпадают с переменными других
кванторов, все кванторы могут быть
перемещены влево. Так. например, простая
формула
после перемещения квантора влево примет
вид
.
5. Сколемизация.
Сколемизацией
называется специфический прием удаления
кванторов существования. В простейшем
случае - это просто замена формулы
на формулу
,
где А является константой, ранее не
встречавшейся. В общем случае, когда
переменная, связываемая квантором
существования, встречается в каком-либо
литерале вместе с переменными, связанными
квантором общности, приходится, для
того, чтобы избавиться от квантора
общности, вводить специальную функцию,
зависящую от переменных, связанных
квантором общности, вместо переменной,
связанной квантором существования.
Так, например, если имеем формулу
то в этой формуле
литерал
может означать, например, наличие
некоторого свойства, именуемого
предикатным символом
,
у объекта, именуемого переменной
у, а литерал
- соответствие каждому объекту,
обозначенному переменной х, некоторого
объекта, обозначенного переменной
v. Объект, обозначенный переменной v,
определяется в этом случае значением
переменной х и может быть заменен на
ранее не встречавшуюся функцию F(x),
называемую обычно функцией
Сколема.
После такой замены квантор существования
может быть удален, а формула приобретает
вид
6. Распеределение конъюнкций относительно дизъюнкций
Это распределение осуществляется на основе использования дистрибутивного закона
7. Перемещение скобок к концу и началу
На этом шаге формулы
со скобками типа
или
приводятся соответственно к виду
или
.
После этого шага исходная формула
преобразуется в нормальную конъюнктивную
форму, являющуюся конъюнкцией
дизъюнкций литералов. Каждая дизъюнкция
литералов является клаузой.
Пример выполнение задания 1. Преобразовать заданную форму в предваренную нормальную форму, а затем привести к стандартному виду:
x(y(P|(x,y) (zR(x) & F(z) Q|(x)))
Исключение импликации и эквивалентности ↔
по правилам:
А В=А| V B
А↔B=(AB)&(BA)=( А| V B)&(B| V A)
x(y(P|| (x,y) V (zR(x)&F (z) = Q| (x))))
x(y(P||(x,y) V (zR(x)&F| (z) V Q| (x))))
Исключение отрицания над формулами
по правилам:
(A V B)| = A| & B|
(A & B)| = A| V B|
A|| =A
(xA)| = xA|
(xA)| = xA|
x(y(P(x,y) V (zR(x)&F| (z) V Q| (x))))
переименование переменных
по правилам:
xP(x) V xQ(x)= xP(x) VyQ(y)= xy(P(x) V Q(y))
xP(x) ^ xQ(x) = xP(x) ^ yQ(y) = xy(P(x)^Q(y))
Не применили
Вынесение кванторов в предикатную часть
xyz (P(x,y) V (R(x)&F| (z) V Q| (x))))
Исключение кванторов существования
по правилам:
а) слева от отсутствует
xP(x) = P(b), b=const
б) слева от З присутствует
xyP(x,y) = xP(x,f(x)) [y=f(x)] - Cкулежа
Z=f(y)
xy(P(x,y) V (R(x)&F| (f(y)) V Q| (x))))
Приведение к коньюнктивной нормальной форме
по правилу:
C V (A&B) = (C V A) & (C V B)
xy ((P(x,y) V R(X)) & (P(x,y) V P| (f(y)) V Q| (x)))
Исключение :
Опускаем xy
(P(x,y) V R(x)) & (P(x,y) V F| (f(y)) V Q| (x))
Исключение конъюнкции (&)
P(x,y) V R(x)
P(x,y) V F| (f(y)) V Q| (x)
Пример выполнения задание2. Записать в символьном виде заданное предложение:«Все условия оплаты по закону отличаются от условий оплаты, предложенным малым предприятием».
Введем обозначения:
X – условия оплаты по закону
х – конкретное условие оплаты по закону
У – условия оплаты, предложенные малым предприятием
у – конкретное условие оплаты, предложенное малым предприятием
P(y) – условие оплаты является условием предложенным малым предприятием
P(x) – условие оплаты является условием оплаты по закону
Q(x,y) – условие х отличается от условия у
Тогда выражение в символьном виде будет иметь вид:
xy ((P(x) & P(y))→ Q(x,y))
Задание к лабораторной работе №2
Вариант 1
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
x(y(z P(x,y, z) & (v Q(x,v) v Q(y,v))))
Записать в символьном виде заданное предложение:
«Каждое рациональное число- есть действительное число».
Вариант 2
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
________________________
xy(P(x,y) (z Q(z) R(x))).
Записать в символьном виде заданное предложение:
«Не все студенты получают стипендию».
Вариант 3
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
xy(P(x,y) (z Q(z) R(x))).
Записать в символьном виде заданное предложение:
«Некоторые клиенты банка не возвращают кредит».
Вариант 4
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
____ ___
x(y(P(x,y) (zR(x)&F(z)Q(x)))).
Записать в символьном виде заданное предложение:
«Банк выдает кредит некоторым клиентам под 30 % годовых».
Вариант 5
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
________________________
x(y(P(x,y) (z Q(z) R(x))).
«Существуют бухгалтера, которые ошибаются в расчетах».
Вариант 6
1. Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
_____________________
xy(P(x,y) (z Q(z) R(x))).
2. Записать в символьном виде заданное предложение:
«Все вкладчики простого вклада могут снять свои сбережения в любое время».
Вариант 7
Преобразовать заданную форму в предваренную нормальную форму, а затем привести к стандартному виду:
________________________
x(y(P(x,y) (z Q(z) R(x))).
Записать в символьном виде заданное предложение:
«Некоторые платежные поручения задерживаются при прохождении через РКЦ».
Вариант 8
Преобразовать заданную форму в предваренную нормальную форму, а затем привести к стандартному виду:
________________________
x(y(P(x,y) (z Q(z) R(x))).
Записать в символьном виде заданное предложение:
«Все малые предприятия должны пройти перерегистрацию в налоговой полиции и в министерстве юстиции».
Вариант 9
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
________________________
x(y(P(x,y) (z Q(z) R(x)))
Записать в символьном виде заданное предложение:
«Некоторые малые предприятия скрывают свои доходы».
Вариант 10
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
______________________
x(y(P(x,y) (z Q(z) R(x))).
Записать в символьном виде заданное предложение:
«Практически любую базу можно построить в FOXPRO и применить для решения экономических задач ».
Вариант 11
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
____ __________
x(y(P(x,y) (z Q(z) R(x))).
Записать в символьном виде заданное предложение:
« Все обменные пункты обменивают доллар по курсу 1:29».
Вариант 12
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
_____________
xyv(P(x,y,v) (z Q(z) R(z))).
Записать в символьном виде заданное предложение:
«Все условия оплаты по закону отличаются от условий оплаты , предложенных малым предприятием ».
Вариант 13
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
__________
xy(P(x,y) (z Q(z) R(x))).
Записать в символьном виде заданное предложение:
«Налоговая полиция ищет фирму, которая присвоила деньги, не заплатив налоги на прибыль ».
Вариант 14
Преобразовать заданную форму в предваренную нормальную форму , а затем привести к стандартному виду:
________
x(y P(x,y) (z Q(z) R(x))).
Записать в символьном виде заданное предложение:
«У каждого солидного клиента банка имеется валютный счет , который заморожен на ближайшие полгода ».
Вариант 15
Преобразовать заданную форму в предваренную нормальную форму, а затем привести к стандартному виду:
________ ____
y(x P(x,y) ((z Q(z) R(x))VF(z)))
Записать в символьном виде заданное предложение:
«Все клиенты коммерческого банка потеряли свои вклады на 20 % и не смогли расплатиться со своими поставщиками».
Контрольные вопросы
Что предоставляет логика предикатов?
Что называется предикатом?
Что является аргументом?
Для чего используются кванторы?
Для чего используются кванторы?
Приведите стандартные кванторы и их интерпретацию?
Приведете пример описания с помощью логики предикатов 1-го порядка базы знаний
В чем заключается правило вывода modus penons?
Суть и назначение методы резолюции?
Этапы приведения произвольной формулы логики предикатов 10го порядка к клазуальной форме.
Список литература
Адаменко А.Н. От логики к программированию и программирование на основе логики // Компьютерные этюды Петербурга, №2, 1994.-С.53-59.
Мельников В.Н. Логические задачи. М., 1982.
Упражнения по логике .М. , 1990.