Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЛИТА_Лек3-4.doc
Скачиваний:
6
Добавлен:
26.08.2019
Размер:
172.03 Кб
Скачать

Алгоритм приведения формулы к виду пнф.

Шаг 1. Исключить всюду логические связки « и ® по правилам:

(F1«F2)=(F1®F2)& (F2®F1)=(ùF1ÚF2)&(ùF2ÚF1);

(F1®F2)=(ù F1ÚF2);

Шаг 2. Продвинуть отрицание до элементарной формулы по правилам:

ù"x(F)=$x(ùF); ù(F1ÚF2)=(ùF1&ùF2);

ù$x(F)="x(ùF);. ù(F1&F2)=(ùF1ÚùF2);

Шаг 3. Переименовать связанные переменные по правилу:

“ найти самое левое вхождение предметной переменной такое, что это вхождение связано некоторым квантором, но существует еще одно вхождение этой же переменной; затем сделать замену связанного вхождения на вхождение новой переменной “, операцию повторять пока возможна замена связанных переменных;

Шаг 4. Вынести кванторы влево по законам алгебры логики.

Шаг 5. Преобразовать бескванторную матрицу к виду КНФ. Алгоритм приведения матрицы формулы к виду КНФ приведен в алгебре высказываний.

Пример: F=("x(P1 (х)®"y(P2 (y)®P3 (z))))&(ù"y(P4 (x; y)®P5.(z))).

Привести формулу к виду ПНФ.

l) Удалить логические связки “®”:

F=("x(ùP1 (х)Ú"y(ù P2 (y)ÚP3 (z))))&(ù"y(ù P4 (x; y)ÚP5.(z)));

2) применить закон де Моргана ù "x( F(x))=$x( ù F(x)):

F=("x(ùP1.(х)Ú"y(ù P2 (y)ÚP3 (z))))&($y(ù(ù P4 (x; y)ÚP5.(z)));

3) применить закон де Моргана ù(F1ÚF2)=(ùF1&ùF2):

F="x(ùP1.(х)Ú"y(ù P2 (y)ÚP3 (z)))&($y(P4 (x; y)&(ùP5.(z))));

4) переименовать связанную переменную x=w:

F="w(ùP1 (w)Ú"y(ù P2 (y)ÚP3 (z)))&($y(P24 (x; y)&(ù P5.(z))));

5) переименовать связанную переменную y=v:

F="w(ùP1 (w)Ú"v(ùP2 (v)ÚP3 (z)))&($y(P4 (x; y)&(ùP5.(z))));

6) вынести квантор "v влево:

F="w"v(ùP1 (w)ÚùP2 (v)ÚP3 (z))&($y(P4 (x; y)&(ùP5.(z))));

7) вынести квантор $y влево:

F="w"v$y(ùP1 (w)ÚùP2 (v)ÚP3 (z))&P4 (x; y)&ùP5.(z).

Сколемовская стандартная форма

Наличие разноименных кванторов усложняет вывод заключения. Поэтому рассмотрим класс формул, содержащих только кванторы всеобщности. Формула F называется " - формулой, если она представлена в ПНФ и содержит только кванторы всеобщности, т.е.

F = "x1"x2 ¼"xn (M).

Для устранения кванторов существования из префикса формулы разработан алгоритм Сколема, вводящий сколемовскую функцию для связывания предметной переменной квантора существования с другими предметными переменными.

Алгоритм Сколема

Шаг 1. Представить формулу F в виде ПНФ, т.е. F=Âx1Âx2¼Âxn(M), где ÂiÎ{"; $}

Шаг 2. Найти в префиксе самый левый квантор существования:

a) Если квантор находится на первом месте префикса, то вместо переменной, связанной квантором существования, подставить всюду предметную постоянную a, отличную от встречающихся предметных постоянных в матрице формулы, а квантор существования удалить;

б) если квантор находится не на первом месте префикса, т.е. "x1"x2¼"xi-1$xi .., то выбрать (i-1)-местный функциональный символ, отличный от функциональных символов матрицы М и выполнить замену предметной переменной xi, связанной квантором существования, на функцию f(x1;x2;¼ xi-1) и квантор существования удалить.

Шаг 3. Найти следующий справа квантор существования и перейти к исполнению шага 2, иначе конец.

Формулу ПНФ, полученную в результате введения сколемовской функции называют сколемовской стандартной формой формулы (ССФ).

Пример:

F=$x1"x2"x3$x4"x5$x6 ((P1 (x1; x2) ÚùP2(x3; x4; x5))&P3(x4; x6)).

1) заменить предметную переменную x1 на постоянную a:

F="x2"x3$x4"x5$x6 ((P1. (a; x2)ÚùP2.(x3; x4; x5))&P3 (x4; x6));

2) заменить предметную переменную x4 на функцию f2 1.(x2;x3):

F="x2"x3"x5$x6 ((P1.(a; x2)ÚùP2 (x3; f 21(x2; x3); x5))&P3 (f21(x2; x3); x6));

  1. заменить предметную переменную x6 на функцию f32(x2; x3 ; x5 ):

F="x2"x3"x5((P1(a; x2)ÚùP2(x3; f21(x2; x3); x5))& P3(f21(x2; x3);f32(x2; x3 ; x5 ))).