ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML
|
|
- Matyáš Dušek
- před 8 lety
- Počet zobrazení:
Transkript
1 10 ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1
2 ROZHODOVÁNÍ TEORIÍ POMOCÍ SAT ŘEŠIČE (SMT) 2 Rozhodovací procedury a verifikace, 10. přednáška
3 SAT řešič a obecné teorie (1) Budeme chtít využít efektivity SAT řešiče při rozhodování obecných teorií. Nechť T je nějaká teorie (například logika s rovností a neinterpretovanými funkcemi). Budeme předpokládat existenci rozhodovací procedury pro konjunktivní fragment teorie T (rozhodované formule mají tvar konjunkce literálů) rozhodovací procedura bude značena DECIDE T. Cílem je zkonstruovat rozhodovací proceduru pro T, která bude vytvořena integrací rozhodovací procedury DECIDE T a SAT řešiče. Obě technologie budou kooperovat SAT řešič vybírá literály, které je nutno splnit, aby byla splněna booleovská struktura formule. Rozhodovací procedura DECIDE T kontroluje, zda je výběr provedený SAT řešičem konzistentní s teorií T. Výhodou je efektivita, obecnost a modularita 3 Rozhodovací procedury a verifikace, 10. přednáška
4 SAT řešič a obecné teorie (2) Teorie T bude bezkvantifikátorová teorie se signaturou Σ. Výrokové kódování literálů: Každému Σ-literálu l bude přiřazena výroková proměnná e(l), kterou budeme nazývat výrokovým kódem literálu l (propositional encoder). Výrokové kódování formulí v NNF tvaru: Kódování lze rozšířit na celou formuli, nechť φ je Σ-formule v NNF tvaru, potom e(φ) bude označovat výrokovou formuli, která vznikla nahrazením každého literálu ve φ jeho výrokovým kódem. Formule e(φ) se nazývá výroková kostra formule φ (propositional skeleton). Př.: Σ-literál x=y bude kódován výrokovou proměnnou e(x=y). φ := (x = y) (x = z) nechť je Σ-formule. Výroková kostra formule φ tedy je e(φ) := e(x = y) e(x = z). SAT řešič bude pracovat nad (postupně modifikovanou) výrokovou kostrou rozhodované formule. 4 Rozhodovací procedury a verifikace, 10. přednáška
5 Integrace SAT řešiče a DECIDE T (1) Nechť T je teorie rovnosti. Uvažme formuli φ v negačně normálním tvaru (NNF), kde: φ := (x = y) ((y = z x z) (x = z)). Nejprve je určena výroková kostra formule φ: e(φ) := e(x = y) (e(y = z) e(x z)) e(x = z)). Jelikož jsou kódovány literály a nikoli atomy, e(φ) neobsahuje žádné negace a je tedy triviálně splnitelná. Budeme používat výrokovou formuli B, která se bude postupně vyvíjet. Na začátku položíme B = e(φ). Formule B je předložena SAT řešiči k vyřešení. 5 Rozhodovací procedury a verifikace, 10. přednáška
6 Integrace SAT řešiče a DECIDE T (2) Přepokládejme, že SAT řešič vrátil splňující ohodnocení α formule B (tedy výrokové kostry), kde: α := { e(x = y) True, e(y = z) True, e(x z) True, e(x = z) False } Rozhodovací procedura DECIDE T bude nyní rozhodovat, zda je konjunkce literálů, která odpovídá ohodnocení výrokových kódů, splnitelná. Množinu literálů, jež odpovídá ohodnocení α bude označována jako Th(α): Literál l je zařazen do Th(α), jestliže α(e(l)) = True. Literál l je zařazen do Th(α), jestliže α(e(l)) = False. Th^(α) bude značit konjunkci literálů v Th(α); tedy Th^(α) = lth(α) l. Konkrétně: Th^(α) = (x = y) (y = z) (x z) (x = z) 6 Rozhodovací procedury a verifikace, 10. přednáška
7 Integrace SAT řešiče a DECIDE T (3) Rozhodovací procedura DECIDE T detekuje, že Th^(α) = (x = y) (y = z) (x z) (x = z) není splnitelná. Th^(α) je tím pádem validní. K formuli B je přidána (konjunkcí) výroková kostra e(th^(α)), kde: e(th^(α)) := (e(x = y) e(y = z) e(x z) e(x = z)). Tato formule (blokující klauzule či lemma) zakazuje ohodnocení α, to znamená, že případné nové splňující ohodnocení B musí být různé od α. Obecně lemma označujeme jako t. Uvedená volba blokující formule není nutně nejlepší vzhledem k urychlení prohledávání. SAT řešiči předložíme k vyřešení formuli B po modifikaci: α := { e(x = y) True, e(y = z) True, e(x z) False, e(x = z) True } Tedy Th^(α ) = (x = y) (y = z) (x z) (x = z). 7 Rozhodovací procedury a verifikace, 10. přednáška
8 Integrace SAT řešiče a DECIDE T (4) Nyní je vidět, jak vypadá integrace SAT řešiče a rozhodovací procedury pro teorii T DECIDE T. SAT řešič α e(t) Th^(α) DECIDE T Procedura DECIDE T detekuje, že formule: Th^(α ) = (x = y) (y = z) (x z) (x = z) je splnitelná. Ohodnocení, které splňuje Th^(α ) rovněž splňuje původní formuli s NNF výrokovou strukturou: φ = (x = y) ((y = z x z) (x = z)). Uvedený proces lze několika směry vylepšit: Není třeba čekat na úplné ohodnocení formule B. Když předložíme proceduře DECIDE T formuli Th^(β), kde β je částečné ohodnocení, a DECIDE T odpoví, že Th^(β) je nesplnitelná. Potom je lemma t silnější, neboť blokuje všechna ohodnocení, která rozšiřují β. t 8 Rozhodovací procedury a verifikace, 10. přednáška
9 Integrace SAT řešiče a DECIDE T (5) Pokračování vylepšení: Význam může mít i situace, když DECIDE T odpoví, že Th^(β) je splnitelná pro částečné ohodnocení β. V takovém případě může DECIDE T odvodit nové implikace. Situaci ilustrujeme na příkladu: β = { e(x = y) True, e(y = z) True } Rozhodovací procedura DECIDE T obdrží formuli: Th^(β) = (x = y) (y = z) A může (pokud je k tomu uzpůsobená) odvodit, že Th^(β) implikuje formuli (x = z), tuto informaci je možno vrátit zpět do SAT řešiče. Předpokládejme, že DECIDE T bude toto umět. Tedy ohodnocení β (díky zpětně propagované informaci) implikuje e(x=z)true a e(x z)false. Toto tzv. propagování teorií (theory propagation) lze přidat ke standardní BCP. 9 Rozhodovací procedury a verifikace, 10. přednáška
10 Líné kódování (1) Nechť φ je Σ-formule ve tvaru NNF: Množina všech literálů formule φ se bude značit jako lit(φ). Zformalizujeme rozhodovací proces demonstrovaný na předchozím příkladě. Následující algoritmus odpoví, zda je vstupní formule φ splnitelná. function LAZY-BASIC(φ): boolean B e(φ) while True do (result,α) SOLVE-SAT(B) if not result then return False else (result,t) DECIDE T (Th^(α)) if result then return True B B e(t) function SOLVE-SAT(B): (boolean,assignment) Rozhodne výrokovou formuli, vrátí indikátor splnitelnosti, případně splňující ohodnocení. φ je nesplnitelná φ je splnitelná function DECIDE T (ψ): (boolean,formula) Rozhodne konjunktivní Σ- formuli ψ v teorii T, vrátí indikátor splnitelnosti, případně lemma. 10 Rozhodovací procedury a verifikace, 10. přednáška
11 Líné kódování (2) Na formuli t, kterou vrací DECIDE T, jsou kladeny jisté podmínky: (i) Formule t musí být validní v teorii T (tedy T-validní). Př.: Nechť T je teorie rovnosti, pak formule ((x = y) (y = z)) (x = z) je validní v T. (ii) Formule t může obsahovat pouze atomy, které se vyskytují v původní vstupní formuli φ. (iii) Výrokový kód formule t musí zakazovat ohodnocení α; tedy e(t) není splněna ohodnocením α. Podmínka (i) je postačující pro korektnost algoritmu (odpoví-li, odpoví správně), (ii) a (iii) pak garantují, že algoritmus vždy skončí (podmínka (iii) zaručuje, že se žádné ohodnocení nebude opakovat). 11 Rozhodovací procedury a verifikace, 10. přednáška
12 Integrace líného kódování a DPLL (1) Inkrementální splnitelnost (incremental satisfiability): Nechť B i označuje formuli B v i-té iteraci funkce LAZY-BASIC. Platí, že podmínka reprezentovaná formulí B i+1 je silnější než B i pro každé i=1,2,... Každou naučenou klauzuli, kterou SAT řešič odvodil při řešení B i pro i{1,2,...}, lze použít při řešení B j pro j > i. Jedná se o speciální případ inkrementální splnitelnosti - klauzule jsou pouze přidávany (obecně se mohou klauzule i odebírat, pak je otázka, které naučené klauzule mohou být znovu použity). Volání SOLVE-SAT ve funkci LAZY-BASIC lze nahradit voláním inkrementálního SAT řešiče zvýšení efektivity. Lepší variantou je integrovat rozhodovací proceduru pro teorii T (tedy funkci DECIDE T ) přímo do procedury DPLL (na vstupu je opět Σ-formule φ ve tvaru NNF). 12 Rozhodovací procedury a verifikace, 10. přednáška
13 Integrace líného kódování a DPLL (2) function LAZY-DPLL(φ): boolean B CNF(e(φ)) if BCP(B,α)=NULL then return False while True do (x,v) SELECT(φ,α) if (x,v)=null then (result,t) DECIDE T (Th^(α)) if result then return True B B e(t) while not result where (result,α) BCP(B,α) do (level,φ) ANALYZE-CONFLICT(B,α) if level < 0 then return False else BACK-TRACK(B,level) else α α {α(x)=v} while not result where (result,α) BCP(B,α) do (level,φ) ANALYZE-CONFLICT(B,α) if level < 0 then return False else BACK-TRACK(B,level) 13 Rozhodovací procedury a verifikace, 10. přednáška φ je nesplnitelná φ je splnitelná φ je nesplnitelná φ je nesplnitelná function CNF(B): formula Převede zadanou formuli na tvar CNF. procedure BACK-TRACK (B, level) Vrátí se na zadanou úroveň rozhodování, zruší pozdější rozhodnutí. function SELECT (B,α): (variable, boolean) Vybere neohodnocenou proměnnou vzhledem k α a její ohodnocení; vrací NULL, když všechny proměnné ohodnoceny
14 Integrace líného kódování a DPLL (3) Algoritmus je možné dále vylepšit, uvažujme formuli φ, která obsahuje celočíselnou proměnnou x 1 a literály x 1 10 a x 1 <0 (mimo jiné). Předpokládejme, že bylo vybráno ohodnocení e(x 1 10) True a e(x 1 <0) True. Rozhodovací procedura DECIDE T pro T by ihned detekovala nesplnitelnost pro konjunkci těchto dvou literálů. Ovšem DECIDE T je zavolána až v okamžiku, kdy ohodnocení výrokových proměnných je úplné. Tedy ohodnocování následující po ohodnocení e(x 1 10) True a e(x 1 <0) True představuje zbytečnou práci. Rozhodovací proceduru DECIDE T by bylo vhodné volat už pro částečná ohodnocení výrokových kódů: Částečná ohodnocení, která nelze rozšířit na úplná splňující, mohou být včas zakázána. Implikovaná ohodnocení mohou být vrácena zpět SAT řešiči. Př.: Jakmile e(x 1 10) True, může DECIDE T odvodit, že e(x 1 <0) musí být False. 14 Rozhodovací procedury a verifikace, 10. přednáška
15 Pokročilejší integrace s DPLL (1) Na vstupu je opět Σ-formule φ ve tvaru NNF, algoritmus odpoví, zda je φ splnitelná function DPLL T (φ): boolean B CNF(e(φ)) if BCP(B,α)=NULL then return False while True do (x,v) SELECT(φ,α) if (x,v)=null then return True α α {α(x)=v} do while not result where (result,α) BCP(B,α) do (level,φ) ANALYZE-CONFLICT(B,α) if level < 0 then return False else BACK-TRACK(B,level) (ignoredresult,t) DECIDE T (Th^(α)) B B e(t) while t True 15 Rozhodovací procedury a verifikace, 10. přednáška φ je nesplnitelná Zde dojde k propagaci teorie T do SAT řešiče. φ je splnitelná, α je úplné ohodnocení. φ je nesplnitelná Na formuli t se kladou další podmínky, aby byla zaručena konečnost algoritmu.
16 Pokročilejší integrace s DPLL (2) Podmínky, které musí splňovat odvozená formule t: Formule t musí být implikována φ a musí se omezovat na atomy vyskytující se v φ. Jestliže Th^(α) je nesplnitelná, potom e(t) musí zakazovat ohodnocení α. Jestliže Th^(α) je splnitelná, potom je potřeba splnit jednu ze dvou následujících podmínek, aby byla zajištěna konečnost algoritmu: (i) e(t) je vynucující klauzule (konfliktní klauzule taková, že obsahuje právě jeden literál z aktuální rozhodovací úrovně), po přidání e(t) k B je v rámci volání BCP ohodnocen kód nějakého literálu. (ii) Když DECIDE T nedokáže najít formuli t, že e(t) je vynucující klauzule, pak t i e(t) jsou ekvivalentní hodnotě True. Pokud jsou všechny výrokové proměnné ohodnocené a Th^(α) je splnitelná, potom nastane případ (ii). 16 Rozhodovací procedury a verifikace, 10. přednáška
17 Pokročilejší integrace s DPLL (3) Uvažujme příklad, kdy vstupní formule φ obsahuje dva literály: x 1 10 a x 1 < 0 pro celočíselnou proměnnou x 1. Máme tedy dva výrokové kódy e(x 1 10) a e(x 1 < 0). Po ohodnocení α = {e(x 1 < 0) True}, procedura DECIDE T detekuje, že (x 1 10) je implikovaná, tedy: t = (x 1 10) (x 1 < 0) je T-validní formule. Odpovídající vynucující klauzule vzhledem k ohodnocení α tedy je: e(t) = e(x 1 10) e(x 1 < 0). Po přidání e(t) k formuli B dojde k okamžitému odvození e(x 1 < 0) (a možná k dalším odvozením). Poznámka: Používají se dvě varianty procedury DECIDE T, jedna varianta v rámci algoritmů LAZY-BASIC a LAZY-DPLL generuje blokující klauzuli, druhá varianta v rámci DPLL T, která generuje blokující klauzule, které jsou zároveň vynucující. 17 Rozhodovací procedury a verifikace, 10. přednáška
Rozhodovací procedury a verifikace Pavel Surynek, KTIML
6 Rozhodovací procedury a verifikace Pavel Surynek, KTIML http://ktiml.mff.cuni.cz/~surynek/nail094 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1 Lineární aritmetika Budeme zabývat rozhodovacími
VíceVýroková a predikátová logika - V
Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský
VíceMatematická logika. Rostislav Horčík. horcik
Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 15 Splnitelnost množin Definice Množina
VíceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou
VíceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou
VíceVýroková logika - opakování
- opakování ormální zavedení Výroková formule: Máme neprázdnou nejvýše spočetnou množinu A výrokových proměnných. 1. Každá proměnná je výroková formule 2. Když α, β jsou formule, potom ( α), (α β), (α
VíceVýroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a
Více12. Globální metody MI-PAA
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
VíceVýroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2014/2015 1 / 21 Výroková logika Horn-SAT Horn-SAT Jednotková
VíceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce
VíceMatematická logika. Rostislav Horčík. horcik
Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 15 Sémantická věta o dedukci Věta Pro
VíceZáklady logiky a teorie množin
Pracovní text k přednášce Logika a teorie množin (I/2007) 1 1 Struktura přednášky Matematická logika 2 Výroková logika Základy logiky a teorie množin Petr Pajas pajas@matfyz.cz Predikátová logika 1. řádu
Více3.10 Rezoluční metoda ve výrokové logice
3.10. Rezoluční metoda ve výrokové logice [070405-1102 ] 27 3.10 Rezoluční metoda ve výrokové logice Rezoluční metoda rozhoduje, zda daná množina klausulí je splnitelná nebo je nesplnitelná. Tím je také
Vícevhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí
Rezoluce: další formální systém vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí pracujeme s formulemi v nkf (též klauzulárním tvaru), ale používáme
VíceUnbounded Model Checking
Unbounded Model Checking Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 25. října 2011 Evropský sociální fond Praha & EU: Investujeme do
VíceKapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)
- 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje
VíceFormální systém výrokové logiky
Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)
VíceVýroková a predikátová logika - XIII
Výroková a predikátová logika - XIII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XIII ZS 2013/2014 1 / 13 Úvod Algoritmická (ne)rozhodnutelnost Které
VíceProgramování. s omezujícími podmínkami. SAT a lokáln. Algoritmus GSAT. Algoritmus GSAT. Roman Barták
Lokáln lní prohledávání Programování s omezujícími podmínkami Roman Barták Katedra teoretické informatiky a matematické logiky roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak prochází úplná nekonzistentní
VíceMatematická logika. Miroslav Kolařík
Matematická logika přednáška třetí Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
VíceDatabázové systémy. * relační kalkuly. Tomáš Skopal. - relační model
Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření
VíceSAT řešič pomocí algoritmů inspirovaných přírodou. Jan Klátil, Milan Rybář
SAT řešič pomocí algoritmů inspirovaných přírodou Jan Klátil, Milan Rybář Obsah 1. Základní algoritmy pro SAT 2. SAT Competition 3. SAT a algoritmy inspirované přírodou Vteřinový úvod do SATu Rozhodnout
VíceMetoda hrubé sily, backtracking a branch-and-bound
Algoritmická matematika 3 KMI/ALM3 Mgr. Petr Osička, Ph.D. ZS 04 Metoda hrubé sily, backtracking a branch-and-bound Základní princip Metoda hrubé síly se dá popsat jednoduchou větou zkus všechny možnosti.
VíceVýroková a predikátová logika - IV
Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)
VíceLogika. 5. Rezoluční princip. RNDr. Luděk Cienciala, Ph. D.
Logika 5. Rezoluční princip RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216,
VíceNegativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1
Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit
VíceSémantika výrokové logiky. Alena Gollová Výroková logika 1/23
Výroková logika Alena Gollová Výroková logika 1/23 Obsah 1 Formule výrokové logiky 2 Alena Gollová Výroková logika 2/23 Formule výrokové logiky Výrok je oznamovací věta, o jejíž pravdivosti lze rozhodnout.
VíceVýroková a predikátová logika - X
Výroková a predikátová logika - X Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - X ZS 2015/2016 1 / 22 Herbrandova věta Úvod Redukce nesplnitelnosti na
VíceVýroková a predikátová logika - X
Výroková a predikátová logika - X Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - X ZS 2018/2019 1 / 16 Rozšiřování teorií Extenze o definice Rozšiřování
VíceOptimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
VíceNP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
NP-ÚPLNÉ PROBLÉMY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 13 Evropský sociální fond Praha & EU: Investujeme do
VíceDijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
VíceJak jsem potkal logiku. Převod formule do (úplného) disjunktivního tvaru. Jan Hora
Česká zemědělská univerzita 17. října 2011 U makléře Já: Dobrý den, rád bych koupil nějaký světlý byt. Chtěl bych, aby měl dvě koupelny a aby byl v domě výtah. A neměl by být nijak extrémně drahý. Makléř:
VíceEfektivní heuristika pro SAT založená na znalosti komponent souvislosti grafu problému *
Efektivní heuristika pro SAT založená na znalosti komponent souvislosti grafu problému * Tomáš Balyo 1 a Pavel Surynek 1 1 Katedra teoretické informatiky a matematické logiky, Matematicko-fyzikální fakulta,
VícePredikátová logika. prvního řádu
Predikátová logika prvního řádu 2 Predikát Predikát je n-ární relace - vyjadřuje vlastnosti objektů a vztahy mezi objekty - z jednoduchého výroku vznikne vypuštěním alespoň jednoho jména objektu (individua)
VíceVýroková a predikátová logika - IX
Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2015/2016 1 / 16 Tablo metoda v PL Důsledky úplnosti Vlastnosti
VíceVýroková a predikátová logika - IX
Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2013/2014 1 / 15 Korektnost a úplnost Důsledky Vlastnosti teorií
VíceMísto pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu
VÝROKOVÁ LOGIKA Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. Co je výrok nedefinujejme, pouze si řekneme, co si pod
VíceVýroková a predikátová logika - XII
Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2015/2016 1 / 15 Algebraické teorie Základní algebraické teorie
VíceZákladní pojmy matematické logiky
KAPITOLA 1 Základní pojmy matematické logiky Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. 1. Výroková logika Co je
VíceTřídy složitosti P a NP, NP-úplnost
Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není
VíceRezoluce ve výrokové logice
Rezoluce ve výrokové logice Jiří Velebil: AD0B01LGR 2015 Rezoluce ve VL 1/13 Základní myšlenky 1 M = ϕ iff X = M { ϕ} nesplnitelná. 2 X nesplnitelná iff X = ff. 3 Hledání kritických důsledků X syntakticky.
Vícepopel, glum & nepil 16/28
Lineární rezoluce další způsob zjemnění rezoluce; místo stromu směřujeme k lineární struktuře důkazu Lineární rezoluční odvození (důkaz) z Ë je posloupnost dvojic ¼ ¼ Ò Ò taková, že Ò ½ a 1. ¼ a všechna
VíceVýroková a predikátová logika - XII
Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2018/2019 1 / 15 Rezoluční metoda v PL Rezoluční důkaz Obecné
VícePODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2
PI JE JEDNODUCHÝ IMPERATIVNÍ PROGRAMOVACÍ JAZYK OBSAHUJE PODPORU ANOTACÍ NEOBSAHUJE NĚKTERÉ TYPICKÉ KONSTRUKTY PROGRAMOVACÍCH JAZYKŮ JAKO JSOU REFERENCE, UKAZATELE, GLOBÁLNÍ PROMĚNNÉ PODOBÁ SE JAZYKU C
Více1 Pravdivost formulí v interpretaci a daném ohodnocení
1 Pravdivost formulí v interpretaci a daném ohodnocení Než uvedeme konkrétní příklady, zopakujme si definici interpretace, ohodnocení a pravdivosti. Necht L je nějaký jazyk. Interpretaci U, jazyka L tvoří
VíceKaždé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α
1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny
VíceDSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right)
Indukcí dokažte následující výrok: pokud lef t a right jsou parametry funkce f a platí left right, pak volání f(array, left, right) vrátí minimální hodnotu z hodnot všech prvků v poli array na indexech
VíceLogika a logické programování
Logika a logické programování témata ke zkoušce Poslední aktualizace: 16. prosince 2009 Zkouška je písemná, skládá se obvykle ze sedmi otázek (může být více nebo méně, podle náročnosti otázek), z toho
VíceŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION
ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION FUNKCE PŘI JEJÍM ZAVOLÁNÍ, JEJÍ POSTCONDITION JE SPLNĚNA PŘI NÁVRATU Z FUNKCE (POKUD NASTANE) OBECNĚ FUNKCE
VíceLogika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.
Logika 2. Výroková logika RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216, Logika:
VíceÚvod do TI - logika Výroková logika - pokračování (3.přednáška) Marie Duží
Úvod do TI - logika Výroková logika - pokračování (3.přednáška) Marie Duží marie.duzi@vsb.cz Normální formy formulí výrokové logiky Každé formuli výrokové logiky přísluší právě jedna pravdivostní funkce,
VíceIV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat
IV113 Validace a verifikace Převod LTL formule na Büchi automat Jiří Barnat Připomenutí IV113 úvod do validace a verifikace: LTL BA str. 2/26 Problém Kripkeho struktura M LTL formule ϕ M = ϕ? Řešení pomocí
VícePřijímací zkouška - matematika
Přijímací zkouška - matematika Jméno a příjmení pište do okénka Číslo přihlášky Číslo zadání 1 Grafy 1 Pro který z následujících problémů není znám žádný algoritmus s polynomiální časovou složitostí? Problém,
VícePredik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16
Predikátová logika - přednáška 3 6. 1. 2015 () Predikátová logika - přednáška 3 6. 1. 2015 1 / 16 Věta (o dedukci) Bud L jazyk, T teorie pro L, ϕ L-sentence a ψ L-formule. Pak Věta (o kompaktnosti) T ϕ
VíceSystém přirozené dedukce výrokové logiky
Systém přirozené dedukce výrokové logiky Korektnost, úplnost a bezespornost Šárka Vavrečková Ústav informatiky, FPF SU Opava Poslední aktualizace: 6. října 2008 Věta o korektnosti Věta (O korektnosti Systému
VíceNP-úplnost problému SAT
Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x
VíceInference v deskripčních logikách
Inference v deskripčních logikách Petr Křemen FEL ČVUT Petr Křemen (FEL ČVUT) Inference v deskripčních logikách 53 / 157 Co nás čeká 1 Základy deskripční logiky 2 Jazyk ALC Syntax a sémantika 3 Cyklické
VíceÚvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška první Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Co a k čemu je logika? 2 Výroky a logické spojky
VíceRezoluční kalkulus pro výrokovou logiku
AD4M33AU Automatické uvažování Rezoluční kalkulus pro výrokovou logiku Petr Pudlák Výroková logika Výhody Jednoduchý jazyk. Rozhodnutelnost dokazatelnosti i nedokazatelnosti. Rychlejší algoritmy. Nevýhody
VíceAlgoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39
Algoritmy Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna 2018 1/ 39 Algoritmy Příklad: Popis algoritmu pomocí pseudokódu: Algoritmus 1: Algoritmus pro nalezení největšího prvku v poli 1 Find-Max(A,n):
VíceMarie Duží
Marie Duží marie.duzi@vsb.cz Normální formy formulí výrokové logiky Každé formuli výrokové logiky přísluší právě jedna pravdivostní funkce, zobrazení {p, q, r } {0, 1} (pravdivostní tabulka). Naopak však
VíceVýroková logika dokazatelnost
Výroková logika dokazatelnost Ke zjištění, zda formule sémanticky plyne z dané teorie (množiny formulí), máme k dispozici tabulkovou metodu. Velikost tabulky však roste exponenciálně vzhledem k počtu výrokových
VíceLogika Libor Barto. Výroková logika
Logika Libor Barto Výroková logika Definice.(Jazyk výrokové logiky) Ve výrokové logice používáme tyto symboly: (1) Výrokové proměnné: velká písmena, případně opatřená indexy. (2) Výrokovéspojky:,,&,,,....
VíceZáklady algoritmizace. Hašování
Základy algoritmizace Hašování Problematika hašování Hašování - nástroj na jednoduchý způsob "zakódování vstupních dat. Vstupní data jsou zpracována hašovací funkcí jsou jistým způsobem komprimována. Relativně
Více1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů:
1 Predikátová logika 1.1 Syntax Podobně jako ve výrokové logice začneme nejprve se syntaxí predikátové logiky, která nám říká, co jsou správně utvořené formule predikátové logiky. V další části tohoto
VíceCo je obsahem? O čem bude přednáška? plánování a rozvrhování. ono se to někde používá? aplikace? řešící algoritmy.
Plánováníá a rozvrhování Roman Barták, KTIML roman.bartak@mff.cuni.cz cz http://ktiml.mff.cuni.cz/~bartak Co je obsahem? plánování a rozvrhování ale co to vlastně je plánování a rozvrhování? Přednáška
VíceAplikace: Znalostní báze
Aplikace: Znalostní báze 1 Znalostní báze je systém, který dostává fakta o prostředí a dotazy o něm. Znalostní báze je agentem ve větším systému, který obsahuje prostředí (také agent), správce (agent),
VíceKapitola 6: Omezení integrity. Omezení domény
- 6.1 - Omezení domény Referenční integrita Aserce Spouštěče (Triggers) Funkční závislosti Kapitola 6: Omezení integrity Omezení domény Omezení integrity zabraňují poškození databáze; zajišťují, že autorizované
VíceCentrální plánování cest pro mnoho agentů Centralized Multi-agent Path Planning
Centrální plánování cest pro mnoho agentů Centralized Multi-agent Path Planning RNDr. Pavel Surynek, Ph.D. KTIML Matematicko-fyzikální fakulta Univerzita Karlova v Praze Motivace (1) Přesouvání kontejnerů
VícePoužití dalších heuristik
Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),
VíceDalší NP-úplné problémy
Další NP-úplné problémy Známe SAT, CNF, 3CNF, k-klika... a ještě následující easy NP-úplný problém: Existence Certifikátu (CERT ) Instance: M, x, t, kde M je DTS, x je řetězec, t číslo zakódované jako
VíceHranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek
Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény
VíceKMI/ALM3 Mgr. Petr Osička, Ph.D. ZS ANO je slovo 1 a kódováním NE je slovo 0, pak je problém popsán pomocí dvojice L, R takové, že:
Algoritmická matematika 3 KMI/ALM3 Mgr. Petr Osička, Ph.D. ZS 2014 Algoritmický problém Přednáška 1 Definice 1. Abeceda Σ je konečná neprázdná množina. Prvkům Σ říkáme symboly. Slovo (řetězec) nad abecedou
Více1 REZOLUČNÍ FORMÁLNÍ DŮKAZY
Vážená kolegyně / vážený kolego, součástí Vašeho rozšiřujícího studia informatiky je absolvování předmětu Logika pro učitele 2, jehož cílem je v návaznosti na předmět Logika pro učitele 1 seznámení se
VíceVýrazy a operátory. Operátory Unární - unární a unární + Např.: a +b
Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -
VícePřednáška 3. Rekurze 1
Paradigmata programování 1 Přednáška 3. Rekurze 1 Michal Krupka KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Obsah 1 Příklady 2 Rekurzivní procedury a rekurzivní výpočetní proces 3 Další příklady
VíceNormální formy. (provizorní text)
Normální formy (provizorní text) Výrokový počet Definice. Jazyk výrokového počtu obsahuje výrokové proměnné p, q, r, s,..., spojky,,,.. a závorky (,). Výrokové proměnné jsou formule. Jestliže a jsou formule,
VíceV této výukové jednotce se student seznámí se základními pojmy a algoritmy ve výrokové logice.
1 Výroková logika Základní informace V této výukové jednotce se student seznámí se základními pojmy a algoritmy ve výrokové logice. Výstupy z výukové jednotky Student bude umět základní logické operace
VíceModely Herbrandovské interpretace
Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší
VíceVýroková a predikátová logika - VII
Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2018/2019 1 / 15 Platnost (pravdivost) Platnost ve struktuře
VíceNTIN099 Algoritmické aspekty booleovských funkcí a parametrizovaná složitost
NTIN099 Algoritmické aspekty booleovských funkcí a parametrizovaná složitost Petr Kučera 2016/17 1/140 Úvod Sylabus 1 Exponenciální algoritmy pro k-sat a obecný SAT 2 Úvod do parametrizované složitosti,
VíceAbstraktní datové typy FRONTA
Abstraktní datové typy FRONTA Fronta je lineární datová struktura tzn., že ke každému prvku s výjimkou posledního náleží jeden následník a ke každému prvku s výjimkou prvního náleží jeden předchůdce. Do
VíceCvičení 4. negace konjunkce disjunkce implikace ekvivalence. a) Najděte UDNF, UKNF a stanovte log. důsledky. 1) [p (p q)] [( p q) (q p)]
Cvičení 4 negace konjunkce disjunkce implikace ekvivalence a) Najděte UDNF, UKNF a stanovte log. důsledky 1) [p (p q)] [( p q) (q p)] p q p q p q q p p A B C D E UEK UED A B C D E F 0 0 1 1 0 0 0 1 p q
VíceLogika. 6. Axiomatický systém výrokové logiky
Logika 6. Axiomatický systém výrokové logiky RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216,
Vícekontrola povinnosti údajů kontrola rozsahu čísel kontrola ové adresy, telefonního čísla nutná součást každého software
3. ročník Validace kontrola platnosti dat kontrola povinnosti údajů kontrola rozsahu čísel kontrola e-mailové adresy, telefonního čísla nutná součást každého software zamezuje zbytečnému pádu aplikace
VíceRezoluční kalkulus pro logiku prvního řádu
AD4M33AU Automatické uvažování Rezoluční kalkulus pro logiku prvního řádu Petr Pudlák Logika prvního řádu (Někdy nepřesně nazývaná predikátová logika.) Výhody Vyšší vyjadřovací schopnost jazyka, V podstatě
VícePredikátová logika [Predicate logic]
Predikátová logika [Predicate logic] Přesněji predikátová logika prvého řádu. Formalizuje výroky o vlastnostech předmětů (entit) a vztazích mezi předměty, které patří do dané předmětné oblasti univerza.
VícePravidlové znalostní systémy
Pravidlové znalostní systémy 31. října 2017 2-1 Tvary pravidel Pravidla (rules) mohou mít například takovéto tvary: IF předpoklad THEN závěr IF situace THEN akce IF podmínka THEN závěr AND akce IF podmínka
VíceÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů
ÚVODNÍ ZNALOSTI datové struktury správnost programů analýza algoritmů Datové struktury základní, primitivní, jednoduché datové typy: int, char,... hodnoty: celá čísla, znaky, jednoduché proměnné: int i;
VíceIA008 Computational logic Version: 6. května Formule je v konjunktivní normální formě (CNF), pokud má tvar α 1... α n,
1 Převody do normálních forem Příklad 1.1: Vyjádřete následující formule v DNF pomocí pravdivostní tabulky a pomocí převodu logických spojek. a) (A B) C b) (A B) C c) (A B) (C D) Formule je v disjunktivní
Víceverze 29/9/09 textu o logice, aritmetice a M. Bizzarrimu.
1 verze 29/9/09 Toto je prozatím definitivní verze provizorního textu o logice, aritmetice a množinách. věnováno Laskavým čtenářům a čtenářkám, kteří navštěvovali tyto přednášky. poděkování Za upozornění
Víceteorie logických spojek chápaných jako pravdivostní funkce
Výroková logika teorie logických spojek chápaných jako pravdivostní funkce zabývá se způsoby tvoření výroků pomocí spojek a vztahy mezi pravdivostí různých výroků používá specifický jazyk složený z výrokových
VíceTableaux metody. Jiří Vyskočil 2011
Tableaux metody Jiří Vyskočil 2011 Tableau [tabló] metoda Tableau metoda je další oblíbená metoda užívaná pro automatické dokazování vět v predikátové logice, ale i v dalších (modálních, temporálních,
VícePlánováníá a rozvrhování
Plánováníá a rozvrhování Roman Barták, KTIML roman.bartak@mff.cuni.cz cz http://ktiml.mff.cuni.cz/~bartak Na úvod Dosud prezentované plánovací systémy používaly adhoc algoritmy, tj. speciální plánovací
VíceEVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
VíceDisjunktivní a konjunktivní lní tvar formule. 2.přednáška
Disjunktivní a konjunktivní normáln lní tvar formule 2.přednáška Disjunktivní normáln lní forma Definice Řekneme, že formule ( A ) je v disjunktivním normálním tvaru (formě), zkráceně v DNF, jestliže je
VíceV každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2
Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných
VíceVýpočet globálního stavu
PDV 09 2017/2018 Výpočet globálního stavu Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT Globální Stav Globální stav: množina lokální stavů procesů v DS a stavů
VíceLOGICKÉ OBVODY 2 kombinační obvody, minimalizace
LOGICKÉ OBVODY 2 kombinační obvody, minimalizace logické obvody kombinační logické funkce a jejich reprezentace formy popisu tabulka, n-rozměrné krychle algebraický zápis mapy 9..28 Logické obvody - 2
Více