Automatsko rezonovanje

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Automatsko rezonovanje"

Transcript

1 Filip Marić Ajzenhamer Nikola Automatsko rezonovanje 10. oktobar 2017.

2

3 Sadržaj Predgovor v 1 Uvod O automatskom rezonovanju Postupci otkrivanja dokaza Šta je logičko rezonovanje? Sintaksa i semantika Simbolizam i formalizam Objektni jezik i logika. Metajezik i logika Iskazna logika Bulova algebra logike Sintaksa i semantika iskazne logike Sintaksa Semantika Tautologičnost. Zadovoljivost. SAT Zadovoljivost, nezadovoljivost, tautologičnost, porecivost Logičke posledice, ekvivalentne formule, ekvizadovoljive formule SAT problem Istinitosne tablice Implementacija istinitosnih tablica u programskim jezicima Zamena Implementacija zamene Teorema o zameni Normalne forme. Definiciona (Cajtinova) KNF Pojam normalne forme Transformacije prezapisivanjem Eliminisanje konstanti NNF DNF i KNF Definiciona (Cajtinova) KNF DPLL procedura DPLL pretraga Elementi zaključivanja. DPLL procedura Iterativna implementacija Analiza konflikata, povratni skokovi, učenje i

4 ii SADRŽAJ Zaboravljanje, otpočinjanje iznova Metod iskazne rezolucije. DP procedura Metod rezolucije Korektnost metoda rezolucije DP procedura Korektnost DP procedure Deduktivni sistemi za iskaznu logiku Hilbertov sistem Prirodna dedukcija Račun sekvenata Kompaktnost Logika prvog reda Uvod Sintaksa i semantika logike prvog reda Sintaksa Semantika Valjanost. Zadovoljivost Logičke posledice, ekvivalentne formule, ekvizadovoljive formule Zamena Normalne forme Negaciona normalna forma Prenex normalna forma Skolemova normalna forma Klauzalna forma Erbranova teorema Dokazivanje nezadovoljivosti korišćenjem unifikacije Rezonovanje u logici prvog reda sa jednakošću Normalni modeli Aksiome jednakosti Birkhofov sistem Kongruentno zatvorenje Nelson-Openov algoritam za odredivanje kongruentnog zatvorenja Odlučivanje univerzalnog fragmenta EUF Prezapisivanje Pojam prezapisivanja Kanonski sistemi (konfluentnost i zaustavljanje) Apstraktni sistemi za prezapisivanje Ispitivanje zaustavljanja Ispitivanje konfluentnosti SMT rešavači Višesortna logika prvog reda Teorije prvog reda SAT i SMT rešavači Neke standardne SMT teorije

5 SADRŽAJ iii Literatura 101

6 iv SADRŽAJ

7 Predgovor Ovaj tekst predstavlja skriptu iz predmeta Automatsko rezonovanje, na Matematičkom fakultetu Univerziteta u Beogradu, zasnovanu na materijalima Filipa Marića iz istog kursa i materijalima sa pristupnog predavanja Milana Bankovića, održanog u okviru ovog kursa. Skripta je prateći materijal pre svega studentima koji ovaj kurs slušaju u okviru svojih studija, ali i svima Vama koji biste želeli da se upoznate sa ovom tematikom. Ovaj materijal ne može zameniti pohadanje nastave niti drugu preporučenu literaturu. Ukoliko ste pažljivi čitalac ove skripte, i ukoliko uočite bilo kakvu grešku ili propust, molimo Vas da nam to javite na mi13050@alas.matf.bg.ac.rs. Svi komentari, sugestije, kritike, ali i pohvale vezane za ovaj materijal su dobrodošli. Autori v

8

9 Glava 1 Uvod 1.1 O automatskom rezonovanju Pojam rezonovanje se odnosi na zaključivanje, rasudivanje, dedukciju, izvodenje ispravnih zaključaka na osnovu postojećih pretpostavki, itd. Pojam automatsko rezonovanje se odnosi na rezonovanje koje prati precizno definisane postupke, može ga izvoditi i mašina (računar), itd. Rezonovanje leži u osnovi bavljenja matematikom i predmet proučava uglavnom matematičko rezonovanje. Grana matematike koja se bavi formalizacijom matematičkog rezonovanja je matematička logika. Automatsko rezonovanje se može smatrati oblašću veštačke inteligencije Postupci otkrivanja dokaza Matematička logika se uglavnom bavi opravdavanjem ispravnosti matematičkih argumenata i dokaza, dok se načini njihovog otkrivanja uglavnom zanemaruju i prepuštaju intuiciji, iskustvu, sreći. Postupci korišćeni da bi se došlo do samih dokaza često se ne prikazuju (npr. dokazi u analizi koji počinju neka je δ < 2ε 3 ), već se prikazuje samo ono što čitaoca treba da uveri da je navedeni iskaz tačan. Automatsko rezonovanje ima obavezu da proširi prethodni pogled karakterističan za matematičku logiku i da naglasak stavi na precizan opis postupaka otkrivanja i pronalaženja dokaza Šta je logičko rezonovanje? Vera da je neki iskaz (tvrdenje) tačan može da leži na različitim osnovama (npr. rekao nam je neko kome verujemo, iskaz je saglasan rezultatima eksperimenta koji smo izveli, itd.). Ovo ostavlja crv sumnje! Logičko rezonovanje pokušava da opravda iskaze dajući argumente tj. dedukujući iskaze iz nekih drugih, elementarnijih iskaza. Ukoliko je argumentacija ispravna, tačnost nekog iskaza svodi se na tačnost pretpostavki korišćenih pri argumentaciji. Argumentacija se smatra ispravnom samo ukoliko zadovoljava odredenu formu, bez obzira na sadržaj iskaza na koje se odnosi. Logički argumenti su dokazi (tačnosti?) iskaza. Ipak, da bi se mogla zaključiti tačnost, logika nije dovoljna, tj. potrebno je načiniti i korake koji nisu čisto logički. 1

