Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012
Rezolucija 1 Metod rezolucije je postupak za dokazivanje da li je neka iskazna (ili predikatska) formula zadovoljiva, a koji se može lakše implementirati na računaru. Da li je formula tautologija (odnosno valjana)? - akko njena negacija nije zadovoljiva, pa... Da li je formula B semantička posledica konačnog skupa formula {A 1, A 2,..., A n } akko je formula A 1 A 2 A n B tautologija (odnosno valjana), pa... Alan Robinson 1965: A machine oriented logic based on the resolution principle )
Rezolucija 2 Metod rezolucije se primenjuje za formule koje su u konjunktivnoj normalnoj formi, tj. za formule koje su konjunkcije nekih disjunkcija. Znamo: za svaku iskaznu formulu postoji njoj ekvivalentna formula koja je u konjunktivnoj normalnoj formi. Algoritam da se dobije KNF: eliminisati veznike i, korišćenjem relacija A B A B i A B (A B) (B A) korišćenjem DeMorganovih zakona gurati negacije dublje tj. relacije (A B) ( A B) i (A B) ( A B) koristiti s leva na desno eliminisati duple negacije koristiti zakon distributivnosti A (B C) (A B) (A C)
Rezolucija 3 Neka je S skup iskaznih slova. Literal je svako iskazno slovo ili negacija iskaznog slova. Literal suprotan literalu p jeste literal p i obrnuto. Klauzula je konačan skup literala koji ne sadrži suprotne literale. Neprazna klauzula C predstavlja formulu koja se dobija disjunkcijom literala iz C. Jedinična klauzula je klauzula koja sadrži tačno jedan literal. Prazna klauzula, u oznaci [], je klauzula koja ne sadrži ni jedan literal i predstavlja proizvoljnu kontradikciju. Neka je S = {C 1, C 2,..., C n } skup klauzula i neka klauzule C 1, C 2,..., C n predstavljaju redom formule A 1, A 2,..., A n. Tada skup klauzula S predstavlja formulu A 1 A 2 A n i obrnuto, kažemo da je S klauzalna forma formule A 1 A 2 A n.
Rezolucija 4 Umesto literala p, možemo pisati p, a klauzulu {l 1, l 2,..., l n } obeležavati samo navodjenjem redom literala tj. l 1 l 2... l n. Definicija Za skup klauzula S kažemo da je zadovoljiv ako je zadovoljiva formula koju predstavlja, u suprotnom je nezadovoljiv. Tako, skup klauzula je zadovoljiv ako postoji makar jedna valuacija u kojoj su sve klauzule zadovoljive, tj. makar jedna valuacija u kojoj su sve formule predstavljene klauzulama tačne. Naravno, prazna klauzula je nezadovoljiva.
Rezolucija 5 Suština: Metod rezolucije se sastoji od niza primena pravila rezolucije na skup klauzula. Pravilo rezolucije čuva zadovoljivost. Prema tome, ako se metodom rezolucije dobije skup klauzula koji sadrži praznu klauzulu, onda mora biti nezadovoljiv i polazni skup klauzula. Definicija Neka su C 1 i C 2 dve klauzule tako da sadrže suprotne literale tj. za neki literal l, l C 1 i l C 2. Tada kažemo da se C 1 i C 2 sudaraju na l i l. Rezolventa od C 1 i C 2 je klauzula Res(C 1, C 2 ) = (C 1 \ {l}( (C 2 \ { l}). Kažemo da su C 1 i C 2 roditelji od Res(C 1, C 2 ) i da je klauzula Res(C 1, C 2 ) dobijena pravilom rezolucije od klauzula C 1 i C 2.
Rezolucija 6 Rezolventa dve jedinične klauzule koje sadrže suprotne literale jeste prazna klauzula. Nemaju svake dve klauzule rezolventu Metod rezolucije se sastoji od uzastopnog primenjivanja pravila rezolucije. Pri tome, roditelji rezolvente se ne zamenjuju rezolventom, nego se rezolventa dodaje skupu do tada dobijenih klauzula (i ulaze u razmatranje i u daljem postupku). Primer...
Rezolucija 7 Definicija Neka je S konačan skup klauzula. Kažemo da je klauzula C rezolventni izvod iz skupa S ako postoji konačan niz klauzula C 1, C 2,..., C k gde je C k = C, takav da svaka klauzula tog niza pripada skupu S ili se dobija pravilom rezolucije od ranijih formula u nizu. U tom slučaju takodje kažemo da je skup rezolventnih izvoda iz S dobijen metodom rezolucije iz skupa S. Primer...
Rezolucija 8 Krenimo sada od konačnog skupa klauzula S i konstruišimo niz skupova klauzula na sledeći način: S 0 = S, a S n+1 se dobija iz S n dodavanjem rezolvente nekih od formula iz S n (tj. primenom pravila rezolucije na neke klauzule iz S n ). Tada može da su desi jedno od sledeće dve situacije: neki od skupova S n sadrži praznu klauzulu, nismo dobili praznu klauzulu a stigli smo do nekog skupa S n koji se više ne proširuje primenom pravila rezolucije, tj. S n = S n+1. Lako je videti da će sigurno nastupiti bar jedan od ta dva slučaja: Teorema Metod rezolucije se uvek zaustavlja. Dokaz: konačan skup klauzula konačno mnogo isk. slova konačno mnogo razl. literala konačno mnogo razl. klauzula...
Rezolucija 9 Metod rezolucije na neki konačan skup klauzula S: Polazimo od konačnog skupa klauzula S. Konstruišemo niz skupova klauzula na sledeći način: S 0 = S, a S n+1 se dobija iz S n dodavanjem rezolvente nekih od formula iz S n (tj. primenom pravila rezolucije na neke klauzule iz S n ). Ako u jednom od koraka skup S n sadrži praznu klauzulu, procedura se zaustavlja, i vraća odgovor skup S nije zadovoljiv. Ako se za neki n skupovi S n i S n+1 poklapaju, tj. ne postoje klauzule u skupu S n na koje bi se moglo primeniti pravilo rezolucije, tada se procedura zaustavlja i vraća odgovor skup S je zadovoljiv.
Rezolucija 10 Pouzdanost: ako se izvede prazna klauzula, onda je početni skup klauzula nezodovoljiv. Lema Ako je skup klauzula {C 1, C 2 } zadovoljiv, onda je zadovoljiva i njihova rezolventa Res(C 1, C 2 ). DOKAZ. Ako su C 1 i C 2 jedninične klauzule koje sadrže suprotne literale, tvrdjenje je trivijalno tačno. Dalje, neka je C 1 = {p} i neka C 2 predstavlja formulu p A. Ako je skup {C 1, C 2 } zadovoljiv onda mora biti zadovoljiva formula A, tj. i njihova rezolventa. Neka ni jedna od C 1 i C 2 nije jedinična klauzula. Neka su p C 1 i p C 2 i neka te dve klauzule predstavljaju redom formule p A i p B. Tada je i Res(C 1, C 2 ) = A B zadovoljiva.
Rezolucija 11 Teorema (Pouzdanost metode rezolucije) Neka je S neki skup klauzula, a S skup klauzula dobijen iz S metodom rezolucije. Ako je skup S zadovoljiv, onda je zadovoljiv i skup S. Prema tome, ako je prazna klauzula rezolventni izvod od S, tada skup S nije zadovoljiv. Kompletnost: ako je polazni skup klauzula nezadovoljiv, onda se metodom rezolucije može dobiti prazna klauzula. Definicija Stablo valuacija nad n iskaznih slova: kompletno binarno stablo tako da je... (parcijalne dodele). Listovi: kompletne valuacije nad n iskaznih slova.
Rezolucija 12 Neka je S neki konačan skup klauzula na koji se primenom metode rezolucije dobio skup klauzula S k. Klauzula C propada u čvoru n ako je C S k, sva slova iz C su već evaluirana u tom čvoru i vrednost od C u toj dodeljenoj valuaciji je. Ako neka klauzula propadne negde, propašće u svim čvorovima ispod Rećićemo da je čvor u stablu valuacija pokriven ako tamo propada makar jedna klauzula iz S k. Važno: propadanje se širi prema gore!!!
Rezolucija 13 Teorema Ako je S neki konačan nezadovoljiv skup klauzula, onda se iz S metodom rezolucije može izvesti prazna klauzula. Dokaz: Znamo da za svaku valuaciju postoji makar jedna klauzula iz S koja u toj valuaciji ima vrednost. Prema tome, svi listovi stabla valuacija su pokriveni tj. za svaki list postoji klauzula iz S koja propada u njemu. Ako dva čvora koja imaju istog roditelja propadaju zbog nekih klauzula, onda sigurno postoji klauzula iz S k koja propada u njihovom roditelju. Ili je to jedna od već navedenih klauzula, ili prazna klauzula ili rezolventa te dve klauzule. Prema tome, svi čvorovi su pokriveni, pa i poslednji, što znači da je prazna klauzula u S k.
Zadaci za vežbu.1 Metodom rezolucije dokazati da je sledeći skup formula nezadovoljiv: {p q, p q, p q, p q}..2 Metodom rezolucije dokazati da je sledeća formula tautologija:.3 Metodom rezolucije dokazati: ((p q) (q r)) (p r). (p q) (q r) = p (q r)..4 Metodom rezolucije dokazati da je sledeća formula tautologija (((p r) (q r)) (p q)) r..5 Metodom rezolucije dokazati da je sledeća formula tautologija: p (q r) ((p q) (p r))..6 Data je formula F: (p q) (q (r p)). Naći