Automatsko rezonovanje beleške sa predavanja Iskazno rezonovanje
|
|
- Βοανηργες Καλύβας
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Automatsko rezonovanje beleške sa predavanja Iskazno rezonovanje Filip Marić Matematički fakultet, Univerzitet u Beogradu Proletnji semestar 2018.
2 Uvod Pregled 1 Uvod 2 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. 3 Istinitosne tablice 4 Zamena 5 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). 6 DPLL procedura. 7 Metod iskazne rezolucija. DP procedura. 8 Metod tabloa 9 Deduktivni sistemi za iskaznu logiku 10 Kompaktnost
3 Uvod Bulova algebra logike Bulova algebra logike Iskazna logika je moderna verzija Bulove (George Bool ) algebre logike. Pre Bula, formalistički pristup je najprisutniji u algebri apstraktna algebra je uveliko razvijena. Bul uvida da je moguće algebarskim (pa čak aritmetičkim) izrazima označavati i logičke iskaze i uspostaviti formalni račun (nalik na algebarske račune) koji daje pravila operisanja sa ovako zapisanim tvrdenjima. Osnovni objekti su iskazi koji predstavljaju tvrdenja (koja mogu biti tačna ili netačna). Iskazi su atomički što govori o tome da se njihova unutrašnja struktura za sada ne analizira. Analiza unutrašnje strukture iskaza dovodi do bogatijih logika (npr. logike prvog reda).
4 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Pregled 1 Uvod 2 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. 3 Istinitosne tablice 4 Zamena 5 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). 6 DPLL procedura. 7 Metod iskazne rezolucija. DP procedura. 8 Metod tabloa 9 Deduktivni sistemi za iskaznu logiku 10 Kompaktnost
5 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa Sintaksa iskaznih formula Izrazi iskazne logike nazivaju se iskazne formule. Na nivou apstraktne sintakse, grade se od iskaza: logičkih konstanti i i iskaza (atoma, iskaznih slova, iskaznih promenljivih) primenom logičkih veznika (npr. i, ili, ne, ako... onda..., ako i samo ako,... ).
6 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa Sintaksa iskaznih formula U literaturi se koristi različita konkretna sintaksa za iskazne formule. Srpski Engleski Simbolički ASCII Još simbolički netačno false false 0, F tačno true true 1, T ne p not p p ~p p, p, p p i q p and q p q p/\q pq, p q, p&q p ili q p or q p q p\/q p + q, p q ako p onda q p implies q p q p==>q p q, p q p akko q p iff q p q p<=>q p q, p q, p q
7 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa Konkretna sintaksa iskaznih formula Definicija Neka je dat (najviše prebrojiv) skup atoma P. Skup iskaznih formula je najmanji skup reči nad azbukom P {,,,,,,, (, )} koji zadovoljava: iskazna slova i logičke konstante su iskazne formule, Ako je A iskazna formula, onda je i (A) iskazna formula. Ako su A i B iskazne formule, onda su i (A) (B), (A) (B), (A) (B) i (A) (B) iskazne formule.
8 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa Konkretna sintaksa iskaznih formula Alternativno, Definicija Neka je dat (najviše prebrojiv) skup atoma P. Skup iskaznih formula jednak je jeziku generisnom sledećom kontekstno slobodnom gramatikom: formula p (za svako p P) (formula) (formula) (formula) (formula) (formula) (formula) (formula) (formula) (formula)
9 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa Primeri iskaznih formula Primer ((p) (q)) ((r) ( (p))) (x 1 ) ((x 2 ) ((x 1 ) ( ((x1) ( (x 3 ))))))
10 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa Izostavljanje zagrada Iako odstupa od date definicije, uobičajeno je da se koristi konvencija da se zagrade u zapisu formula mogu izostaviti i to u skladu sa sledećim prioritetom operatora, od višeg ka nižem (,,,, ), sa levom asocijativnošću operatora i i desnom asocijativnošću operatora i. Zagrade oko pojedinačnih iskaznih slova se takode izostavljaju. Primer je skraćeni zapis za p p q q r s ((p) ((p) (q))) (((q) (r)) (s))
11 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa Literali Često se, kao elementarne, razmatraju veoma jednostavne formule: atomi i njihove negacije. Definicija Literal je ili atom (pozitivan literal) ili negacija atoma (negativan literal). Definicija Suprotan literal atoma p je njegova negacija p, dok je suprotan literal negaciji atoma p sam atom p. Suprotni literal literala l označavaćemo sa l.
12 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa reprezentacija u programskim jezicima Reprezentacija u programskim jezicima Za internu reprezentaciju formula u programskim jezicima mnogo je pogodnija apstraktna sintaksa. Apstraktna sintaksa razrešava dileme o prioritetima operatora. Dodatno, nekada se i različite asocijativnosti apstrahuju uvodenjem n-arnih umesto binarnih veznika i. Programi se obično dopunjuju modulima za parsiranje koji imaju zadatak da formule na ulazu zadate u nekoj konkretnoj sintaksi prevedu u internu apstraktnu reprezentaciju i modulima za lepo štampanje koji imaju zadatak da internu reprezentaciju prikažu u nekoj konkretnoj sintaksi. U programskim jezicima se iskazne formule mogu predstaviti kao korisnički definisan tip podataka koji odgovara njihovoj apstraktnoj sintaksi.
13 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa reprezentacija u programskim jezicima Funkcionalni jezici Funkcionalni jezici uglavnom imaju mogućnost direktnog definisanja algebarskih (najčešće rekurzivnih) tipova podataka. Npr. u jeziku Isabelle: datatype formula = TRUE FALSE Var nat Not formula And formula formula (infixl "And" 100) Or formula formula (infixl "Or" 100) Imp formula formula (infixl "Imp" 100) Iff formula formula (infixl "Iff" 100)
14 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa reprezentacija u programskim jezicima C enum formula_type {TRUE, FALSE, VAR, NOT, AND, OR, IMP, IFF}; typedef struct _formula { enum formula_type type; unsigned var_num; struct _formula* op1, op2; } formula; U svakom čvoru se ostavlja mogućnost smeštanja i relevantnih i nerelevantih podataka (npr. čvor NOT ne koristi var_num niti op2). Moguće su i,,štedljivije reprezentacije koje ne čuvaju u svakom čvoru sva moguća polja (koriste se obično unije).
15 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa reprezentacija u programskim jezicima C++ Svaki veznik se predstavlja zasebnom klasom, pri čemu sve klase nasleduju apstraktnu baznu klasu Formula. class Formula {...}; class False : public Formula {...}; class True : public Formula {...}; class Atom : public Formula {... private: unsigned var_num; };
16 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa reprezentacija u programskim jezicima C++ class UnaryConnective : public Formula {... private: Formula *_op1; }; class Not : public UnaryConnective {...}; class BinaryConnective : public Formula {... private: Formula *_op1, *_op2; }; class And : public BinaryConnective {...}; class Or : public BinaryConnective {...}; class Imp : public BinaryConnective {...}; class Iff : public BinaryConnective {...};
17 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa reprezentacija u programskim jezicima Unutrašnja struktura iskaza Iako se iskazna logika ne interesuje za unutrašnju strukturu iskaza, to ne znači da iskazi ne smeju da imaju nikakvu unutrašnju strukturu. Kako bi se omogućilo da se ista implementacija koristi i za iskaze bez unutrašnje strukture (iskazna slova) i za iskaze sa strukturom (npr. atomičke formule logike prvog reda), atomima je moguće ostaviti mogućnost da imaju neki dalji sadržaj.
18 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Sintaksa reprezentacija u programskim jezicima U funkcionalnom jeziku bi to izgledalo ovako: datatype a formula = TRUE FALSE Atom a Not " a formula" And " a formula" " a formula" (infixl "And" 100) Or " a formula" " a formula" (infixl "Or" 100) Imp " a formula" " a formula" (infixl "Imp" 100) Iff " a formula" " a formula" (infixl "Iff" 100) U C-u bi se umesto unsigned var_num mogao koristiti void* atom_content, a u C++-u bi, dodatno, sve klase mogli parametrizovati sa template <class AtomContent>.
19 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika Semantika iskazne logike S obzirom da iskazne formule predstavljaju iskaze (tvrdenja), njihova vrednost je istinosna i one mogu biti tačne ili netačne. Slično kao što algebarski izrazi (npr. x + y + 3) imaju vrednosti samo ako su poznate vrednosti promenljivih (npr. x i y), tako i iskazne formule imaju istinitosnu vrednost samo pod uslovom da je poznata istinitosna vrednost svih atoma (koji u njoj učestvuju).
20 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika Valuacije Valuacije odreduju istinitosne vrednosti atoma. Ključno pitanje je da li su dopuštene parcijalne valuacije tj. da li valuacija obavezno definiše vrednost svakog atoma. Moguće su različite definicije. Definicija Valuacija je funkcija koja sve atome preslikava u neki dvočlan skup (npr. {tačno, netačno}, {T, F }, {0, 1},... ). Skup {, }, se često izbegava kako bi se napravila jasna razlika izmedu sintaksnih simbola konstanti i semantičke vrednosti formule. Atom je tačan akko se preslikava u tačno (tj. T, 1,... ). Primer p 1, q 0, r 1,... Atomi p i r su tačani u ovoj valuaciji, q je netačan,...
21 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika Valuacije Definicija Valuacija je skup atoma. Atom je tačan akko pripada valuaciji. Primer {p, r} Atomi p i r su tačani u ovoj valuaciji, q je netačan,...
22 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika Valuacije Valuacije se ponekad definišu tako da direktno odreduju vrednosti literala (ne samo atoma). Definicija (Parcijalna) valuacija je skup literala, koji ne sadrži dva suprotna literala. Literal je tačan akko pripada valuaciji, netačan ako njemu suprotan literal pripada valuaciji, a nedefinisan inače. Primer {p, q, r} Atomi p i r su tačni, q je netačan. Dalje, npr. literal p je netačan, dok su literali s i s nedefinisani.
23 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika Zadovoljenje. Činjenicu da je formula F tačna u valuaciji v označavaćemo sa v F. Kažemo još i da valuacija v zadovoljava formulu F, da je valuacija v model formule F itd. Uslovi pod kojima važi v F definišu se rekurzivno po strukturi formule. Opet su moguće različite (medusobno ekvivalentne) definicije.
24 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika Definicija zadovoljenja Definicija Tačnost atoma je odredena definicijom valuacije. Konstanta je tačna u svakoj valuaciji (v ). Konstanta je netačna u svakoj valuaciji (v ). Formula oblika F je tačna u valuaciji v akko je formula F netačna u valuaciji v (tj. v F akko v F ). Formula oblika F 1 F 2 je tačna u valuaciji v akko su obe formule F 1 i F 2 tačne u valuaciji v (tj. v F 1 F 2 akko v F 1 i v F 2 ). Formula oblika F 1 F 2 je tačna u valuaciji v akko je bar jedna od formula F 1 i F 2 tačna u valuaciji v (tj. v F 1 F 2 akko v F 1 ili v F 2 ). Formula oblika F 1 F 2 je tačna u valuaciji v akko je formula F 1 netačna ili je formula F 2 tačna u valuaciji v (tj. v F 1 F 2 akko v F 1 ili v F 2 ). Formula oblika F 1 F 2 je tačna u valuaciji v akko su formule F 1 i F 2 istovremeno tačne ili istovremeno netačne u valuaciji v (tj. v F 1 F 2 akko v F 1 i v F 2 ili v F 1 i v F 2 ).
25 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika Vrednost formule Zadovoljenje (tj. tačnost) je moguće definisati i preko funkcije koja računa istinitosnu vrednost formule u datoj valuaciji. Funkciju I v koja iskazne formule preslikava u skup istinitosnih vrednosti {0, 1}, definišemo rekurzivno na sledeći način. Definicija I v (p) = 1 akko v p. I v ( ) = 1, I v ( ) = 0; I v ( F ) = 1 akko je I v (F ) = 0; I v (F 1 F 2 ) = 1 akko je I v (F 1 ) = 1 i I v (F 2 ) = 1. I v (F 1 F 2 ) = 1 akko je I v (F 1 ) = 1 ili I v (F 2 ) = 1. I v (F 1 F 2 ) = 1 akko je I v (F 1 ) = 0 ili I v (F 2 ) = 1. I v (F 1 F 2 ) = 1 akko je I v (F 1 ) = I v (F 2 ). Važi v F akko je I v (F ) = 1.
26 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika Odnos objektne i meta logike u prethodnim definicijama Primetimo da prethodne definicije definišu značenje npr. konjunkcije ( ), (opet?) korišćenjem konjunkcije (i). Ono što na prvi pogled deluje kao začarani krug, u suštini to nije. Naime, iskazna logika se ovde definiše u okviru šireg logičkog okvira metalogike, koja je u ovom slučaju (neformalna) logika višeg reda izražena govornim jezikom. Veznik pripada objektnoj, iskaznoj logici, dok je veznik i u ovom slučaju veznik koji pripada metalogici.
27 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika predstavljanje u programskim jezicima Istinitosna vrednost u funkcionalnom jeziku Naredni kod implementira funkciju I v (F ) (kroz funkciju eval F v). primrec eval ::" a formula => ( a => bool) => bool" where "eval FALSE v = False" "eval TRUE v = True" "eval (Atom x) v = v x" "eval (Not F) v = (~ eval F v)" "eval (F1 And F2) v = (eval F1 v /\ eval F2 v)" "eval (F1 Or F2) v = (eval F1 v \/ eval F2 v)" "eval (F1 Imp F2) v = (eval F1 v --> eval F2 v)" "eval (F1 Iff F2) v = (eval F1 v = eval F2 v)"
28 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika predstavljanje u programskim jezicima Istinitosna vrednost u C-u int eval(formula* F, int (*v) (unsigned)) { switch(f->type) { case TRUE: return 1; case FALSE: return 0; case VAR: return (*v)(f->var_num); case NOT: return!eval(f->op1, v); case AND: return eval(f->op1, v) && eval(f->op2, v); case OR: return eval(f->op1, v) eval(f->op2, v); case IMP: return!eval(f->op1, v) eval(f->op2, v); case IFF: return eval(f->op1, v) == eval(f->op2, v); } }
29 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika predstavljanje u programskim jezicima Istinitosna vrednost u C++-u class Formula { public:... virtual bool eval(bool (*v) (unsigned)) = 0; }; bool True::eval(bool (*v)(unsinged)) { return true; } bool False::eval(bool (*v)(unsinged)) { return false; } bool Var::eval(bool (*v)(unsinged)) { return (*v)(_var_num); } bool Not::eval(bool (*v)(unsinged)) { return!_op1->eval(v); } bool And::eval(bool (*v)(unsinged)) { return _op1->eval(v) && _op2->eval(v); } bool Or::eval(bool (*v)(unsinged)) { return _op1->eval(v) _op2->eval(v); } bool Imp::eval(bool (*v)(unsinged)) { return!_op1->eval(v) _op2->eval(v); } bool Iff::eval(bool (*v)(unsinged)) { return _op1->eval(v) == _op2->eval(v); }
30 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika predstavljanje u programskim jezicima Predstavljanje valuacije rečnikom Prethodni kod koristi pokazivače na funkcije za predstavljanje valuacija Ako su valuacije predstavljene funkcijama, ne mogu se dinamički kreirati i menjati. Mnogo je pogodnije valuacije predstaviti kroz rečničke strukture podataka (npr. mape). Dodatno, ukoliko je domen konačan, a atomi kodirani samo rednim brojevima, moguće je čak koristiti obične nizove (ili vektore). class Formula { public:... virtual bool eval(const std::map<unsigned, bool>& v) = 0; };... bool Var::eval(const std::map<unsigned, bool>& v) { return v[_var_num]; }
31 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika predstavljanje u programskim jezicima Predstavljanje valuacija Naravno, najbolje je predstaviti valuacije zasebnom klasom sa operatorima za čitanje i postavljanje vrednosti atoma. class Valuation { public: bool operator[](unsinged p) const; bool& operator[](unsinged p); private:... }; Ukoliko se želi proširiti unutrašnja reprezentacija atoma sa celobrojnog indeksa na nešto šire, ova klasa se može parametrizovati.
32 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Semantika predstavljanje u programskim jezicima Primer implementacije valuacije class Valuation { public: bool operator[](unsinged p) const { std::map<unsigned, bool>::const_iterator it = _m.find(p); if (it == _m.end()) throw "Valuation lookup error"; return it->second; } bool& operator[](unsinged p) { _m[p]; } private: std::map<unsigned, bool> _m; };
33 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Zadovoljivost, nezadovoljivost, tautologičnost, porecivost Zadovoljivost, nezadovoljivost, tautologičnost, porecivost U algebri, neki izrazi su tačni bez obzira kako im se dodele vrednosti promenljivih (npr. x 2 y 2 = (x + y)(x y)), neki su tačni samo za neke vrednosti promenljivih (npr. x 2 + 2x + 1 = 0), a neki ni za koje vrednosti promenljivih (npr. x 2 + 2x + 2 = 0). Slična klasifikacija važi i za iskazne formule. Definicija Formula je zadovoljiva ako ima bar jedan model. Formula je nezadovoljiva (kontradikcija) ako nema nijedan model. Formula je tautologija (logički valjana) ako joj je svaka valuacija model. Formula je poreciva ako postoji valuacija koja joj nije model.
34 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Zadovoljenost skupa formula Model skupa formula U nekim slučajevima, potrebno je da je više formula istovremeno zadovoljeno. Definicija Valuacija v zadovoljava skup formula tj. predstavlja model skupa formula Γ (što označavamo sa v Γ) akko je v model svake formule iz Γ. Skup formula je zadovoljiv akko ima model. Obratiti pažnju da se traži da postoji jedna valuacija koja istovremeno zadovoljava sve formule.
35 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Logičke posledice, ekvivalentne formule, ekvizadovoljive formule Logičke posledice, ekvivalentne formule, ekvizadovoljive formule Definicija Formula F je logička posledica skupa formula Γ (što označavamo sa Γ F ) akko je svaki model za skup Γ istovremeno i model za formulu F. Formule F 1 i F 2 su logički ekvivalentne (što označavamo sa F 1 F 2 ) ako je svaki model formule F 1 ujedno model formule F 2 i obratno (tj. ako A B i B A). Formule F 1 i F 2 su ekvizadovoljive (slabo ekvivalentne) (što označavamo sa F 1 s F 2 ) akko je F 1 zadovoljiva ako i samo ako je F 2 zadovoljiva.
36 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Logičke posledice, ekvivalentne formule, ekvizadovoljive formule Primeri Primer Formula p je logička posledica formule p q. Zaista za svaku valuaciju v za koju važi v p q, važi i v p. Formula p q nije logička posledica formule p q, iako valuacija v = {p, q} zadovoljava obe. Npr. valuacija v = {p, q} zadovoljava p q, ali ne i p q. Formule p q i q p su logički ekvivalentne. Formule p q i r (r p q) su ekvizadovoljive (obe su zadovoljive), ali nisu ekvivalentne. Npr. valuacija v = {p, q, r} zadovoljava prvu, ali ne i drugu.
37 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. Logičke posledice, ekvivalentne formule, ekvizadovoljive formule Stav F 1,..., F n F akko je F 1... F n F tautologija. Γ, F F akko Γ F F. F F akko je F F tautologija. Ako je F 1 F 1 i F 2 F 2 tada je i F 1 F 1, F 1 F 2 F 1 F 2, F 1 F 2 F 1 F 2, F 1 F 2 F 1 F 2, i F 1 F 2 F 1 F 2.
38 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. SAT problem SAT problem Ispitivanje zadovoljivosti iskazne formule naziva se SAT problem. Centralni problem teorijskog računarstva. SAT je prvi problem za koji je dokazano da je NP kompletan. Ogromne praktične primene.
39 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. SAT problem Problem ispitivanja tautologičnosti, lako se svodi na SAT. Stav Svaka tautologija je zadovoljiva. Svaka nezadovoljiva formula je poreciva. Formula je poreciva akko nije tautologija. Formula je nezadovoljiva akko nije zadovoljiva. Formula F je tautologija akko je F nezadovoljiva. Formula F je zadovoljiva akko je F poreciva.
40 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. SAT problem Pristupi rešavanja SAT problema Naivni metodi (metod istinitosnih tablica). Problem se tehnički jednostavnije rešava ako je formula u nekom od specijalnih oblika (DNF, KNF, BDD). Za DNF se zadovoljivost trivijalno ispituje, ali je postupak prevodenja u DNF netrivijalan. Slično je i sa BDD. Postoji efikasan postupak prevodenja formule u KNF (doduše koji ne čuva ekvivalentnost, ali čuva zadovoljivost). Zadovoljivost formula u KNF se dalje ispituje nekim od tzv. klauzalnih algoritama. DP procedura (iskazna rezolucija) DPLL procedura CDCL SAT rešavači (unapredena DPLL procedura) Stohastički SAT rešavači (zasnovani na randomizaciji ne garantuju uvek definitivan odgovor). O većini navedenih pristupa biće reči u okviru kursa.
41 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. SAT problem Svojstva sistema (za ispitivanje (ne)zadovoljivosti) Poželjna svojstva svakog sistema za ispitivanje (ne)zadovoljivosti: Zaustavljanje Za svaku ulaznu formulu, sistem se zaustavlja nakon primene konačno mnogo koraka. Saglasnost Ako sistem prijavi nezadovoljivost, polazna formula je zaista nezadovoljiva. Potpunost Ako je polazna formula nezadovoljiva, sistem će prijaviti nezadovoljivost.
42 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. SAT problem Svojstva sistema (za dokazivanje) O sistemima za dokazivanje će biti više reči u nastavku kursa, medutim, i oni imaju veoma slična poželjna svojstva: Zaustavljanje Za svaku ulaznu formulu, sistem se zaustavlja nakon primene konačno mnogo koraka. Saglasnost Ako sistem pronade dokaz neke formule, polazna formula je zaista semantička posledica aksioma. Potpunost Ako je polazna formula semantička posledica aksioma, sistem će pronaći dokaz.
43 Istinitosne tablice Pregled 1 Uvod 2 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. 3 Istinitosne tablice 4 Zamena 5 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). 6 DPLL procedura. 7 Metod iskazne rezolucija. DP procedura. 8 Metod tabloa 9 Deduktivni sistemi za iskaznu logiku 10 Kompaktnost
44 Istinitosne tablice Svodenje na ispitivanje konačno mnogo valuacija Vrednost formule je odredena vrednošću njenih atoma Stav Ako je skup atoma beskonačan (a najčešće uzimamo da je prebrojiv) postoji beskonačno (čak neprebrojivo) mnogo različitih valuacija. Skup atoma koji se javljaju u formuli je konačan. Ukoliko se dve valuacije poklapaju na skupu atoma koji se javlja u nekoj formuli, istinitosna vrednost formule u obe valuacije je jednaka. Za ispitivanje tautologičnosti (zadovoljivosti,... ) formule dovoljno je ispitati konačno mnogo (parcijalnih) valuacija (ako je n broj različitih atoma u formuli, onda je dovoljno ispitati 2 n različitih valuacija).
45 Istinitosne tablice Primer Istinitosna tablica primer Primer (p (q r)) ( p r)
46 Istinitosne tablice Implementacija u programskim jezicima Skup atoma formule u C++-u Naredni C++ kôd izračunava skup atoma (iskaznih promenljivih) koje se javljaju u formuli. class Formula { virtual void atoms(set<unsigned>& ats) = 0; }; void True::atoms(set<unsigned>& ats) {} void False::atoms(set<unsigned>>& ats) {} void Var::atoms(set<unsigned>& ats) { ats.insert(_var_num); } void UnaryConnective::atoms(set<unsigned>>& ats) { op1->atoms(ats); } void BinaryConnective::atoms(set<unsigned>& ats) { op1->atoms(ats); op2->atoms(ats); }
47 Istinitosne tablice Implementacija u programskim jezicima Skup atoma formule u funkcionalnom jeziku U funkcionalnom jeziku, pogodno je definisati i apstraktni funkcional koji obilazi formulu primenjujući datu funkciju na sve atome i akumulirajući rezultat. fun overatoms where "overatoms f FALSE b = b" "overatoms f TRUE b = b" "overatoms f (Atom a) b = f a b " "overatoms f (Not F) b = overatoms f F b" "overatoms f (F1 And F2) b = overatoms f F1 (overatoms f F2 b)" "overatoms f (F1 Or F2) b = overatoms f F1 (overatoms f F2 b)" "overatoms f (F1 Imp F2) b = overatoms f F1 (overatoms f F2 b)" "overatoms f (F1 Iff F2) b = overatoms f F1 (overatoms f F2 b)" definition atoms where "atoms F = remdups (overatoms (op#) F [])"
48 Istinitosne tablice Implementacija u programskim jezicima Generisanje svih valuacija (varijacija) Kako nabrojati sve valuacije za dati skup atoma? Rekurzivno rešenje u funkcionalnom programskom jeziku. primrec allvaluations where "allvaluations [] v l = v # l" "allvaluations (p#ps) v l = (allvaluations ps (v (p := False)) (allvaluations ps (v (p := True)) l)"
49 Istinitosne tablice Implementacija u programskim jezicima Generisanje svih valuacija (varijacija) Rekurzivno rešenje u C++-u. void allvaluations( std::set<unsigned>::const_iterator atoms_begin, std::set<unsigned>::const_iterator atoms_end, Valuation& v, std::vector<valuation>& res) { if (atoms_begin == atoms_end) res.push_back(v); else { unsinged p = *atoms_begin; std::set<unsigned>::const_iterator atoms_next = ++atoms_begin; v[p] = false; allvaluations(atoms_next, atoms_end, v, res); v[p] = true; allvaluations(atoms_next, atoms_end, v, res); } }
50 Istinitosne tablice Implementacija u programskim jezicima Štampanje tablice istinitosti void truth_table(formula* f) { std::set<atomcontent> ats; f->atoms(ats); Valuation v; std::vector<valuation> vals; allvaluations(ats.begin(), ats.end(), v, vals); } std::vector<valuation>::const_iterator it; for (it = vals.begin(); it!= vals.end(); it++) std::cout << *it << " " << f->eval(*it) << std::endl;
51 Istinitosne tablice Implementacija u programskim jezicima Generisanje leksikografski sledeće (valuacije) varijacije Leksikografski redosled Sledeća varijacija se može dobiti tako što se invertuje cifra po cifra od pozadi sve dok se ne invertuje prva nula ili se ne iscrpu sve cifre (u slučaju svih jedinica). Npr
52 Istinitosne tablice Implementacija u programskim jezicima Generisanje leksikografski sledeće (valuacije) varijacije class Valuation {... void init(const std::set<unsigned>& ats) { std::set<unsigned>::const_iterator it; for (it = ats.begin(); it!= ats.end(); it++) (*this)[*it] = false; } bool next() { std::map<unsigned, bool>::reverse_iterator it; for (it = _m.rbegin(); it!= _m.rend(); it++) { it->second =!it->second; if (it->second == true) return true; } return false; } };
53 Istinitosne tablice Implementacija u programskim jezicima Provera da li je formula tautologija Ovim se dolazi do iterativne funkcije kojom se proverava da li je formula tautolgija. bool tautology(formula* f) { std::set<unsigned> ats; f->atoms(ats); Valuation v; v.init(ats); do { if (f->eval(v) == false) return false; } while (v.next()); return true; }
54 Istinitosne tablice Implementacija u programskim jezicima Provera da li je formula zadovoljiva Slično, dolazi se i do iterativne funkcije kojom se proverava da li je formula zadovoljiva. bool sat(formula* f) { std::set<unsigned> ats; f->atoms(ats); Valuation v; v.init(ats); do { if (f->eval(v) == true) return true; } while (v.next()); return false; }
55 Zamena Pregled 1 Uvod 2 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. 3 Istinitosne tablice 4 Zamena 5 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). 6 DPLL procedura. 7 Metod iskazne rezolucija. DP procedura. 8 Metod tabloa 9 Deduktivni sistemi za iskaznu logiku 10 Kompaktnost
56 Zamena Zamena Definicija Formula G[F F ] je zamena formule F formulom F u formuli G i konstruiše se tako što se sva pojavljivanja potformule F u okviru neke formule G zamenjuju sa F. Primer Ako u formuli (p q) r (p q), zamenjujemo p q sa p q, dobija se formula: ( p q) r ( p q).
57 Zamena Implementacija zamene Zamena u funkcionalnom jeziku fun subst :: " a formula => a formula => a formula => a formula" where "subst F Pat Subst = (if F = Pat then Subst else (case F of TRUE => TRUE FALSE => FALSE Atom p => Atom p Not F => Not (subst F Pat Subst) F1 And F2 => (subst F1 Pat Subst) And (subst F2 Pat Subst) F1 Or F2 => (subst F1 Pat Subst) Or (subst F2 Pat Subst) F1 Imp F2 => (subst F1 Pat Subst) Imp (subst F2 Pat Subst) F1 Iff F2 => (subst F1 Pat Subst) Iff (subst F2 Pat Subst) ))"
58 Zamena Svojstva zamene teorema o zameni Svojstva zamene Stav Ako je x atom, p i q formule, v valuacija, a v valuacija koja se dobija postavljanjem vrednosti x na I v (q) u valuaciji v, onda je I v (p[x q]) = I v (p). Ako je p atom, F proizvoljna formula, a formula G je tautologija, onda je G[p F ] tautologija. Ako je F F, onda je G[F F ] G.
59 Zamena Svojstva zamene teorema o zameni Svojstva zamene primeri Primer Vrednost formule p (q r) u valuaciji v = { p, q, r} jednaka je vrednosti formule p x u valuaciji v = { p, q, r, x}. Atom x je tačan u v jer je q r tačno u v. p q q p je tautologija, pa je i (r s) (s r) (s r) (r s) tautologija. p q q p pa je i r (p q) r (q p).
60 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Pregled 1 Uvod 2 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. 3 Istinitosne tablice 4 Zamena 5 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). 6 DPLL procedura. 7 Metod iskazne rezolucija. DP procedura. 8 Metod tabloa 9 Deduktivni sistemi za iskaznu logiku 10 Kompaktnost
61 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Pojam normalne forme Normalne forme Odredenim transformacijama algebarski izrazi se svode na oblike pogodnije za odredene zadatke. Primer Npr. (x + y)(y x) + y + x 2 se svodi na y 2 + y. x 3 + x 2 y + xy + z je,,razvijeni oblik polinoma pogodno npr. za sabiranje dva polinoma (x + 1)(y + 2)(z + 3) je,,faktorisani oblik polinoma pogodno npr. za odredivanje nula polinoma Slično se radi i u slučaju logičkih izraza. Transformacije formula predstavljaju sintaksne operacije, pri čemu se obično zahteva njihova semantička opravdanost (tj. da se nakon primene transformacija dobijaju formule ekvivalentne polaznim).
62 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Pojam normalne forme Pristupi rešavanja SAT problema Naivni metodi (metod istinitosnih tablica). Problem se tehnički jednostavnije rešava ako je formula u nekom od specijalnih oblika (DNF, KNF, BDD). Za DNF se zadovoljivost trivijalno ispituje, ali je postupak prevodenja u DNF netrivijalan. Slično je i sa BDD. Postoji efikasan postupak prevodenja formule u KNF (doduše koji ne čuva ekvivalentnost, ali čuva zadovoljivost). Zadovoljivost formula u KNF se dalje ispituje nekim od tzv. klauzalnih algoritama. DP procedura (iskazna rezolucija) DPLL procedura CDCL SAT rešavači (unapredena DPLL procedura) Stohastički SAT rešavači (zasnovani na randomizaciji ne garantuju uvek definitivan odgovor).
63 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Transformacije prezapisivanjem Prezapisivanje Transformacije kojima se formule uprošćavaju i svode na normalne forme se često formulišu u terminima sistema za prezapisivanje (više o ovome u nastavku kursa). Primer Npr. ako se pravilo (X Y )(X + Y ) = X 2 Y 2 primeni na izraz a + (b c)(b + c) a(d b), dobija se izraz a + b 2 c 2 a(d b). Ako se pravilo (X Y ) X Y primeni na izraz p (q r), dobija se izraz p ( q r). Ukoliko pravilo podrazumeva zamenu neke podformule njoj ekvivalentnom formulom, semantička opravdanost njegove primene u principu sledi na osnovu teoreme o zameni.
64 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Eliminisanje konstanti Eliminisanje konstanti Naredne logičke ekvivalencije mogu se upotrebiti za uprošćavanje formule eliminisanjem logičkih konstanti (preciznije, eliminišu se veznici koji se primenjuju na logičke konstante): P P P P P P P P P P P P P P P P P P P P P P P P P P
65 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Eliminisanje konstanti Implementacija u funkcionalnom jeziku fun psimplify1 where "psimplify1 (Not FALSE) = TRUE" "psimplify1 (Not TRUE) = FALSE" "psimplify1 (F And TRUE) = F" "psimplify1 (F And FALSE) = FALSE" "psimplify1 (TRUE And F) = F" "psimplify1 (FALSE And F) = FALSE"... "psimplify1 F = F" primrec psimplify where "psimplify FALSE = FALSE" "psimplify TRUE = TRUE" "psimplify (Atom a) = Atom a" "psimplify (Not F) = psimplify1 (Not (psimplify F))" "psimplify (F1 And F2) = psimplify1 ((psimplify F1) And (psimplify F2))" "psimplify (F1 Or F2) = psimplify1 ((psimplify F1) Or (psimplify F2))" "psimplify (F1 Imp F2) = psimplify1 ((psimplify F1) Imp (psimplify F2))" "psimplify (F1 Iff F2) = psimplify1 ((psimplify F1) Iff (psimplify F2))"
66 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Eliminisanje konstanti Eliminacija konstanti Primer Uprošćavanjem formule ( (x )) (y ( z)) dobija se x y
67 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). NNF NNF Definicija NNF Formula je u negacionoj normalnoj formi (NNF) akko je sastavljena od literala korišćenjem isključivo veznika i ili je logička konstanta ( ili ). Primer Formule,, p, p q i p (q ( r) s) su u NNF, dok p i p (q r) to nisu.
68 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). NNF Uklanjanje implikacija i ekvivalencija P Q P Q (P Q) P Q P Q (P Q) ( P Q) (P Q) (P Q) ( P Q) ili P Q (P Q) ( P Q) (P Q) (P Q) ( P Q)
69 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). NNF Spuštanje negacije (P Q) P Q (P Q) P Q P P
70 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). NNF Implementacija u funkcionalnom programskom jeziku fun nnf :: " a formula => a formula" where "nnf FALSE = FALSE" "nnf TRUE = TRUE" "nnf (Atom p) = Atom p" "nnf (p And q) = (nnf p) And (nnf q)" "nnf (p Or q) = (nnf p) Or (nnf q)" "nnf (p Imp q) = (nnf (Not p)) Or (nnf q)" "nnf (p Iff q) = ((nnf p) And (nnf q)) Or ((nnf (Not p)) And (nnf (Not q)))" "nnf (Not F) = (case F of Not p => nnf p p And q => (nnf (Not p)) Or (nnf (Not q)) p Or q => (nnf (Not p)) And (nnf (Not q)) p Imp q => (nnf p) And (nnf (Not q)) p Iff q => ((nnf p) And (nnf (Not q))) Or ((nnf (Not p)) And (nnf q)) _ => (Not F) )" definition nnf :: " a formula => a formula" where "nnf f = nnf (psimplify f)"
71 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). NNF NNF Primer NNF [(p q) (r s)] NNF [p q] NNF [ (r s)] NNF [ (p q)] NNF [ (r s)] (p q) ( p q) (r s) ((p q) ( p q)) ( r s)
72 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). NNF Složenost NNF transformacije Zahvaljujući uvećanju formule prilikom eliminacije ekvivalencije, u najgorem slučaju, NNF formule sa n veznika može da sadrži više od 2 n veznika. Ukoliko je samo cilj da se negacija spusti do nivoa atoma, i ne insistira na potpunoj izgradnji NNF, tj. ako se dopusti zadržavanje ekvivalencija u formuli, moguće je izbeći eksponencijalno uvećanje. Negacija se može spustiti kroz ekvivalenciju na osnovu npr. (p q) p q.
73 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF DNF Definicija Formula je u disjunktivnoj normalnoj formi (DNF) ako je oblika D 1... D N, pri čemu je svaki disjunkt D i oblika l i1... l imi, pri čemu su l ij literali, tj. oblika je N m i i=1 j=1 l ij Ako je formula u DNF ona je i u NNF, uz dodatno ograničenje da je,,disjunkcija konjunkcija.
74 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF KNF Definicija Formula je u konjunktivnoj normalnoj formi (KNF) 1 ako je oblika K 1... K N, pri čemu je svaki konjunkt K i klauza, tj. oblika l i1... l imi, pri čemu su l ij literali, tj. oblika je N m i i=1 j=1 l ij Ako je formula u KNF ona je i u NNF, uz dodatno ograničenje da je,,konjunkcija disjunkcija. 1 eng. CNF (Conjunctive Normal Form)
75 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF KNF i DNF date formule Definicija Za formulu F kažemo da je DNF (KNF) formule F akko je F u DNF (KNF) i važi F F. Stav Svaka formula ima DNF (KNF). Naglasimo da postoji više različitih DNF (KNF) za istu polaznu formulu. Tretman konstanti i je specifičan neke definicije dopuštaju da su konstante u DNF (KNF). S druge strane, nekada se uzima da je p p DNF za, a da je p p KNF za.
76 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF Reprezentacija pomoću lista (skupova) Klasična definicija DNF i KNF nije precizna veznici i se obično definišu kao binarni, a onda najednom tretiraju kao n-arni (čak nekad i 0-arni). S obzirom na specijalnu strukturu, DNF i KNF formule je pogodno u posmatrati kao listu klauza, pri čemu se klauze opet predstavljaju kao liste literala. Npr. (p q) (q r s) se može predstaviti kao [[p, q], [q, r, s]]. S obzirom da se ponavljanja klauza i literala mogu ukloniti uz zadržavanje logičke ekvivalentnosti (na osnovu P P P i P P P), kao i da redosled klauza nije bitan (na osnovu P Q Q P i P Q Q P), umesto lista se mogu koristiti skupovi literala, odnosno skupovi skupova literala. Npr. {{p, q}, {q, r, s}}.
77 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF Konverzija lista (skupova) u formule Prilikom prevodenja u konjunkciju, elementi liste se povežu veznikom, osim u specijalnom slučaju prazne liste koja se prevodi u. Prilikom prevodenja u disjunkciju, elementi liste se povežu veznikom, osim u specijalnom slučaju prazne liste koja se prevodi u. primrec fold1 where "fold1 f (h # t) = (if t = [] then h else f h (fold1 f t))" definition list_disj :: " a formula list => a formula" where "list_disj l = (if l = [] then FALSE else fold1 mk_or l)" definition list_conj :: " a formula list => a formula" where "list_conj l = (if l = [] then TRUE else fold1 mk_and l)" definition dnf2form :: " a formula list list => a formula" where "dnf2form l = list_disj (map list_conj l)" definition cnf2form :: " a formula list list => a formula" where "cnf2form l = list_conj (map list_disj l)"
78 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF DIMACS CNF Primer DIMACS CNF Standardni format zapisa KNF formula u tekstualne datoteke. Koristi se kao ulaz SAT rešavača. p cnf (x 1 x 2 ) ( x 2 x 3 ) ( x 1 x 2 x 3 ) x 3
79 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF prezapisivanjem na osnovu zakona distributivnosti Prevodenje prezapisivanjem distributivnosti NNF formula se može prevesti u DNF primenom logičkih ekvivalencija P (Q R) (P Q) (P R) (Q R) P (Q P) (R P) NNF formula se može prevesti u KNF primenom logičkih ekvivalencija P (Q R) (P Q) (P R) (Q R) P (Q P) (R P) Korektnost ove procedure se zasniva na teoremi o zameni.
80 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF prezapisivanjem na osnovu zakona distributivnosti Implementacija u funkcionalnom jeziku fun distribdnf :: " a formula => formula" where "distribdnf (p And (q Or r)) = (distribdnf (p And q)) Or (distribdnf (p And r))" "distribdnf ((p Or q) And r) = (distribdnf (p And r)) Or (distribdnf (q And r))" "distribdnf F = F" fun rawdnf :: " a formula => a formula" where "rawdnf (p And q) = distribdnf ((rawdnf p) And (rawdnf q))" "rawdnf (p Or q) = (rawdnf p) Or (rawdnf q)" "rawdnf F = F"
81 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF prezapisivanjem na osnovu zakona distributivnosti Primer Primer rawdnf [(p (q r)) ( p r)] distribdnf [rawdnf [p (q r)] rawdnf [ p r]] distribdnf [(rawdnf [p] rawdnf [q r]) (rawdnf [ p] rawdnf [ r])] distribdnf [(p distribdnf [q r]) ( p r)] distribdnf [(p (q r)) ( p r)] (p p) (q r p) (p r) (q r r) Primetimo da se dobijena DNF može dalje uprostiti (npr. p p, kao i q r r su logički ekvivalentne sa i mogu se ukloniti).
82 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF prezapisivanjem na osnovu zakona distributivnosti Implementacija DNF za reprezentaciju u obliku lista definition distrib where "distrib l1 l2 = map (% (x, y). y) (allpairs l1 l2)" fun purednf :: " a formula => a formula list list" where "purednf (p And q) = distrib (purednf p) (purednf q)" "purednf (p Or q) = (purednf (purednf q)" "purednf F = [[F]]" definition trivial where "trivial l == let pos = filter positive l; neg = filter negative l in intersect pos (map negate neg) ~= []" fun simpdnf :: " a formula => a formula list list" where "simpdnf FALSE = []" "simpdnf TRUE = [[]]" "simpdnf F = filter (% c.!trivial c) (purednf (nnf F))" definition "dnf F = dnf2form (simpdnf F)"
83 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). DNF i KNF prezapisivanjem na osnovu zakona distributivnosti Implementacija KNF za reprezentaciju u obliku lista Za izgradnju KNF procedure može (naravno, ne mora) se iskoristiti dualnost. m n p akko p i=1 j=1 m n i=1 j=1 p ij p ij definition "purecnf F = map (map negate) (purednf (nnf (Not F)))" fun simpcnf :: " a formula => a formula list list" where "simpcnf FALSE = [[]]" "simpcnf TRUE = []" "simpdnf F = filter (% c.!trivial c) (purecnf F)" definition "dnf F = cnf2form (simpdnf F)"
84 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Kanonski DNF i KNF veza sa istinitosnim tablicama Veza izmedu DNF i istinitosnih tablica Definicija Ako je data formula F koja nije kontradikcija, i koja sadrži atome p 1,..., p n, njena kanonska DNF je v F i=1 n pi v, pri čemu je p v i = { pi ako v p i p i inače
85 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Kanonski DNF i KNF veza sa istinitosnim tablicama Veza izmedu KNF i istinitosnih tablica Definicija Ako je data formula F koja nije tautologija, i koja sadrži atome p 1,..., p n, njena kanonska KNF je v F i=1 n pi ˆv, pri čemu je { pi ˆv pi ako v p = i inače p i
86 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Kanonski DNF i KNF veza sa istinitosnim tablicama Kanonska DNF/KNF - primer p q r (p (q r)) ( p r) Kanonska DNF: ( p q r) (p q r) (p q r) Kanonska KNF: (p q r) (p q r) (p q r) ( p q r) ( p q r)
87 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Minimalizacija DNF i KNF Minimalizacija DNF (KNF) Postoje tehnike koje minimalizuju DNF (ili KNF). Algebarske transformacije Karnoove (Karnaugh) mape Kvin-MekKlaski (QuineMcCluskey) algoritam (prosti implikanti)
88 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Složenost DNF i KNF procedura Složenost DNF i KNF procedura S obzirom da se baziraju na NNF, jasno je da distributivne DNF i KNF mogu eksponencijalno da uvećaju formulu. Takode, i pravila distributivnosti sama za sebe doprinose eksponencijalnom uvećavanju. Npr. prevodenje (p 1 q 1 )... (p n q n ) u KNF ima 2 n klauza. Slično, i kanonske DNF i KNF mogu da budu eksponencijalno velike u odnosu na polaznu formulu. Ovakvo uvećanje je neizbežno ako se insistira da dobijena formula bude ekvivalentna polaznoj. Navedene činjenice čine sve prethodno navedene tehnike neupotrebljive u većini praktičnih zadataka velike dimenzije.
89 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Složenost DNF i KNF procedura Pristupi rešavanja SAT problema Naivni metodi (metod istinitosnih tablica). Problem se tehnički jednostavnije rešava ako je formula u nekom od specijalnih oblika (DNF, KNF, BDD). Za DNF se zadovoljivost trivijalno ispituje, ali je postupak prevodenja u DNF netrivijalan. Slično je i sa BDD. Postoji efikasan postupak prevodenja formule u KNF (doduše koji ne čuva ekvivalentnost, ali čuva zadovoljivost). Zadovoljivost formula u KNF se dalje ispituje nekim od tzv. klauzalnih algoritama. DP procedura (iskazna rezolucija) DPLL procedura CDCL SAT rešavači (unapredena DPLL procedura) Stohastički SAT rešavači (zasnovani na randomizaciji ne garantuju uvek definitivan odgovor).
90 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Definiciona (Cajtinova) KNF Definiciona (Cajtinova) KNF U većini primena, nije neophodno da KNF bude logički ekvivalentna polaznoj dovoljno je da bude ekvizadovoljiva. Ekvizadovoljiva KNF se može izgraditi tako da dobijena formula bude samo za konstantni faktor veća od polazne. Dualno, postoji definiciona DNF koja je ekvivalidna polaznoj.
91 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Definiciona (Cajtinova) KNF Definiciona (Cajtinova) KNF Primer Ideja potiče od Cajtina (Tseitin) za potformule uvode se novi atomi (iskazna slova). (p (q r)) ( p r) (p s 1 ) ( p r) (s 1 q r) s 2 ( p r) (s 1 q r) (s 2 p s 1 ) s 2 s 3 (s 1 q r) (s 2 p s 1 ) (s 3 p r) s 4 (s 1 q r) (s 2 p s 1 ) (s 3 p r) (s 4 s 2 s 3 )
92 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Definiciona (Cajtinova) KNF Definiciona (Cajtinova) KNF Primer Definicione ekvivalencije se klasično prevode u KNF s 4 (s 1 q r) (s 2 p s 1 ) (s 3 p r) (s 4 s 2 s 3 ) s 4 ( s 1 q) ( s 1 r) ( q r s 1 ) ( s 2 p s 1 ) ( p s 2 ) ( s 1 s 2 ) ( s 3 p r) (p s 3 ) (r s 3 ) ( s 4 s 2 ) ( s 4 s 3 ) ( s 2 s 3 s 4 )
93 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Definiciona (Cajtinova) KNF Definiciona KNF implementacija function maincnf and defstep where "maincnf F defs n = (case F of F1 And F2 => defstep mk_and F1 F2 defs n F1 Or F2 => defstep mk_or F1 F2 defs n F1 Imp F2 => defstep mk_imp F1 F2 defs n _ => (F, defs, n))" "defstep ope p q defs n = (let (a1, defs1, n1) = maincnf p defs n; (a2, defs2, n2) = maincnf q defs1 n1; F = ope a1 a2; (a, n3) = mk_prop n2 in (a, [(a, F)], n3) )" definition defcnf where "defcnf F == let (F, defs, _) = maincnf (F, [], 1); l = concat (map simpcnf (F # (map (% (a, F). (a Iff F)) defs))) in cnf2form l"
94 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). Definiciona (Cajtinova) KNF Ekvizadovoljivost definicione KNF Teorema Ako se s i ne javlja u q tada su p[s i q] i p (s i q) ekvizadovoljive. Preciznije, svaki model za p[s i q] se može proširiti do modela za p (s i q) dok je svaki model za p (s i q) ujedno i model za p[s i q]. Dokaz Neka v p[s i q]. Posmatrajmo valuaciju v koja menja v samo postavljajući promenljivoj s i vrednost na I v (q). Važi v p (na osnovu svojstava zamene), i važi i v s i q jer je I v (q) = I v (q) = I v (s i ) (pošto se s i ne javlja u q), te važi v p (s i q). Obratno, ako v p (s i q), tada v p i v s i q pa je I v (s i ) = I v (q). Zato v p[s i q] (na osnovu svojstava zamene).
95 DPLL procedura. Pregled 1 Uvod 2 Sintaksa i semantika iskazne logike. Tautologičnost, zadovoljivost. 3 Istinitosne tablice 4 Zamena 5 Normalne forme (NNF, KNF, DNF). Definiciona KNF (Cajtin). 6 DPLL procedura. 7 Metod iskazne rezolucija. DP procedura. 8 Metod tabloa 9 Deduktivni sistemi za iskaznu logiku 10 Kompaktnost
96 DPLL procedura. Pristupi rešavanja SAT problema Naivni metodi (metod istinitosnih tablica). Problem se tehnički jednostavnije rešava ako je formula u nekom od specijalnih oblika (DNF, KNF, BDD). Za DNF se zadovoljivost trivijalno ispituje, ali je postupak prevodenja u DNF netrivijalan. Slično je i sa BDD. Postoji efikasan postupak prevodenja formule u KNF (doduše koji ne čuva ekvivalentnost, ali čuva zadovoljivost). Zadovoljivost formula u KNF se dalje ispituje nekim od tzv. klauzalnih algoritama. DP procedura (iskazna rezolucija) DPLL procedura CDCL SAT rešavači (unapredena DPLL procedura) Stohastički SAT rešavači (zasnovani na randomizaciji ne garantuju uvek definitivan odgovor).
97 DPLL procedura. DPLL pregled DPLL procedura pregled Ispituje zadovoljivost iskaznih formula (u KNF). DPLL (Davis-Putnam-Logemann-Loveland, 1962). Izmena DP procedure (Davis-Putnam, 1961) u cilju smanjivanja utroška memorije. Deo procedure pobijanja za logiku prvog reda. Osnova savremenih CDCL SAT rešavača. Razlikovaćemo DPLL pretragu i DPLL proceduru (koja uz pretragu uključuje i elemente zaključivanja).
98 DPLL procedura. DPLL pretraga DPLL procedura ideja koraka pretrage Pretraga za zadovoljavajućom valuacijom u okviru DPLL procedure, zasniva se na ispitivanju obe moguće istinitosne vrednosti promenljivih koje se javljaju u formuli. Postavljanje vrednosti nekoj promenljivoj indukuje vrednost oba njoj odgovarajuća literala. Iz tehničkih razloga, elementarnim korakom ćemo smatrati,,postavljanje literala na tačno. Vrednost nekog literala l se,,postavi na tačno i ispita se zadovoljivost. Ako se ne dobije zadovoljivost, onda se vrednost njemu suprotnog literala l,,postavi na tačno i ispita se zadovoljivost.,,postavljanje literala na tačno dovodi do uprošćavanja formule (dok se ne stigne do formule čija se zadovoljivost trivijalno očitava npr. logičke konstante). Razne varijante koraka,,literal se postavi na tačno.
99 DPLL procedura. DPLL pretraga DPLL procedura F [[l ]] Literal se može,,postaviti na tačno tako što se sva njegova pojavljivanja zamene sa logičkom konstantom, a pojavljivanja njemu suprotnog literala zamene sa logičkom konstantom. Neka F [[l ]] označava formulu F [l ][l ]. Neka F [[l ]] označava formulu F [l ][l ] (tj. F [[l ]]).
100 DPLL procedura. DPLL pretraga Korak split Pretraga u okviru DPLL procedure je zasnovana na koraku split koji ispitivanje zadovoljivosti formule F svodi na ispitivanje zadovoljivosti formula F [[l ]] i F [[l ]]. Stav (Split) Neka je F formula, a l literal. Formula F je zadovoljiva, ako i samo ako je zadovoljiva formula F [[l ]] ili je zadovoljiva formula F [[l ]].
101 DPLL procedura. DPLL pretraga DPLL procedura KNF formule Formule oblika F [[l ]] se mogu uprostiti (eliminacijom konstanti). Ovo je prilično jednostavno, ukoliko je formula F u KNF, tj. ako je predstavljena skupom klauza F. Iz svih klauza se ukloni literal l (tj. nakon zamene). Uklone se sve klauze koje sadrže literal l (tj. nakon zamene). Sa logičkog stanovišta najbolje je formulu smatrati skupom klauza, a klauze skupovima literala. Sa stanovišta implementacije, često se umesto skupova koriste liste (nizovi, vektori,... ).
102 DPLL procedura. DPLL pretraga DPLL i tautologične klauze Klauze koje sadrže medusobno suprotne literale ne utiču na zadovoljivost formule. Ove klauze je moguće ukloniti pre primene procedure (često već u fazi prevodenja u KNF). Ovaj korak ne utiče suštinski na dalje izlaganje.
103 DPLL procedura. DPLL pretraga DPLL pretraga trivijalni slučajevi DPLL pretraga prijavljuje zadovoljivost ukoliko je skup klauza prazan. DPLL pretraga prijavljuje nezadovoljivost ukoliko skup klauza sadrži praznu klauzu.
104 DPLL procedura. DPLL pretraga DPLL pretraga pseudokod function dpll (F : CNF Formula) : (SAT, UNSAT) begin if C is empty then return SAT else if there is an empty clause in F then return UNSAT else begin select a literal l occurring in F if dpll(f[l ]) = SAT then return SAT else return dpll(f[l ]) end end
105 DPLL procedura. DPLL pretraga Implementacija DPLL pretrage zamena u KNF definition setliteraltrue :: "Literal => Literal set set => Literal set set" where "setliteraltrue l F == let F = filter (% c. l ~: c) F; F = map (% c. remove (negate l) c) F in F "
Automatsko rezonovanje beleške sa predavanja. Uvod. Filip Marić. Matematički fakultet, Univerzitet u Beogradu. Proletnji semestar 2011.
Automatsko rezonovanje beleške sa predavanja Uvod Automatsko rezonovanje beleške sa predavanja Uvod Filip Marić Matematički fakultet, Univerzitet u Beogradu Proletnji semestar 2011. Automatsko rezonovanje
Iskazna logika 1. Matematička logika. Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia.
Matematička logika Department of Mathematics and Informatics, Faculty of Science,, Serbia oktobar 2012 Iskazi, istinitost, veznici Intuitivno, iskaz je rečenica koja je ima tačno jednu jednu istinitosnu
Automatsko rezonovanje
Filip Marić Ajzenhamer Nikola Automatsko rezonovanje 10. oktobar 2017. Sadržaj Predgovor v 1 Uvod 1 1.1 O automatskom rezonovanju......................... 1 1.1.1 Postupci otkrivanja dokaza......................
Iskazna logika 3. Matematička logika u računarstvu. novembar 2012
Iskazna logika 3 Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012 Deduktivni sistemi 1 Definicija Deduktivni sistem (ili formalna teorija)
3.1 Granična vrednost funkcije u tački
3 Granična vrednost i neprekidnost funkcija 2 3 Granična vrednost i neprekidnost funkcija 3. Granična vrednost funkcije u tački Neka je funkcija f(x) definisana u tačkama x za koje je 0 < x x 0 < r, ili
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju
Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju
RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,
Elementi spektralne teorije matrica
Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena
Diskretna matematika. Prof. dr Olivera Nikolić
Diskretna matematika Prof. dr Olivera Nikolić onikolic@singidunum.ac.rs 1 OSNOVNI POJMOVI MATEMATIČKE LOGIKE 2 1. Diskretna matematika 2. Kontinualna matematika 3 Pojam diskretne matematike Diskretna matematika
Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda
Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda Filip Marić Matematički fakultet, Univerzitet u Beogradu Proletnji semestar 2011. Uvod. Pregled 1 Uvod. 2 3 Normalne forme 4
Matematička logika. novembar 2012
Predikatska logika 1 Matematička logika Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia novembar 2012 1 različiti nazivi: predikatska logika, logika prvog
Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda
Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda Filip Marić Milan Banković Matematički fakultet, Univerzitet u Beogradu Proletnji semestar 2018. Uvod Pregled 1 Uvod 2 Sintaksa
Arhitektura računara
Arhitektura računara vežbe - čas 1 i 2: Minimizacija logičkih funkcija Mladen Nikolić URL: http://www.matf.bg.ac.yu/~nikolic e-mail: nikolic@matf.bg.ac.yu 1 Bulova algebra Klod Šenon je 1938. uočio da
Teorijske osnove informatike 1
Teorijske osnove informatike 1 9. oktobar 2014. () Teorijske osnove informatike 1 9. oktobar 2014. 1 / 17 Funkcije Veze me du skupovima uspostavljamo skupovima koje nazivamo funkcijama. Neformalno, funkcija
Arhitektura računara. Bulova algebra. Elementi logike. Logičke funkcije. Potpuni sistemi logičkih funkcija. Uvod u organizaciju računara 1.
Bulova algebra Arhitektura računara vežbe - čas i 2: Minimizacija logičkih funkcija Klod Šenon je 938. uočio da se Bulova algebra može koristiti u rešavanju problema digitalne elektronike. Bulova algebra
Osnovno svojstvo iskaza, ma kako složen bio, jeste da je on ili tačan, ili netačan.
Iskazna algebra Osnovno svojstvo iskaza, ma kako složen bio, jeste da je on ili tačan, ili netačan. Da bi se pravila za odred ivanje istinitosti precizno formalizovala, uvodi se sledeća matematička struktura.
Osnovne teoreme diferencijalnog računa
Osnovne teoreme diferencijalnog računa Teorema Rolova) Neka je funkcija f definisana na [a, b], pri čemu važi f je neprekidna na [a, b], f je diferencijabilna na a, b) i fa) fb). Tada postoji ξ a, b) tako
PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).
PRAVA Prava je kao i ravan osnovni geometrijski ojam i ne definiše se. Prava je u rostoru određena jednom svojom tačkom i vektorom aralelnim sa tom ravom ( vektor aralelnosti). M ( x, y, z ) 3 Posmatrajmo
41. Jednačine koje se svode na kvadratne
. Jednačine koje se svode na kvadrane Simerične recipročne) jednačine Jednačine oblika a n b n c n... c b a nazivamo simerične jednačine, zbog simeričnosi koeficijenaa koeficijeni uz jednaki). k i n k
Računarska grafika. Rasterizacija linije
Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem
Operacije s matricama
Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M
Tvrd enje 3: Ako su formule A i A B tautologije, onda je tautologija. Dokaz: Neka su A i A B tautologije.
Svojstva tautologija Tvrd enje 3: Ako su formule A i A B tautologije, onda je tautologija i formula B. Dokaz: Neka su A i A B tautologije. Pretpostavimo da B nije tautologija. Tada postoji valuacija v
IZVODI ZADACI (I deo)
IZVODI ZADACI (I deo) Najpre da se podsetimo tablice i osnovnih pravila:. C`=0. `=. ( )`= 4. ( n )`=n n-. (a )`=a lna 6. (e )`=e 7. (log a )`= 8. (ln)`= ` ln a (>0) 9. = ( 0) 0. `= (>0) (ovde je >0 i a
Zavrxni ispit iz Matematiqke analize 1
Građevinski fakultet Univerziteta u Beogradu 3.2.2016. Zavrxni ispit iz Matematiqke analize 1 Prezime i ime: Broj indeksa: 1. Definisati Koxijev niz. Dati primer niza koji nije Koxijev. 2. Dat je red n=1
IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo
IZVODI ZADACI ( IV deo) LOGARITAMSKI IZVOD Logariamskim izvodom funkcije f(), gde je >0 i, nazivamo izvod logarima e funkcije, o jes: (ln ) f ( ) f ( ) Primer. Nadji izvod funkcije Najpre ćemo logarimovai
SOPSTVENE VREDNOSTI I SOPSTVENI VEKTORI LINEARNOG OPERATORA I KVADRATNE MATRICE
1 SOPSTVENE VREDNOSTI I SOPSTVENI VEKTORI LINEARNOG OPERATORA I KVADRATNE MATRICE Neka je (V, +,, F ) vektorski prostor konačne dimenzije i neka je f : V V linearno preslikavanje. Definicija. (1) Skalar
Arhitektura računara. vežbe - čas 1 i 2: Minimizacija logičkih funkcija
Arhitektura računara vežbe - čas 1 i 2: Minimizacija logičkih funkcija 1 Bulova algebra Klod Šenon je 1938. uočio da se Bulova algebra može koristiti u rešavanju problema digitalne elektronike. Bulova
Ispitivanje toka i skiciranje grafika funkcija
Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3
10 Iskazni račun - deduktivni sistem za iskaznu logiku
10 Iskazni račun - deduktivni sistem za iskaznu logiku Definicija 20 Iskazni račun je deduktivni sistem H = X, F orm, Ax, R, gde je X = S {,, (, )}, gde S = {p 1, p 2,..., p n,... }, F orm je skup iskaznih
III VEŽBA: FURIJEOVI REDOVI
III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.
IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f
IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe
numeričkih deskriptivnih mera.
DESKRIPTIVNA STATISTIKA Numeričku seriju podataka opisujemo pomoću Numeričku seriju podataka opisujemo pomoću numeričkih deskriptivnih mera. Pokazatelji centralne tendencije Aritmetička sredina, Medijana,
SISTEMI NELINEARNIH JEDNAČINA
SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije
Zadaci iz Osnova matematike
Zadaci iz Osnova matematike 1. Riješiti po istinitosnoj vrijednosti iskaza p, q, r jednačinu τ(p ( q r)) =.. Odrediti sve neekvivalentne iskazne formule F = F (p, q) za koje je iskazna formula p q p F
5. Karakteristične funkcije
5. Karakteristične funkcije Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2018 Milan Merkle Karakteristične funkcije ETF Beograd 1 / 10 Definicija Karakteristična
ELEKTROTEHNIČKI ODJEL
MATEMATIKA. Neka je S skup svih živućih državljana Republike Hrvatske..04., a f preslikavanje koje svakom elementu skupa S pridružuje njegov horoskopski znak (bez podznaka). a) Pokažite da je f funkcija,
Računarska grafika. Rasterizacija linije
Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem
APROKSIMACIJA FUNKCIJA
APROKSIMACIJA FUNKCIJA Osnovni koncepti Gradimir V. Milovanović MF, Beograd, 14. mart 2011. APROKSIMACIJA FUNKCIJA p.1/46 Osnovni problem u TA Kako za datu funkciju f iz velikog prostora X naći jednostavnu
18. listopada listopada / 13
18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu
M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost
M086 LA 1 M106 GRP Tema: CSB nejednakost. 19. 10. 2017. predavač: Rudolf Scitovski, Darija Marković asistent: Darija Brajković, Katarina Vincetić P 1 www.fizika.unios.hr/grpua/ 1 Baza vektorskog prostora.
Sintaksa i semantika u logici
Sintaksa i semantika u logici PMF Matematički odsjek Sveučilište u Zagrebu 13. listopad 2012., Zadar Sintaksa i semantika u logici 1 / 51 1. Logika sudova 1.1. Sintaksa jezik 1.2. Semantika logike sudova
PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,
PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati
ISKAZI. U svakodnevnom govoru, a i u pisanom tekstu, obično se sreću rečenice koje su ili tačne
ISKAZI U svakodnevnom govoru, a i u pisanom tekstu, obično se sreću rečenice koje su ili tačne ili netačne, tj rečenice koje imaju logičkog smisla.ovakve rečenice se u matematici nazivaju iskazi.dakle,
Rezolucija u predikatskoj logici
Rezolucija u predikatskoj logici April 18, 2012 1 Uvod Kao što smo rekli u Sekciji 13 (Rezolucija u iskaznoj logici), metod rezolucije je postupak za dokazivanje da je neka (iskazna ili predikatska) formula
Matematička logika. Madarász Sz. Rozália. Departman za matematiku i informatiku Prirodno-matematički fakultet Univerzitet u Novom Sadu
Departman za matematiku i informatiku Prirodno-matematički fakultet Univerzitet u Novom Sadu Matematička logika Madarász Sz. Rozália Novi Sad, novembar 2012. Predgovor Ovaj tekst je pomoćni materijal koji
Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu
Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Trigonometrijske jednačine i nejednačine. Zadaci koji se rade bez upotrebe trigonometrijskih formula. 00. FF cos x sin x
Iskazna logika. October 26, Počeci logike i matematičke logike
Iskazna logika October 26, 2011 1 Počeci logike i matematičke logike Prvi narod u istoriji koji se bavio problemima ispravnog zaključivanja bili su Stari Grci. Zahvaljujući svom društvenom ured enju, koje
7 Algebarske jednadžbe
7 Algebarske jednadžbe 7.1 Nultočke polinoma Skup svih polinoma nad skupom kompleksnih brojeva označavamo sa C[x]. Definicija. Nultočka polinoma f C[x] je svaki kompleksni broj α takav da je f(α) = 0.
PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).
0.1 Faktorizacija: ID, ED, PID, ND, FD, UFD Definicija. Najava pojmova: [ID], [ED], [PID], [ND], [FD] i [UFD]. ID: Komutativan prsten P, sa jedinicom 1 0, je integralni domen [ID] oblast celih), ili samo
Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A
Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Ime i prezime: 1. Prikazane su tačke A, B i C i prave a,b i c. Upiši simbole Î, Ï, Ì ili Ë tako da dobijeni iskazi
a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.
3 Infimum i supremum Definicija. Neka je A R. Kažemo da je M R supremum skupa A ako je (i) M gornja meda skupa A, tj. a M a A. (ii) M najmanja gornja meda skupa A, tj. ( ε > 0)( a A) takav da je a > M
MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15
MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda
Diskretna Matematika
Diskretna Matematika Iskazni Račun Žarko Mijajlović Zoran Petrović Maja Roslavcev........................... Matematički fakultet Beograd 2011 2 Glava 1 Iskazni račun Matematička logika najčešće se definiše
8 Predikatski račun kao deduktivni sistem
26 8 Predikatski račun kao deduktivni sistem Neka je L neki jezik prvog reda. Da bismo odredili predikatski račun K L tipa L, prvo ćemo se dogovoriti šta će biti azbuka nad kojom radimo. Znamo da se svaka
[1] Formalni jezik iskazne logike
[1] Formalni jezik iskazne logike Svaka formalna teorija (formalni sistem) sastoji se iz tri komponente: formalnog jezika, aksioma i pravila izvođenja (zaključivanja) Formalni jezik [4] sastoji se iz osnovnih
1 Promjena baze vektora
Promjena baze vektora Neka su dane dvije različite uredene baze u R n, označimo ih s A = (a, a,, a n i B = (b, b,, b n Svaki vektor v R n ima medusobno različite koordinatne zapise u bazama A i B Zapis
Napravimo neformalnu rekapitulaciju osnovnih pojmova koje smo obradili na prethodnom predavanju.
Predikatske formule rekapitulacija Napravimo neformalnu rekapitulaciju osnovnih pojmova koje smo obradili na prethodnom predavanju. Izraz je proizvoljan niz simbola. Naravno, većina izraza nema nikakav
2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x
Zadatak (Darjan, medicinska škola) Izračunaj vrijednosti trigonometrijskih funkcija broja ako je 6 sin =,,. 6 Rješenje Ponovimo trigonometrijske funkcije dvostrukog kuta! Za argument vrijede sljedeće formule:
IZVODI ZADACI (I deo)
IZVODI ZADACI (I deo Najpre da se podsetimo tablice i osnovnih pravila:. C0.. (. ( n n n-. (a a lna 6. (e e 7. (log a 8. (ln ln a (>0 9. ( 0 0. (>0 (ovde je >0 i a >0. (cos. (cos - π. (tg kπ cos. (ctg
Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.
Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala
Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto
Trigonometrija Adicijske formule Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Razumijevanje postupka izrade složenijeg matematičkog problema iz osnova trigonometrije
Matematička analiza 1 dodatni zadaci
Matematička analiza 1 dodatni zadaci 1. Ispitajte je li funkcija f() := 4 4 5 injekcija na intervalu I, te ako jest odredite joj sliku i inverz, ako je (a) I = [, 3), (b) I = [1, ], (c) I = ( 1, 0].. Neka
2. Tautologije; Bulove funkcije (SDNF, SKNF)
III dvoqas veжbi Vladimir Balti 2. Tautologije; Bulove funkcije SDNF, SKNF) Tautologije Teorijski uvod Navedimo neke tautologije zajedno sa Ƭihovim nazivima) koje se qesto koriste. naziv formula zakon
Linearna algebra 2 prvi kolokvij,
1 2 3 4 5 Σ jmbag smjer studija Linearna algebra 2 prvi kolokvij, 7. 11. 2012. 1. (10 bodova) Neka je dano preslikavanje s : R 2 R 2 R, s (x, y) = (Ax y), pri čemu je A: R 2 R 2 linearan operator oblika
SKUPOVI I SKUPOVNE OPERACIJE
SKUPOVI I SKUPOVNE OPERACIJE Ne postoji precizna definicija skupa (postoji ali nama nije zanimljiva u ovom trenutku), ali mi možemo koristiti jednu definiciju koja će nam donekle dočarati šta su zapravo
KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.
KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI NEUTRALNI ELEMENT GRUPOIDA 1 Grupoid (G, ) je asocijativa akko važi ( x, y, z G) x (y z) = (x y) z Grupoid (G, ) je komutativa akko važi ( x, y G) x y = y x Asocijativa
Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.
auchyjev teorem Neka je f-ja f (z) analitička u jednostruko (prosto) povezanoj oblasti G, i neka je zatvorena kontura koja čitava leži u toj oblasti. Tada je f (z)dz = 0. Postoji više dokaza ovog teorema,
Bulove jednačine i metodi za njihovo
Matematički fakultet Univerzitet u Beogradu Bulove jednačine i metodi za njihovo rešavanje Master rad Mentor: Slavko Moconja Student: Nevena Dordević Beograd, 2017. Sadržaj 1 Uvod 2 2 Bulova algebra 3
XI dvoqas veжbi dr Vladimir Balti. 4. Stabla
XI dvoqas veжbi dr Vladimir Balti 4. Stabla Teorijski uvod Teorijski uvod Definicija 5.7.1. Stablo je povezan graf bez kontura. Definicija 5.7.1. Stablo je povezan graf bez kontura. Primer 5.7.1. Sva stabla
2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =
( > 0, 0)!" # > 0 je najčešći uslov koji postavljamo a još je,, > 0 se zove numerus (aritmand), je osnova (baza). 0.. ( ) +... 7.. 8. Za prelazak na neku novu bazu c: 9. Ako je baza (osnova) 0 takvi se
Vremenske i prostorne klase složenosti
Vremenske i prostorne klase složenosti N. Ikodinović ikodinovic@matf.bg.ac.rs 26. 12. 2017. (Matematički fakultet, Beograd) 26. 12. 2017. 1 / 21 Pregled predavanja (Matematički fakultet, Beograd) 26. 12.
MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori
MATEMATIKA 2 Prvi pismeni kolokvijum, 14.4.2016 Grupa 1 Rexea zadataka Dragan ori Zadaci i rexea 1. unkcija f : R 2 R definisana je sa xy 2 f(x, y) = x2 + y sin 3 2 x 2, (x, y) (0, 0) + y2 0, (x, y) =
Predikatska logika - III deo. Jelena Ignjatović
Predikatska logika - III deo Jelena Ignjatović Termi i formule Matematički izrazi i formule Matematičke izraze i formule gradimo od raznorodnih elemenata. Osnovni elementi matematičkih izraza i formula
Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1
Strukture podataka i algoritmi 1. kolokvij Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati i uvid u kolokvije: ponedjeljak,
1 Algebarske operacije i algebraske strukture
1 Algebarske operacije i algebraske strukture Defnicija 1.1 Neka su I i A skupovi. I-familija elemenata skupa A, ili familija elemenata iz A indeksirana skupom I, je funkcija a : I A koju radije zapisujemo
Neka su A i B skupovi. Kažemo da je A podskup od B i pišemo A B ako je svaki element skupa A ujedno i element skupa B. Simbolima to zapisujemo:
2 Skupovi Neka su A i B skupovi. Kažemo da je A podskup od B i pišemo A B ako je svaki element skupa A ujedno i element skupa B. Simbolima to zapisujemo: A B def ( x)(x A x B) Kažemo da su skupovi A i
Dijagonalizacija operatora
Dijagonalizacija operatora Problem: Može li se odrediti baza u kojoj zadani operator ima dijagonalnu matricu? Ova problem je povezan sa sljedećim pojmovima: 1 Karakteristični polinom operatora f 2 Vlastite
radni nerecenzirani materijal za predavanja
Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Kažemo da je funkcija f : a, b R u točki x 0 a, b postiže lokalni minimum ako postoji okolina O(x 0 ) broja x 0 takva da je
ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:
ASIMPTOTE FUNKCIJA Naš savet je da najpre dobro proučite granične vrednosti funkcija Neki profesori vole da asimptote funkcija ispituju kao ponašanje funkcije na krajevima oblasti definisanosti, pa kako
Sistemi veštačke inteligencije primer 1
Sistemi veštačke inteligencije primer 1 1. Na jeziku predikatskog računa formalizovati rečenice: a) Miloš je slikar. b) Sava nije slikar. c) Svi slikari su umetnici. Uz pomoć metode rezolucije dokazati
radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}
Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Neka su D i K bilo koja dva neprazna skupa. Postupak f koji svakom elementu x D pridružuje točno jedan element y K zovemo funkcija
Funkcije. Predstavljanje funkcija
Funkcije narna relacija f je funkcionalna relacija ako važi: ( ) za svaki a postoji jedinstven element b takav da (a, b) f. Definicija. Funkcija 1 je uredjena trojka (,, f) gde f zadovoljava uslov: Činjenicu
INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.
INTEGRALNI RAČUN Teorije, metodike i povijest infinitezimalnih računa Lucija Mijić lucija@ktf-split.hr 17. veljače 2011. Pogledajmo Predstavimo gornju sumu sa Dodamo još jedan Dobivamo pravokutnik sa Odnosno
5 Ispitivanje funkcija
5 Ispitivanje funkcija 3 5 Ispitivanje funkcija Ispitivanje funkcije pretodi crtanju grafika funkcije. Opšti postupak ispitivanja funkcija koje su definisane eksplicitno y = f() sadrži sledeće elemente:
1.1 Iskazni (propozicioni) račun
1 Osnovi matematičke logike i teorije skupova 3 1 Osnovi matematičke logike i teorije skupova 1.1 Iskazni (propozicioni) račun Osnovni elementi iskaznog računa su iskazi (rečenice) i veznici. Iskaz ili
4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.
4.7. ZADACI 87 4.7. Zadaci 4.7.. Formalizam diferenciranja teorija na stranama 4-46) 340. Znajući izvod funkcije arcsin, odrediti izvod funkcije arccos. Rešenje. Polazeći od jednakosti arcsin + arccos
Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića
Verovatnoća i Statistika I deo Teorija verovatnoće zadaci Beleške dr Bobana Marinkovića Iz skupa, 2,, 00} bira se na slučajan način 5 brojeva Odrediti skup elementarnih dogadjaja ako se brojevi biraju
4 Numeričko diferenciranje
4 Numeričko diferenciranje 7. Funkcija fx) je zadata tabelom: x 0 4 6 8 fx).17 1.5167 1.7044 3.385 5.09 7.814 Koristeći konačne razlike, zaključno sa trećim redom, odrediti tačku x minimuma funkcije fx)
1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i
PRIPREMA ZA II PISMENI IZ ANALIZE SA ALGEBROM. zadatak Re{avawe algebarskih jedna~ina tre}eg i ~etvrtog stepena. U skupu kompleksnih brojeva re{iti jedna~inu: a x 6x + 9 = 0; b x + 9x 2 + 8x + 28 = 0;
Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B.
Korespondencije Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B. Pojmovi B pr 2 f A B f prva projekcija od
Predikatska logika. January 8, 2012
Predikatska logika January 8, 2012 1 O predikatskoj logici Pre nego što počnemo razmatranje predikatske logike, zadržimo se na nekoliko napomena koje će, nadamo se, pomoći da se rasčiste pre svega terminološke
Matematiqki fakultet. Univerzitet u Beogradu. Domai zadatak
Matematiqki fakultet Univerzitet u Beogradu Domai zadatak Zlatko Lazovi 30. decembar 2016. verzija 1.1 Sadraj 1 METRIQKI PROSTORI 2 1 1 METRIQKI PROSTORI a) Neka je (M, d) metriqki prostor i neka je (x
Sortiranje prebrajanjem (Counting sort) i Radix Sort
Sortiranje prebrajanjem (Counting sort) i Radix Sort 15. siječnja 2016. Ante Mijoč Uvod Teorem Ako je f(n) broj usporedbi u algoritmu za sortiranje temeljenom na usporedbama (eng. comparison-based sorting
( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4
UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET Riješiti jednačine: a) 5 = b) ( ) 3 = c) + 3+ = 7 log3 č) = 8 + 5 ć) sin cos = d) 5cos 6cos + 3 = dž) = đ) + = 3 e) 6 log + log + log = 7 f) ( ) ( ) g) ( ) log
Funkcije dviju varjabli (zadaci za vježbu)
Funkcije dviju varjabli (zadaci za vježbu) Vidosava Šimić 22. prosinca 2009. Domena funkcije dvije varijable Ako je zadano pridruživanje (x, y) z = f(x, y), onda se skup D = {(x, y) ; f(x, y) R} R 2 naziva
(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.
1 3 Skupovi brojeva 3.1 Skup prirodnih brojeva - N N = {1, 2, 3,...} Aksiom matematičke indukcije Neka je N skup prirodnih brojeva i M podskup od N. Ako za M vrijede svojstva: 1) 1 M 2) n M (n + 1) M,
FORMALNI SISTEMI KAO OSNOVA ZA PROJEKTOVANJE KOMPAJLERA
FORMALNI SISTEMI KAO OSNOVA ZA PROJEKTOVANJE KOMPAJLERA Definicije Sintaksa, Semantika Projektovanje kompajlera kompajlera. 1 Kompajler, Procedura, Algoritam: KOMPAJLER: prevodioc sa višeg programskog
Dvanaesti praktikum iz Analize 1
Dvaaesti praktikum iz Aalize Zlatko Lazovi 20. decembar 206.. Dokazati da fukcija f = 5 l tg + 5 ima bar jedu realu ulu. Ree e. Oblast defiisaosti fukcije je D f = k Z da postoji ula fukcije a 0, π 2.
Linearna algebra 2 prvi kolokvij,
Linearna algebra 2 prvi kolokvij, 27.. 20.. Za koji cijeli broj t je funkcija f : R 4 R 4 R definirana s f(x, y) = x y (t + )x 2 y 2 + x y (t 2 + t)x 4 y 4, x = (x, x 2, x, x 4 ), y = (y, y 2, y, y 4 )