Лекции по логическо програмиране


Представяне на безкванторни формули в конюнктивна нормална форма



страница18/22
Дата01.06.2017
Размер2.18 Mb.
#22581
ТипЛекции
1   ...   14   15   16   17   18   19   20   21   22

Представяне на безкванторни формули в конюнктивна нормална форма

казваме, че една формула е елементарна дизюнкция, ако тя се представя във вида L1  L2  …  Ln, n  0, където L1, L2, …, Ln са литерали;

казваме, че една формула е в конюнктивна нормална форма, ако тя има вида D1 & D2 & … & Dn, n  0, където D1, D2, …, Dn са елементарни дизюнкции;

за всяка безкванторна формула F, която не е атомарна дефинираме преработено отрицание -F:

ако F = true, -F = fail;

ако F = fail, -F = true;

ако F = G, -F = G;

ако F = G1  G2  …  Gn, n > 1, -F = G1 & G2 & … & Gn;

ако F = G1 & G2 & … & Gn, n > 1, -F = G1  G2  …  Gn;
ясно е, че за всяка формула F, която не е атомарна е изпълнено:

F  -F;
за всяка безкванторна формула F дефинираме заменящо множество на F:

ако F е елементарна дизюнкция, заменящото множество на F е { F};

нека F не е елементарна дизюнкция; тогава F може да се представи във вида F = F1  F2  …  Fn, където n > 0, тъй като fail е елементарна дизюнкция; при това, ако n = 1 можем да считаме, че F1 не е дизюнкция с повече от един член;

тъй като F не е елементарна дизюнкция,

то Fi не е литерал за някое i  { 1, 2, …, n };

ако Fi = true, заменящото множество на F е ;

ако Fi = fail, заменящото множество на F е

{ F1  …  Fi-1  Fi+1  …  Fn}; при това n > 1, тъй като F не е елементарна дизюнкция;

ако Fi = G, заменящото множество на F е

{ F1  …  Fi-1  -G  Fi+1  …  Fn}; при това G не е атомарна формула, тъй като Fi не е литерал, така че -G е дефинирано;

ако Fi = G1 & G2 & … & Gk, k > 1, заменящото множество на F е

{ F1  …  Fi-1  Gj  Fi+1  …  Fn| j = 1, 2, …, k };

ако Fi = G1  G2  …  Gk, k > 1, заменящото множество на F е

{ F1  …  Fi-1  G1  G2  …  Gk  Fi+1  …  Fn}; при това n > 1, тъй като при n = 1 имаме, че F1 не е дизюнкция с повече от един член;
съвсем лесно се вижда, че ако F е безкванторна формула, конюнкцията на елементите на кое да е заменящо множество на F е еквивалентна на F; например, в горните означения, ще покажем това в случая Fi = G1 & G2 & … & Gk, k > 1; заменящото множество на F е { F1  …  Fi-1  Gj  Fi+1  …  Fn| j = 1, 2, …, k };

нека S е структура, v е оценка на променливите в S;

да предположим, че F S, v = 1; тогава Fj S, v = 1 за някое

j  { 1, 2, …, n }; нека j  i; тогава формулите в заменящото множество са дизюнкции, които имат член Fj, така че тези формули са вярни в S при оценката v  конюнкцията им е вярна в S при оценката v; ако j = i, то (G1 & G2 & … & Gk)S, v = 1 

G1, G2, …, Gk са вярни в S при оценката v; тогава формулите в заменящото множество са дизюнкции, които имат член Gm за някое m  { 1, 2, …, k }, така че тези формули са вярни в S при оценката v  конюнкцията им е вярна в S при оценката v;

обратно, нека конюнкцията на формулите в заменящото множество е вярна в S при оценката v; тогава тези формули са вярни в S при оценката v и тъй като тези формули са дизюнкции, то във всяка от тях поне един член е верен в S при оценката v;

ако за някоя формула този член е Fj за някое

j  { 1, …, i-1, i+1, …, n }  F е вярна в S при оценката v, тъй като F е дизюнкция, която има член Fj; ако за всички формули този член е Gm, m = 1, 2, …, k, то Fi = G1 & G2 & … & Gk е вярна в S при оценката v  F е вярна в S при оценката v, тъй като F е дизюнкция, която има член Fi;


Теорема: За всяка безкванторна формула съществува еквивалентна формула в конюнктивна нормална форма;

Доказателство: нека F е безкванторна формула;

ще посочим алгоритъм, по който се построява еквивалентна на F формула в конюнктивна нормална форма;


  1. M = { F };

  2. за всяка формула от множеството M образуваме заменящо множество; нека M е обединението на получените заменящи множества;

  3. ако M се състои само от елементарни дизюнкции, към 4.; иначе M = M, към 2.;

  4. нека G е конюнкцията на всички формули от M; търсената формула е G; край;

ясно е, че G е в конюнктивна нормална форма, тъй като на последната стъпка M се състои само от елементарни дизюнкции;

на всяка стъпка, конюнкцията на формулите от M е еквивалентна на формулата F съгласно горните съображения, така че на последната стъпка получаваме, че F  G;

не е трудно да се покаже, че алгоритъмът завършва след краен брой стъпки – достатъчно е да се дефинира по подходящ начин сложност на формула и да се покаже, че на всяка стъпка от алгоритъма сложността на формулите в M строго намалява, докато те не се преобразуват в елементарни дизюнкции;






Сподели с приятели:
1   ...   14   15   16   17   18   19   20   21   22




©obuch.info 2024
отнасят до администрацията

    Начална страница