10 2 GLAVA 1. UVOD Svi ljudi su smrtni. Svi X su Y. Svi prosti brojevi su parni. Sokrat je čovek. a je X. 7 je prost broj. Dakle, Sokrat je smrtan. Dakle, a je Y. Dakle, 7 je paran. Sva tri argumenta se smatraju logički ispravnim, bez obzira što su u trećem primeru neki iskazi netačni (pri uobičajenom tumačenju korišćenih termina). Svi Atinjani su Grci. Sokrat je Atinjanin. Dakle, Sokrat je smrtan. Ovaj argument nije logički ispravan, bez obzira što je izvedeni iskaz tačan (pri uobičajenom tumačenju korišćenih termina) Sintaksa i semantika Matematičko i logičko rezonovanje često biva značajno jednostavnije ukoliko se uvede precizan jezik u kome se iskazi izražavaju. Jezici koji se koriste u matematici su obično dominantno simbolički (npr. x+3 z 2 naspram,,zbir x i 3 je veći ili jednak kvadratu od z ). Simboli se kombinuju i grade se izrazi koji označavaju neke matematičke objekte. Poželjno je jasno razlikovati simbole i izraze od onoga šta oni označavaju, tj. od njima pridruženog značenja. Dva simbola 12 uobičajeno označavaju prirodan broj dvanaest. Izraz x + y uobičajeno označava primenu operacije sabiranja na x i y. Oba izraza i uobičajeno označavaju broj 5. Simboli )4 + (5 obično ne predstavljaju ispravan izraz i ne označava ništa. Izraz može da označava i broj 0 ukoliko se uzme da simbol + označava operaciju sabiranja po modulu 5. Sintaksa jezika definiše skup dopuštenih simbola i skup ispravno zapisanih izraza. Semantika se bavi tumačenjem značenja (interpretiranjem) simbola i izraza jezika. Konkretna i apstraktna sintaksa Izrazi su obično predstavljeni niskama nekih karaktera koje predstavljaju konkretnu sintaksu (npr ili 3+2*5). Najvažniji aspekt izraza je njihova struktura predstavljena kroz apstraktnu sintaksu. Struktura se najčešće predstavlja u obliku drveta. + / \ 3 * / \ 2 5 Apstraktna sintaksa nije opterećena tehničkim detaljima poput pravila korišćenja zagrada, prioriteta operatora, asocijativnosti operatora i slično.

11 1.1. O AUTOMATSKOM REZONOVANJU Simbolizam i formalizam Pogodna simbolika olakšava manipulaciju izrazima. Pravila manipulacije se jednostavno definišu i često primenjuju mehanički (bez razmišljanja zašto su ta pravila opravdana). Dok sabiramo dva prirodna broja ne razmišljamo o opravdanosti uobičajenog algoritma koji se primenjuje, pa čak ni o definiciji korišćenog dekadnog zapisa brojeva. Formalizam shvata matematiku kao čisto sintaksno-deduktivnu,,igru nad simbolički zapisanim objektima. Formalna,,igra može da se igra i automatski, tj. mogu da je izvode i računari Objektni jezik i logika. Metajezik i logika Često se javlja potreba da se izvrši prikaz i rezonuje o svojstvima formalnih logičkih sistema. U okviru logika, rezonuje se o različitim matematičkim teorijama, medutim, kako je moguće rezonovati o samoj logici? Za to se obično opet koriste simbolički jezici i matematička logika, pri čemu su oni različiti od formalizma koji se prikazuje i o kome se rezonuje. Metajezik je jezik koji se koristi za opis drugog objektnog jezika. Metalogika je logika koja se koristi da bi se rezonovalo o svojstvima neke formalne objektne logike. U standardnim udžbenicima obično je metajezik govorni jezik, dok je metalogika intuitivna logika (obično višeg reda).

12

13 Glava 2 Iskazna logika 2.1 Bulova algebra logike Iskazna logika je moderna verzija Bulove 1 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). 2.2 Sintaksa i semantika iskazne logike Sintaksa Izrazi iskazne logike nazivaju se iskazne formule. Na nivou apstraktne sintakse, iskazne formule se grade od: (1) logičkih konstanti i, (2) iskaza (drugi nazivi su: atomi, iskazna slova, iskazne promenljive), i (3) primenom logičkih veznika (npr. i, ili, ne, ako... onda..., ako i samo ako, itd.). 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 1 George Bool,

14 6 GLAVA 2. ISKAZNA LOGIKA Konkretna sintaksa iskaznih formula Definicija 1. 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. Alternativno, možemo definisati iskazne formule pomoću kontekstno slobodnih gramatika na sledeći način. Definicija 2. Neka je dat (najviše prebrojiv) skup atoma P. Skup iskaznih formula jednak je jeziku generisanom sledećom kontekstno slobodnom gramatikom: formula p ( p P ) (formula) (formula) (formula) (formula) (formula) (formula) (formula) (formula) (formula) Primeri dvaju iskaznih formula dati su narednim primerom. (p q) (r (p)) x 1 (x 2 (x 1 (x 1 (x 3 )))) 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 (,,,, ) i sa levom asocijativnošću operatora i. Zapis je skraćeni zapis za p p q q r s (p (p q)) ((q r) s) Često se, kao elementarne, razmatraju veoma jednostavne formule: atomi i njihove negacije. Definicija 3. Literal je ili atom (pozitivan literal) ili negacija atoma (negativan literal). Definicija 4. 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 l.

15 2.2. SINTAKSA I SEMANTIKA ISKAZNE LOGIKE 7 Sintaksa 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: (1) modulima za parsiranje koji imaju zadatak da formule na ulazu zadate u nekoj konkretnoj sintaksi prevedu u internu apstraktnu reprezentaciju i (2) 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. Funkcionalni jezici uglavnom imaju mogućnost direktnog definisanja algebarskih (najčešće rekurzivnih) tipova podataka. Npr. u jeziku Isabelle 2 : datatype formula = TRUE FALSE Var nat Not formula And formula formula (infixl "And" 100) Or formula formula (infixl "Or" 101) Imp formula formula (infixl "Imp" 102) Iff formula formula (infixl "Iff" 103) U programskom jeziku C, to bi izgledalo: 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). U programskom jeziku C++, svaki veznik se predstavlja zasebnom klasom, pri čemu sve klase nasleduju apstraktnu baznu klasu Formula. Detalji implementacije su izbegnuti korišćenjem oznake Sledi kratko objašnjenje nekih simbola. Simbol nat se odnosi na prirodan broj, odnosno, atome ćemo predstavljati prirodnim brojevima 1, 2,... umesto oznakama p 1, p 2,... ili p, q,..., što je uobičajeno u matematici. Oznaka infixl se odnosi na to da je operator infiksni i da ima levu asocijativnost. Brojevi koji slede iza infixl odnose se na prioritet odgovarajućih operatora (što je u skladu sa već pomenutim redosledom prioriteta).

16 8 GLAVA 2. ISKAZNA LOGIKA class Formula {...}; class False : public Formula {...}; class True : public Formula {...}; class Atom : public Formula {... private: unsigned var_num; }; 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 {...}; 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. U funkcionalnom jeziku to bi izgledalo ovako 3 : 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" 101) Imp " a formula" " a formula" (infixl "Imp" 102) Iff " a formula" " a formula" (infixl "Iff" 103) 3 Oznaka a u ovom kodu predstavlja parametarski polimorfizam.

17 2.2. SINTAKSA I SEMANTIKA ISKAZNE LOGIKE 9 U programskom jeziku C bi se umesto unsigned var_num mogao koristiti void* atom_content, a u programskom jeziku C++ bismo, dodatno, sve klase mogli parametrizovati sa template <class AtomContent> Semantika 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). 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. Ako je valuacija parcijalna, onda neka promenljiva može da nema vrednost (tj. da vrednost promenljive bude nedefinisana). U suprotnom, valuacija je totalna. Moguće su različite definicije. Definicija 5. 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,... ). Valuacija je data sledećim preslikavanjem: p 1, q 0, r 1,... Atomi p i r su tačni u ovoj valuaciji, q je netačan, itd. Definicija 6. Valuacija je skup atoma. Atom je tačan akko pripada valuaciji. Valuacija je data sledećim skupom atoma: {p, r} Atomi p i r su tačni u ovoj valuaciji, q je netačan, itd. Valuacije se ponekad definišu tako da direktno odreduju vrednosti literala (ne samo atoma). Definicija 7. (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.

18 10 GLAVA 2. ISKAZNA LOGIKA Parcijalna valuacija je data sledećim skupom literala: {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. Zadovoljenje Činjenicu da je formula F tačna u valuaciji v označavaćemo oznakom 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. Definicija 8. Zadovoljenje definišemo sledećim skupom pravila: 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 su 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 ). 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 9. Funkcija I v (F ) se naziva interpretacija formule F u valuaciji v i definiše se sledećim skupom pravila: 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.

19 2.2. SINTAKSA I SEMANTIKA ISKAZNE LOGIKE 11 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 je 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. Drugim rečima, funkcija I v je karakteristična funkcija relacije. Objasnimo sada odnos objektne logike i metalogike 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. Semantika predstavljanje u programskim jezicima Naredni kod implementira funkciju I v (F ) (kroz funkciju eval F v) u funkcionalnom jeziku. 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)" U programskom jeziku C interpretaciju definišemo narednim kodom. 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); } } Podrazumeva se poznavanje rekurzije (implicitno u definiciji zadovoljenja i eksplicitno u programskim jezicima) u metajeziku. Funkcija int v(unsigned) u programskom jeziku C mora da vrati vrednost 0 ili 1 zbog operatora ==. Ista primedba važi i za funkciju int eval(formula*, int (*)(unsigned)).

20 12 GLAVA 2. ISKAZNA LOGIKA U programskom jeziku C++ interpretaciju definišemo narednim kodom. class Formula { public:... virtual bool eval(bool (*v) (unsigned)) = 0; }; bool True::eval(bool (*v)(unsigned)) { return true; } bool False::eval(bool (*v)(unsigned)) { return false; } bool Var::eval(bool (*v)(unsigned)) { return (*v)(_var_num); } bool Not::eval(bool (*v)(unsigned)) { return!_op1->eval(v); } bool And::eval(bool (*v)(unsigned)) { return _op1->eval(v) && _op2->eval(v); } bool Or::eval(bool (*v)(unsigned)) { return _op1->eval(v) _op2->eval(v); } bool Imp::eval(bool (*v)(unsigned)) { return!_op1->eval(v) _op2->eval(v); } bool Iff::eval(bool (*v)(unsigned)) { return _op1->eval(v) == _op2->eval(v); } Prethodni kôd 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]; } Naravno, najbolje je predstaviti valuacije zasebnom klasom sa operatorima za čitanje i postavljanje vrednosti atoma. class Valuation { public: bool operator[](unsigned p) const; bool& operator[](unsigned p); private:... }; Ukoliko se želi proširiti unutrašnja reprezentacija atoma sa celobrojnog indeksa na nešto šire, ova klasa se može parametrizovati.

21 2.3. TAUTOLOGIČNOST. ZADOVOLJIVOST. SAT 13 Nadalje dajemo primer implementacije valuacije. class Valuation { public: bool operator[](unsigned 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[](unsigned p) { return _m[p]; } private: std::map<unsigned, bool> _m; }; 2.3 Tautologičnost. Zadovoljivost. SAT 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 10. Pojmove zadovoljivost, nezadovoljivost, tautologičnost i porecivost definišemo na sledeći način: 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. Treba napomenuti da je dovoljno da umemo efikasno da razrešimo samo jedan od ova četiri pitanja da bismo znali preostala tri. Npr. ako je F zadovoljiva, onda F nije tautologija, i slično. U nekim slučajevima, potrebno je da je više formula istovremeno zadovoljeno. Definicija 11. Valuacija v zadovoljava skup formula tj. predstavlja model skupa formula Γ (što označavamo v Γ) akko je v model svake formule iz Γ. Kažemo da je skup formula zadovoljiv akko ima model. Obratiti pažnju da se traži da postoji jedna valuacija koja istovremeno zadovoljava sve formule.

22 14 GLAVA 2. ISKAZNA LOGIKA Logičke posledice, ekvivalentne formule, ekvizadovoljive formule Definicija 12. Pojmove logička posledica, ekvivalentna formula i ekvizadovoljiva formula definišemo na sledeći način: Formula F je logička posledica skupa formula Γ (što označavamo Γ 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 F 1 F 2 ) ako je svaki model formule F 1 ujedno model formule F 2 i obratno (tj. ako F 1 F 2 i F 2 F 1 ). Formule F 1 i F 2 su ekvizadovoljive (slabo ekvivalentne) (što označavamo F 1 s F 2 ) akko je F 1 zadovoljiva ako i samo ako je F 2 zadovoljiva. Dajmo neke primere. 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. Ako je Γ konačan skup, npr. Γ = {F 1,..., F n }, onda se činjenica Γ F može zapisati i kao F 1,..., F n F. Sada ćemo dati jedan stav (bez dokaza) koji ćemo koristiti nadalje. Stav 13. Važe sledeći iskazi: 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 1 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. Dokaz. Dokažimo prvu lemu iz ovog stava 4. Pretpostavljamo da važi F 1,..., F n F. Pretpostavimo da formula F 1... F n F nije tautologija. Tada postoji valuacija u kojoj je formula F netačna, a formula F 1... F n tačna. Ako je u toj valuaciji formula 4 Dokazi preostalih lema se mogu pronaći u [4].

23 2.3. TAUTOLOGIČNOST. ZADOVOLJIVOST. SAT 15 F 1 F 2... F n tačna, onda je tačna i svaka od formula F 1, F 2,..., F n. Sa druge strane, kako važi F 1, F 2,..., F n F, sledi da je u toj valuaciji tačna i formula F, što protivreči prethodnom zaključku da formula F nije tačna u toj valuaciji. Dakle, pogrešna je pretpostavka da F 1... F n = F nije tautologija. Pretpostavljamo da je formula F 1... F n = F tautologija. Pretpostavimo da ne važi F 1,..., F n F. To znači da postoji valuacija u kojoj je svaka od formula F 1,..., F n tačna, a formula F nije. U toj valuaciji je tačna i formula F 1... F n, a netačna je formula F 1... F n = F. Odatle sledi da formula F 1... F n = F nije tautologija, što je suprotno pretpostavci. Dakle, mora da važi F 1,..., F n F, što je i trebalo dokazati SAT problem Već smo rekli da je dovoljno ispitati jedan od pitanja da li je formula zadovoljiva ili nezadovoljiva ili tautologija ili poreciva da bismo dobili odgovor na preostala tri pitanja. Zbog svojih odredenih svojstava, ispostavlja se da je ispitivanje zadovoljivosti proizvoljne formule najpogodniji pristup od kojeg polazimo da bismo dobili odgovor na preostala pitanja. Ispitivanje zadovoljivosti iskazne formule naziva se SAT problem. On predstavlja centralni problem teorijskog računarstva. SAT je prvi problem za koji je dokazano da je NP kompletan i za njega postoje ogromne praktične primene. Problem ispitivanja tautologičnosti lako se svodi na SAT korišćenjem sledećeg stava. Stav 14. Važe sledeći iskazi: 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. Kroz istoriju su se javljali razni pristupi rešavanja SAT problema. Na ovom mestu će biti nabrojani oni najpoznatiji. 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 linearne vremenske i prostorne složenosti (doduše koji ne čuva ekvivalentnost, ali čuva zadovoljivost). Zadovoljivost formula u KNF se dalje ispituje nekim od tzv. klauzalnih algoritama. Oni su: DP procedura (iskazna rezolucija). Problem ove procedure je bio u brzom popunjavanju memorije, zbog čega se brzo odustalo od nje.

24 16 GLAVA 2. ISKAZNA LOGIKA DPLL procedura. Za razliku od DP procedure, DPLL procedura ne koristi rezoluciju. Zauzima manje memorije, pa je bila glavno sredstvo od godine do sredine 1990-ih godina. CDCL SAT rešavači. Predstavlja unapredenu DPLL proceduru (iterativna implementacija). Kombinuje rezoluciju i DPLL pristup. Stohastički SAT rešavači. Zasnovani su na randomizaciji. Zbog toga ne garantuju uvek definitivan odgovor. O većini navedenih pristupa biće reči u okviru kursa. Sistemi za automatsko rezonovanje Poželjna svojstva svakog sistema za ispitivanje (ne)zadovoljivosti su: 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. 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. 2.4 Istinitosne tablice Istinitosne tablice predstavljaju metod koji se oslanja na svodenje na ispitivanje konačno mnogo valuacija. Vrednost formule je odredena vrednošću njenih atoma. Stav 15. Vaze sledeći iskazi: 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). Naredni primer ilustruje metod ispitivanja tautologičnosti istinitosnom tablicom.

25 2.4. ISTINITOSNE TABLICE 17 (p (q r)) ( p r) Implementacija istinitosnih tablica u programskim jezicima 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); } 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 [])" Za metod istinitostih tablica potrebno je nabrojati sve valuacije za daci skup atoma. Postavlja se pitanje implementacije ovog zadatka. Rekurzivno rešenje u funkcionalnom programskom jeziku je dato narednim kodom.

26 18 GLAVA 2. ISKAZNA LOGIKA primrec allvaluations where "allvaluations [] v l = v # l" "allvaluations (p#ps) v l = (allvaluations ps (v (p := False)) (allvaluations ps (v (p := True)) l)" Rekurzivno rešenje u programskom jeziku C++ je dato narednim kodom. 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 { unsigned 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); } } } Vrlo često će nam biti korisno da štampamo tablicu istinitosti. Naredni kôd u programskom jeziku C++ ilustruje kako je to moguće uraditi. 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; Neka treba generisati valuacije leksikografski na sledeći način: 000, 001, 010, 011, 100, 101, 110, 111. 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 iscrpe sve cifre (u slučaju svih jedinica). Npr

27 2.5. ZAMENA 19 Naredni kôd u programskom jeziku C++ ilustruje kako je to moguće uraditi. 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; } }; Ovim se dolazi do iterativne funkcije kojom se proverava da li je formula tautologija. 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; } 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; } 2.5 Zamena Definicija 16. 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.

28 20 GLAVA 2. ISKAZNA LOGIKA Ako u formuli (p q) r (p q), zamenimo potformulu p q formulom p q, dobija se formula ( p q) r ( p q) Implementacija zamene Zamena u funkcionalnom programskom jeziku se može implementirati na sledeći način: 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) ))" Teorema o zameni Svojstva zamene su opisana tzv. stavom. Teoremom o zameni, koja je opisana narednim Stav 17. Važe naredni iskazi: 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. Navedimo neke primere. 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. Formula p q q p je tautologija, pa je i (r s) (s r) (s r) (r s) tautologija.

29 2.6. NORMALNE FORME. DEFINICIONA (CAJTINOVA) KNF 21 Važi p q q p, pa važi i r (p q) r (q p). 2.6 Normalne forme. Definiciona (Cajtinova) KNF Pojam normalne forme Odredenim transformacijama algebarski izrazi se svode na oblike pogodnije za odredene zadatke. Izraz (x + y)(y x) + y + x 2 se svodi na y 2 + y. Izraz x 3 + x 2 y + xy + z je razvijeni oblik polinoma, koji je pogodan npr. za sabiranje dva polinoma. Izraz (x + 1)(y + 2)(z + 3) je faktorisani oblik polinoma, koji je pogodan 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) Transformacije prezapisivanjem 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). 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 je pravilo koje se primenjuje instanca tautologije, semantička opravdanost njegove primene u principu sledi na osnovu teoreme o zameni Eliminisanje konstanti Naredne logičke ekvivalencije mogu se upotrebiti za uprošćavanje formule eliminisanjem logičkih konstanti. P P P P P P P P P P P P

30 22 GLAVA 2. ISKAZNA LOGIKA P P P P P P P P P P P P P P Uprošćavanje se često u literaturi naziva simplifikacija. Prikažimo implementaciju simplifikacije 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))" Dajmo jedan primer. Uprošćavanjem formule ( (x )) (y ( z)) dobija se x y NNF Definicija 18. Formula je u negacionoj normalnoj formi (NNF) akko je sastavljena od literala korišćenjem isključivo veznika i ili je logička konstanta ( ili ). Formule,, p, p q i p (q ( r) s) su u NNF, dok p i p (q r) to nisu. Za dovodenje formule do NNF koristimo dva skupa pravila. Prvi skup pravila, uklanjanje implikacija i ekvivalencija, dato je sledećim pravilima:

31 2.6. NORMALNE FORME. DEFINICIONA (CAJTINOVA) KNF 23 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) Drugo pravimo, spuštanje negacije, dato je sledećim pravilima: (P Q) P Q (P Q) P Q P P Prikažimo implementaciju 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)" Dajmo jedan 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)

32 24 GLAVA 2. ISKAZNA LOGIKA Razmotrimo složenost NNF transformacije. Zahvaljujući uvećanju formule prilikom eliminacije ekvivalencije, u najgorem slučaju, NNF formula 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: DNF i KNF (p q) p q. Definicija 19. 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 Ako je formula u DNF ona je i u NNF, uz dodatno ograničenje da je disjunkcija konjunkcija. Definicija 20. Formula je u konjunktivnoj normalnoj formi (KNF) 5 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 Ako je formula u KNF ona je i u NNF, uz dodatno ograničenje da je konjunkcija disjunkcija. Definicija 21. Za formulu F kažemo da je DNF (KNF) formule F akko je F u DNF (KNF) i važi F F. Stav 22. 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. 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. Npr. {{p, q}, {q, r, s}}. 5 engl. CNF (Conjunctive Normal Form). l ij l ij

33 2.6. NORMALNE FORME. DEFINICIONA (CAJTINOVA) KNF 25 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)" DIMACS CNF DIMACS CNF predstavlja standardni format zapisa KNF formula u tekstualne datoteke. Koristi se kao ulaz SAT rešavača. Neka je data sledeća formula u KNF-u: (x 1 x 2 ) ( x 2 x 3 ) ( x 1 x 2 x 3 ) x 3 Ova formula se u DIMACS CNF formatu predstavlja na sledeći način: p cnf Prezapisivanje DNF i KNF Formula se može prezapisati iz DNK u KNF, i obratno, primenom tzv. zakona distributivnosti. NNF formula se može prevesti u DNF primenom sledećih 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 sledećih 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. Prikažimo implementaciju u funkcionalnom jeziku.

34 26 GLAVA 2. ISKAZNA LOGIKA 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" Dajmo jedan 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). Prikažimo implementaciju 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)"

35 2.6. NORMALNE FORME. DEFINICIONA (CAJTINOVA) KNF 27 Prikažimo implementaciju KNF za reprezentaciju u obliku lista. Pre toga, možemo primetiti sledeće. Za izgradnju KNF procedure može (naravno, ne mora) se iskoristiti dualnost: m n p akko p i=1 j=1 m i=1 j=1 p ij n 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)" Kanonski DNF i KNF veza sa istinitosnim tablicama Naredne dve definicije prikazuje vezu izmedu DNF i istinitosnih tablica, odnosno, vezu izmedu KNF i istinitosnih tablica, redom. Definicija 23. 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 p v i, pri čemu je p v i = { pi, ako v p i p i, inače. Definicija 24. Ako je data formula F koja nije tautologija, i koja sadrži atome p 1,..., p n, njena kanonska KNF je n pri čemu je pˆv i = v F i=1 pˆv i, { pi, ako v p i p i, inače.

36 28 GLAVA 2. ISKAZNA LOGIKA Dajmo jedan primer. Neka je data formula i njena istinitosna tablica Kanonska DNF date formule je Kanonska KNF date formule je p q r (p (q r)) ( p r) ( p q r) (p q r) (p q r) (p q r) (p q r) (p q r) ( p q r) ( p q r) Minimalizacija DNF i KNF Pomenimo da postoje tehnike koje minimalizuju DNF (ili KNF). To su: Algebarske transformacije, Karnoove 6 mape, Kvin-MekKlaski 7 algoritam (prosti implikanti). 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 dovodi do 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. 6 Maurice Karnaugh, Razvijen od strane Willard Van Orman Quine ( ) i unapreden od strane Edward J. McCluskey ( ).

37 2.6. NORMALNE FORME. 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. Ideja potiče od Cajtina 8. Za potformule se uvode novi atomi (iskazna slova). Dajmo jedan primer. (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 ) 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 ) Prikažimo implementaciju definicione KNF. 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" 8 Tseitin

Automatsko rezonovanje beleške sa predavanja. Uvod. Filip Marić. Matematički fakultet, Univerzitet u Beogradu. Proletnji semestar 2018.

Automatsko rezonovanje beleške sa predavanja. Uvod. Filip Marić. Matematički fakultet, Univerzitet u Beogradu. Proletnji semestar 2018. Automatsko rezonovanje beleške sa predavanja Uvod Filip Marić Matematički fakultet, Univerzitet u Beogradu Proletnji semestar 2018. O kursu automatskog rezonovanja Pregled 1 O kursu automatskog rezonovanja

Διαβάστε περισσότερα

Automatsko rezonovanje beleške sa predavanja Iskazno rezonovanje

Automatsko rezonovanje beleške sa predavanja Iskazno rezonovanje Automatsko rezonovanje beleške sa predavanja Iskazno rezonovanje Filip Marić Matematički fakultet, Univerzitet u Beogradu Proletnji semestar 2018. Uvod Pregled 1 Uvod 2 Sintaksa i semantika iskazne logike.

Διαβάστε περισσότερα

Iskazna logika 1. Matematička logika. Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia.

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 beleške sa predavanja. Uvod. Filip Marić. Matematički fakultet, Univerzitet u Beogradu. Proletnji semestar 2011.

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 3. Matematička logika u računarstvu. novembar 2012

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.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

Διαβάστε περισσότερα

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

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)

Διαβάστε περισσότερα

Matematička logika. novembar 2012

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

Διαβάστε περισσότερα

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

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,

Διαβάστε περισσότερα

Diskretna matematika. Prof. dr Olivera Nikolić

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

Διαβάστε περισσότερα

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

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

Διαβάστε περισσότερα

Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda

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

Διαβάστε περισσότερα

Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda

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

Διαβάστε περισσότερα

Teorijske osnove informatike 1

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

Διαβάστε περισσότερα

Elementi spektralne teorije matrica

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

Διαβάστε περισσότερα

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

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

Διαβάστε περισσότερα

Osnovno svojstvo iskaza, ma kako složen bio, jeste da je on ili tačan, ili netačan.

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 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

Διαβάστε περισσότερα

Tvrd enje 3: Ako su formule A i A B tautologije, onda je tautologija. Dokaz: Neka su A i A B tautologije.

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

Διαβάστε περισσότερα

5. Karakteristične funkcije

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

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

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

Διαβάστε περισσότερα

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) 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

Διαβάστε περισσότερα

Arhitektura računara

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

Διαβάστε περισσότερα

41. Jednačine koje se svode na kvadratne

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

Διαβάστε περισσότερα

SISTEMI NELINEARNIH JEDNAČINA

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

Διαβάστε περισσότερα

SKUPOVI I SKUPOVNE OPERACIJE

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

Διαβάστε περισσότερα

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 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

Διαβάστε περισσότερα

Operacije s matricama

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

Διαβάστε περισσότερα

10 Iskazni račun - deduktivni sistem za iskaznu logiku

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

Διαβάστε περισσότερα

Arhitektura računara. Bulova algebra. Elementi logike. Logičke funkcije. Potpuni sistemi logičkih funkcija. Uvod u organizaciju računara 1.

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

Διαβάστε περισσότερα

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

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

Διαβάστε περισσότερα

Zadaci iz Osnova matematike

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

Διαβάστε περισσότερα

Zavrxni ispit iz Matematiqke analize 1

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

Διαβάστε περισσότερα

Iskazna logika. October 26, Počeci logike i matematičke logike

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

Διαβάστε περισσότερα

Sintaksa i semantika u logici

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

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

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

Διαβάστε περισσότερα

III VEŽBA: FURIJEOVI REDOVI

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/.

Διαβάστε περισσότερα

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

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.

Διαβάστε περισσότερα

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 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,

Διαβάστε περισσότερα

8 Predikatski račun kao deduktivni sistem

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

Διαβάστε περισσότερα

SOPSTVENE VREDNOSTI I SOPSTVENI VEKTORI LINEARNOG OPERATORA I KVADRATNE MATRICE

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

Διαβάστε περισσότερα

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 ).

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

Διαβάστε περισσότερα

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 IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe

Διαβάστε περισσότερα

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

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

Διαβάστε περισσότερα

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

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

Διαβάστε περισσότερα

7 Algebarske jednadžbe

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.

Διαβάστε περισσότερα

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

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,

Διαβάστε περισσότερα

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

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

Διαβάστε περισσότερα

Rezolucija u predikatskoj logici

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

Διαβάστε περισσότερα

[1] Formalni jezik iskazne logike

[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

Διαβάστε περισσότερα

Napravimo neformalnu rekapitulaciju osnovnih pojmova koje smo obradili na prethodnom predavanju.

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

Διαβάστε περισσότερα

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

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) =

Διαβάστε περισσότερα

numeričkih deskriptivnih mera.

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,

Διαβάστε περισσότερα

18. listopada listopada / 13

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

Διαβάστε περισσότερα

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 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

Διαβάστε περισσότερα

1 Promjena baze vektora

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

Διαβάστε περισσότερα

Sistemi veštačke inteligencije primer 1

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

Διαβάστε περισσότερα

Ispitivanje toka i skiciranje grafika funkcija

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

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

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

Διαβάστε περισσότερα

Predikatska logika - III deo. Jelena Ignjatović

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

Διαβάστε περισσότερα

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

(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,

Διαβάστε περισσότερα

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

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:

Διαβάστε περισσότερα

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2. Sume kvadrata Koji se prirodni brojevi mogu prikazati kao zbroj kvadrata dva cijela broja? Propozicija 1. Ako su brojevi m i n sume dva kvadrata, onda je i njihov produkt m n takoder suma dva kvadrata.

Διαβάστε περισσότερα

Diskretna Matematika

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

Διαβάστε περισσότερα

Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18.

Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18. Deljivost 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18. Rešenje: Nazovimo naš izraz sa I.Važi 18 I 2 I 9 I pa možemo da posmatramo deljivost I sa 2 i 9.Iz oblika u kom je dat

Διαβάστε περισσότερα

Predikatska logika. January 8, 2012

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

Διαβάστε περισσότερα

Matematička logika. Madarász Sz. Rozália. Departman za matematiku i informatiku Prirodno-matematički fakultet Univerzitet u Novom Sadu

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

Διαβάστε περισσότερα

Bulove jednačine i metodi za njihovo

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

Διαβάστε περισσότερα

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

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

Διαβάστε περισσότερα

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 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.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

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

Διαβάστε περισσότερα

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

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;

Διαβάστε περισσότερα

ELEKTROTEHNIČKI ODJEL

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,

Διαβάστε περισσότερα

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

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

Διαβάστε περισσότερα

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

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

Διαβάστε περισσότερα

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ć 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

Διαβάστε περισσότερα

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

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

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

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

Διαβάστε περισσότερα

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

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

Διαβάστε περισσότερα

APROKSIMACIJA FUNKCIJA

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

Διαβάστε περισσότερα

Matematička analiza 1 dodatni zadaci

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

Διαβάστε περισσότερα

Linearna algebra 2 prvi kolokvij,

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

Διαβάστε περισσότερα

Algoritmi i strukture podataka - 1.cas

Algoritmi i strukture podataka - 1.cas Algoritmi i strukture podataka - 1.cas Aleksandar Veljković October 2016 Materijali su zasnovani na materijalima Mirka Stojadinovića 1 Složenost algoritama Približna procena vremena ili prostora potrebnog

Διαβάστε περισσότερα

Predikatska logika - II deo. Jelena Ignjatović

Predikatska logika - II deo. Jelena Ignjatović Predikatska logika - II deo Jelena Ignjatović Logika i teorija skupva Ugnježdeni kvantifikatori Ugnježdeni kvantifikatori U matematici i informatici se često sreću kvantifikatori koji se javljaju u oblasti

Διαβάστε περισσότερα

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

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,

Διαβάστε περισσότερα

1.1 Iskazni (propozicioni) račun

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

Διαβάστε περισσότερα

1 Algebarske operacije i algebraske strukture

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

Διαβάστε περισσότερα

Riješeni zadaci: Nizovi realnih brojeva

Riješeni zadaci: Nizovi realnih brojeva Riješei zadaci: Nizovi realih brojeva Nizovi, aritmetički iz, geometrijski iz Fukciju a : N R azivamo beskoači) iz realih brojeva i ozačavamo s a 1, a,..., a,... ili a ), pri čemu je a = a). Aritmetički

Διαβάστε περισσότερα

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:

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

Διαβάστε περισσότερα

Sortiranje prebrajanjem (Counting sort) i Radix Sort

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

Διαβάστε περισσότερα

Vremenske i prostorne klase složenosti

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.

Διαβάστε περισσότερα

FORMALNI SISTEMI KAO OSNOVA ZA PROJEKTOVANJE KOMPAJLERA

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

Διαβάστε περισσότερα

2. Tautologije; Bulove funkcije (SDNF, SKNF)

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

Διαβάστε περισσότερα

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. 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

Διαβάστε περισσότερα

Funkcije. Predstavljanje 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

Διαβάστε περισσότερα

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

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

Διαβάστε περισσότερα

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.

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

Διαβάστε περισσότερα

Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda sa jednakošću

Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda sa jednakošću Automatsko rezonovanje beleške sa predavanja Rezonovanje u logici prvog reda sa jednakošću Filip Marić Matematički fakultet, Univerzitet u Beogradu Proletnji semestar 2018. Normalni modeli Pregled 1 Normalni

Διαβάστε περισσότερα

Linearna algebra 2 prvi kolokvij,

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 )

Διαβάστε περισσότερα

5 Ispitivanje funkcija

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:

Διαβάστε περισσότερα