Programování v čistém Prologu
|
|
- Aleš Emil Dušek
- před 8 lety
- Počet zobrazení:
Transkript
1 Programování v čistém Prologu Petr Štěpánek S využitím materiálu Krysztofa R. Apta 2006 Logické programování 9 1 Ukázali jsme, že logické programy mohou sloužit k výpočtům. Volně řečeno, logiské programz mohou sloužit jako programovací jazyk. To je jen první krok na dlouhé cestě ke skutečnému programovacímu jazyku. Kromě mnoha jiných problémů je třeba řešit otázku efektivnosti a uživatelského prostředí takového jazyka. Prolog je programovací jazyka založený na myšlence logického programování, který oba zmíněné problémy řeší přijatelným způsobem. V této kapitole se budeme zabývat programováním v podmnožině Prologu, která odpovídá logickým programům. Tuto podmnožinu budeme nazývat Čistý Prolog. Každý logický program, pokud se na něj díváme jako na posloupnost klauzulí, tedy ne jako na množinu klauzulí (což je v logickém programování možné,) je také programem v čistém Prologu. Naopak to však neplatí. Logické programování 9 2
2 Všechny logické programy, pokud se na ně díváme jako na posloupnost klauzulí a ne jako na množinu klauzulí, je program v čistém Prologu. Zatím jsme uvedli jenom tři takové programy, SUMMER, SUM, PATH je možné spustit v každém současném Prologovském systému. Logické programování 9 3 Čistý Prolog syntaktické konvence Každá klauzule programu a každý dotaz je zakončen tečkou. Abychom zdůraznili, že nejde o plný Prolog, místo prologovské implikace :- píšeme jako dosud šipku a u jednotkových klauzulí ji vynecháváme. Jednotkové klauzule nazýváme fakta a klauzule, které mají neprázdné tělo nazýváme pravidla. Definice predikátu. Je-li P daný program a p predikátový symbol vyskytující se v P, definicí tohoto predikátu rozumíme množinu všech klauzulí programu P, v jejichž hlavách se vyskytuje predikátový symbol p. Logické programování 9 4
3 Termové konvence znakové řetezce začínající malým pismenem například f, g, suma, summer happy jsou vyhrazeny pro jména predikátů a funkcí. (Tyto nenumerické konstanty se v kontextu Prologu nazývají atomy.) znakové řetězce začínající velkým písmenem nebo podtržítkem _ například X, Xs, _1796 označují proměnné. řádky komentářů začínají vždy symbolem %. Logické programování 9 5 Ambivalentní syntax Ačkoliv v predikátové logice (mlčky) předpokládáme, že množiny funkčních a predikátových symbolů jsou disjunktní a disjunktní jsou i množiny symbolů různé četnosti, v Prologu můžeme použít stejné jméno pro funkční nebo predikátový symbol a dokonce současně v několika četnostech. funkční nebo predikátový symbol f četnosti jako f / n. n deklarujeme krátce Příklad. V kontextu Prologu můžeme tentýž symbol p použít jako predikátový symbol p / 2 a funkční symbol p / 1 a p / 2. Potom se můžeme setkat se syntakticky správným faktem. p(p(a, b), [c, p(a)]). Logické programování 9 6
4 Při používání ambivalentní syntaxe je třeba změnít Martelliho a Montanariho unfikační algoritmus následovně: V akci 2 musíme připustit, že na obou stranách rovnosti jsou stejné funkční symboly. Formulujeme novou verzi akce 2 : Akce 2 f (s 1,, s n ) = g ( t 1,, t m ) pokud f g nebo n m stop neúspěch V dalším výkladu budeme (v souladu s praxí) funkce četnosti nula nazývat konstanty a funkčními symboly budeme rozumět jenom symboly kladné četnosti. Logické programování 9 7 Anonymní proměnné Prolog umožňuje používání takzvaných anonymních proměnných, které se označují podtržítkem _. Jde o proměnné na jejichž hodnotách nám nezáleží (máme zájem jen na tom, že taková věc existuje). Takové proměnné se v klauzuli nebo v dotaze vyskytují zpravidla jenom jednou. Proto každý výskyt anonymní proměnné v klauzuli nebo dotazu se interpretuje jako jiná proměnná. Moderní verze Prologu, například SICStus Prolog, při syntaktické analýze programu identifikují solitérní proměnné a doporučují zaměnit je anonymními proměnnými. Do čistého Prologu zařadíme obě syntaktické možnosti : ambivalentní syntax i anonymní proměnné. Logické programování 9 8
5 Výpočty Výpočetní proces Prologu se řídí následujícími pravidly: (i) Výběrové pravidlo je pevně stanoveno a vybírá z každého dotazu nejlevější atom. Z praktických důvodů v takovém případě budeme mluvit o LD-rezoluci místo o SLD-rezoluci, Podobně budeme mluvit o LD-derivacích, LD-stromech atd. (ii) Klauzule použitelné k vybranému atomu dotazu se zkouší v pořadí, v jakém jsou uvedeny v programu, program je tedy posloupnost klauzulí. Logické programování 9 9 Silná věta o úplnosti SLD-rezoluce říká, že (až na přejmenování proměnných) lze všechny vypočténé odpovědi k danému dotazu najít v SLD-stromu daného programu. Nicméně výpočty některých logických programů mohou být beznadějně neefektivní i v případě, že se omezíme jen na výběrové pravidlo nejlevějšího atomu. To znamená, že prohledávání LD-stromu (stavového prostoru LD-rezolvent) se stává vitálním aspektem z hlediska efektivnosti výpočtu. Pokud bychom prohledávali LD-strom do šířky, tedy po hladinách, máme zaručeno, že pokud existuje, vypočtenou odpovědní instanci (vypočtenou odpovědní substituci) jistě najdeme. Je zřejmé, že takové prohledávání může být exponenciálně složité vzhledem k výšce stromu a totéž platí o paměťových nárocích na ukládání navštívených uzlů. Logické programování 9 10
6 Prohledávání do hloubky Terminologie. Uspořádaný strom je strom, je zakořeněný a pro každý jeho uzel platí, že jeho bezprostřední následnící jsou lineárně uspořádané. Prohledávání do hloubky se používá většinou jen u zakořeněných konečně se větvících stromů. Navíc se předpokládá, že každý list je označen jako úspěšný (success) nebo neúspěšný (fail). Prohledávání do hloubky začíná v koření stromu a je charakterizováno tím, že z následníků již navštíveného uzlu je navštíven dříve než jeho sourozenci napravo od něj. Při takovém prohlednávání je každá hrana stromu navšívena nejvýše jednou. Logické programování 9 11 Navštívíme-li úspěšný list stromu, tento fakt je avizován. Navštívíme-li list označený jako neúspěšný, je vyvolán proces navracení (backtracking). To znamená návrat k rodičovskému uzlu a pokračování od jeho dalšího následníka napravo, pokud existuje. V opačném případě se navracíme k rodičovskému uzlu o hladinu výš. Prohledávání pokračuje až do okamžiku kdy se navrátí až ke kořenu stromu a všechny jeho následníci již byly navštíveny. Jestliže prohledávání do hloubky vstoupí do nekonečné větve stromu dříve než byl navštíven úspěšný list, výsledkem je divergence tohoto procesu. Logické programování 9 12
7 Prohledávání LD-stromů V případě Prologu prohledávání do hloubky provádíme v LD-stromu odpovídajícímu danému programu a dotazu. Je-li list LD-stromu označen jako úspěšný, tedy je-li ohodnocen prázdným dotazem, potom prohledávání končí a výstupem je odpovídající vypočtená odpovědní substituce. Žádost o další řešení příkazem ; (středník) vede k obnovení prohledávání od posledního úspěšného uzlu dokud není nalezen nový úspěšný uzel. V případě, že daný LD-strom již neobsahuje žádný další úspěšný uzel, je neúspěch prohledávání avizován výstupem no. Logické programování 9 13 Navracení v LD-stromu * * fail Logické programování 9 14
8 Příklady. a) Mějme následující program P 1 : p q. p. q r. q s. a jeho LD-strom pro dotaz p. Logické programování 9 15 p q r s. fail fail LD-strom pro P 1 {p} úspěšným listem. je konečný se dvěma neúspěšnými a jedním Logické programování 9 16
9 Konstrukce LD-stromů nebo dokonce prologovských stromů je pouhá fikce. Vyhledávání odpovědí na dotazy v čistém Prologu je prohledávání do hloubky odpovídajícího LD-stromu. V Prologu jsou jistá omezení konstrukce prologovského stromu. Konstrukce prologovského stromu krok za krokem je jen abstrakcí tohoto procesu. Pro naše účely však postačí. Konstrukce prologovského stromu (krok za krokem) pro dotaz Q generuje posloupnost postupně vybíraných uzlů. Tyto uzly odpovídají odpovídají uzlům, které jsou postupně navštěvovány v průběhu prohledávání odpovídajícího LD-stromu s jediným rozdílem, navracení k rodičovskému uzlu je neviditelné. Jak víme, pro každý dotaz Q a program P existuje právě jeden LD-strom pro P {Q}. Je-li dán program P adotaz Q, zavedeme následující terminologii: Logické programování 9 17 Říkáme, že dotaz Q vždy zakončuje výpočet (universally terminates), je-li LD-strom pro P {Q} konečný. Například dotaz path(x, c) generuje konečný (a uspěšný) LD-strom pro PATH {path(x, c)}, který je zobrazen Obr. 1. Podobně dotaz path(c, X ) vždy (univerzálně) zakončuje i když odpovídající strom je neúspěšný, (Obr. 1a). Q diverguje, jestliže v LD-stromu existuje nekonečná větev vlevo od všech úspěšných uzlů. Například dotaz path(x, Z ) diverguje v pozměněném programu PATH (Obr. 2). Q potenciálně diverguje, jestliže v LD-stromu pro P {Q} existuje úspěšný uzel, takový, že - všechny větve nalevo od něj jsou konečné, - napravo od něj existuje nekonečná větev (Obr. 3). Logické programování 9 18
10 Q generuje nekonečně mnoho odpovědí, jestliže LD-strom pro P {Q} má nekonečně mnoho úspěšných uzlů a všechny nekonečné větve leží napravo od nich. (Obr. 4) Q selhavá, jestliže LD-strom pro P {Q} konečně selhává. Příklad. Uvažujme program PATH 1. path(x, Z) arc(x, Y), path(y, Z). 2. path(x, X). 3. arc(b, c). Logické programování 9 19 path(x,c) {X 1 /X, Z 1 /c} 1 2 arc(x,y), path(y,c) {X/c} {X/b, Y/c} 3 path(c,c) {X 2 /c, Z 2 /c} {X 2 /c} 1 2 arc(c,y 2 ), path(y 2,c) (neúspěch) Obr. 1 Logické programování 9 20
11 path(c,x ) {X 1 /c, Z 1 /X} 1 2 arc(c,y), path(y,c) (neúspěch) {X/c} Obr. 1a Změníme-li pořadí atomů v kaluzuli 1. dostaneme program PATH 1. path(x, Z) path(y, Z), arc(x, Y). 2. path(x, X). 3. arc(b, c). V tomto programu dotaz path(x, Z ) diverguje. Logické programování 9 21 path(x,z) {X 1 /X, Z 1 /Z} 1 2 path(y,z ), arc(x,y ) {X 1 /X, Z 1 /X} {X 2 /Y, Z 2 /Z} 1 path(y, Z ), arc(y, Y), arc(x,y ) {X 2 /Y, Z 2 /Z} {X 2 /Y} 1 2 path(y, Z ), arc(y, Y), arc(y, Y), arc(x,y ) nekonečná větev Obr. 2 Logické programování 9 22
12 neúspěch úspěch úspěch... nekonečná větev Obr. 3 Potenciální divergence Logické programování 9 23 nekonečná větev Dotaz produkující nekonečně mnoho odpovědí Obr. 4 Logické programování 9 24
popel, 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
Domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta
Domény Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 10 1 Typy programů v čistém Prologu je možné uspořádat podle různých pohledů. Zajímavá je charakteristika podle domén,
Logické programy Deklarativní interpretace
Logické programy Deklarativní interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 7 1 Algebry. (Interpretace termů) Algebra J pro jazyk termů L obsahuje Neprázdnou
Modely 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ší
Částečná korektnost. Petr Štěpánek. S využitím materialu Krysztofa R. Apta
Částečná korektnost Petr Štěpánek S využitím materialu Krysztofa R. Apta 2007 Logické programování 14 1 Částečná korektnost je vlastností programu a znamená, že program vydává korektní výsledky pro dané
Negativní 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
Occur-check (Test konfliktu proměnných)
Occur-check (Test konfliktu proměnných) Petr Štěpánek S využitím materialu Krysztofa R. Apta 2007 Logické programování 13 1 Při výpočtech v Prologu většina implementací používá zjednodušený algoritmus
Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David
Úvod do Prologu Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Warren (Warren Abstract Machine) implementace
Vý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
4.2 Syntaxe predikátové logiky
36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a
Logika 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ý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ý
5 Orientované grafy, Toky v sítích
Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost
SLD-derivace. Petr Štěpánek. S využitím materiálu Krysztofa R. Apta
SLD-derivace Petr Štěpánek S využitím materiálu Krysztofa R. Apta 2006 Logické programování 5 1 Při systematickém studiu SLD-derivací je užitečné využít rezultanty a přiřadit je k SLD-derivačním krokům
Logické programování
Logické programování Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 1 1 Prolog a Logické programování Prolog vznikl jako programovací jazyk v Marseille 1970, jeho autorem
Vý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
Substituce. Petr Štěpánek. S využitím materialu Krysztofa R. Apta. Logické programování 2 1
Substituce Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 2 1 Algebra termů Předpokládáme, že je dán jazyk termů. L, definovali jsme množinu jeho Zavedeme některé užitečné
Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek
Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.
Vý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ý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é
Zastavování výpočtů (Terminace)
Zastavování výpočtů (Terminace) Petr Štěpánek S využitím materialu Krysztofa R. Apta 2007 Logické programování 12 1 Analýza zastavování (terminace) výpočtů je součastí verifikace programů v Prologu. Není
Operační výzkum. Síťová analýza. Metoda CPM.
Operační výzkum Síťová analýza. Metoda CPM. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo
Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.
Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy
Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,
[161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p
Základy umělé inteligence
Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v
Matematická logika. Miroslav Kolařík
Matematická logika přednáška šestá 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
doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je
28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci
Matematická 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 / 20 Predikátová logika Motivace Výroková
Predikátová logika dokončení
Predikátová logika dokončení Jiří Velebil: X01DML 1. října 2010: Predikátová logika dokončení 1/18 Syntaktická analýza Jako ve výrokové logice (syntaktické stromy). Každý list úspěšného stromu je obsazen
Seminární práce z Teorie ICT
ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE Provozně ekonomická fakulta Seminární práce z Teorie ICT Implementace logické hádanky v Prologu Autor : Petr Pechek 1 Popis zvoleného problému Mým úkolem bylo vyřešit
Vý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ýroková a predikátová logika - VIII
Výroková a predikátová logika - VIII Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VIII ZS 2017/2018 1 / 21 Tablo Tablo metoda v PL - rozdíly Formule
Vý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
Další (neklasické) logiky. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20
Predikátová logika Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20 Jazyk predikátové logiky Má dvě sorty: 1 Termy: to jsou objekty, o jejichž vlastnostech chceme hovořit. Mohou být proměnné. 2 Formule:
Výroková a predikátová logika - VIII
Výroková a predikátová logika - VIII Petr Gregor KTIML MFF UK ZS 2016/2017 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VIII ZS 2016/2017 1 / 21 Tablo Tablo metoda v PL - rozdíly Formule
Logické programování I
Logické programování I PROLOG Program popisuje "svět" Prologu = databáze faktů a pravidel (tzv. klauzulí). fakta: predikát(arg1, arg2,...argn). cíle:?- predikát(arg1, arg2,...argn). pravidla: hlava :-
Logické programování
30. října 2012 Osnova Principy logického programování 1 Principy logického programování 2 3 1 Principy logického programování 2 3 Paradigmata programování Strukturované programování Procedurální programování
Tableaux 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,
Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu
Množiny, relace, zobrazení
Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,
Složitější domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta
Složitější domény Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 11 1 V této části se budeme zabývat seznamy a binárními stromy. Naším cílem není tyto datové struktury podrobně
2.5 Rezoluční metoda v predikátové logice
2.5. Rezoluční metoda v predikátové logice [101104-1520] 19 2.5 Rezoluční metoda v predikátové logice Rezoluční metoda v predikátové logice je obdobná stejnojmenné metodě ve výrokové logice. Ovšem vzhledem
Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.
Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou
Vý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)
Kaž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
Využití principů, ale vlastní naprogramování řešících
Programování Cvičení 1 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 Využití CSP Využití principů,
Výroková a predikátová logika - VI
Výroková a predikátová logika - VI Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VI ZS 2017/2018 1 / 24 Predikátová logika Úvod Predikátová logika Zabývá
Vý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 ( α), (α β), (α
Predik 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 ϕ
Úvod do výrokové a predikátové logiky
Úvod do výrokové a predikátové logiky Eva Ondráčková Na této přednášce se seznámíte se základy výrokové a predikátové logiky. Zjistíte, že podstatou logiky není vyplňování pravdivostních tabulek ani negování
V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti
Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení
Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová
Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy
Interpolace Uvažujme třídu funkcí jedné proměnné ψ(x; a 0,..., a n ), kde a 0,..., a n jsou parametry, které popisují jednotlivé funkce této třídy. Mějme dány body x 0, x 1,..., x n, x i x k, i, k = 0,
Rezoluč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
Naproti tomu gramatika je vlastně soupis pravidel, jak
1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen
Predikátová logika. Teoretická informatika Tomáš Foltýnek
Predikátová logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz strana 2 Opakování z minulé přednášky Z čeho se skládá jazyk výrokové logiky? Jaká jsou schémata pro axiomy VL? Formulujte
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u
Matematická logika. Miroslav Kolařík
Matematická logika přednáška pátá 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
vhodná 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
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Matematická 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
Matematická 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 / 18 Příklad Necht L je jazyk obsahující
Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy
Metody a nástroje syntaktické analýzy Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 14. října 2011 Vlastnosti syntaktické analýzy Úkoly syntaktické
klauzulí deklarativní (specifikace programu je přímo programem) popel, glum & nepil 1/18
IB101, log programování, Prolog Logické programování logický program: libovolná konečná množina programových Hornových klauzulí odvozování (dokazování) cílů založeno na SLD-rezoluci deklarativní (specifikace
1 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
NP-ú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
Programovací jazyk Prolog
Programovací jazyk Prolog Logické programování Šárka Vavrečková Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě sarka.vavreckova@fpf.slu.cz 1. prosince 2008 Prolog Co je
Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Úvod stránky předmětu: https://cw.felk.cvut.cz/doku.php/courses/a4b33alg/start cíle předmětu Cílem je schopnost samostatné implementace různých variant základních
Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest
Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem
Matematika III. Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská. Ústav matematiky
Matematika III Řady Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská Ústav matematiky Přednášky ZS 202-203 Obsah Číselné řady. Součet nekonečné řady. Kritéria konvergence 2 Funkční řady. Bodová konvergence.
Limita a spojitost funkce a zobrazení jedné reálné proměnné
Přednáška 4 Limita a spojitost funkce a zobrazení jedné reálné proměnné V několika následujících přednáškách budeme studovat zobrazení jedné reálné proměnné f : X Y, kde X R a Y R k. Protože pro každé
Sé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.
Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Logika pro každodenní přežití Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Ú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
Principy indukce a rekurentní rovnice
Principy indukce a rekurentní rovnice Jiří Velebil: X01DML 22. října 2010: Indukce 1/15 Příklad Místností rozměru n budeme rozumět šachovnici rozměru 2 n 2 n, ze které je jedno (libovolné) pole vyjmuto.
Representace znalostí s použitím klasické negace
Representace znalostí s použitím klasické negace Petr Štěpánek S využitím materiálu M. Gelfonda a V. Lifschitze 2009 Logické programování 16 1 Negace jako neúspěch v logických programech vede v některých
Úvod do logiky (PL): sémantika predikátové logiky
Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.07/2.2.00/28.0216, OPVK) Úvod do logiky (PL): sémantika predikátové logiky doc. PhDr. Jiří
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 207 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Prohledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
Prolog 1-1. Rodinné vztahy pomocí Prologu:
Prolog 1-1 - Prolog znamená programování v logice - namísto otázky jak se má získat určitá hodta se ptáme co platí mezi objekty - vhodný jazyk pro úlohy kde nás zajímají vztahy mezi objekty - namísto definic
Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.
1 Kapitola 1 Množiny 11 Základní množinové pojmy Pojem množiny nedefinujeme, pouze připomínáme, že množina je souhrn, nebo soubor navzájem rozlišitelných objektů, kterým říkáme prvky 111 Princip rovnosti
H {{u, v} : u,v U u v }
Obyčejný graf Obyčejný graf je dvojice G= U, H, kde U je konečná množina uzlů (vrcholů) a H {{u, v} : u,v U u v } je (konečná) množina hran. O hraně h={u, v} říkáme, že je incidentní s uzly u a v nebo
Rezoluč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ě
Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.
Zpracoval: hypspave@fel.cvut.cz 5. Výroková logika, formule výrokové logiky a jejich pravdivostní ohodnocení, splnitelné formule, tautologie, kontradikce, sémantický důsledek, tautologicky ekvivalentní
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 05 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Analýza Petriho sítí. Analýza Petriho sítí p.1/28
Analýza Petriho sítí Analýza Petriho sítí p.1/28 1. Základní pojmy Základní problémy analýzy bezpečnost (safeness) omezenost (boundness) konzervativnost (conservation) živost (liveness) Definice 1: Místo
Matematická 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ý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
Matematika I (KMI/5MAT1)
Přednáška první aneb Úvod do algebry (opakování ze SŠ a možná i ZŠ) Seznámení s předmětem Osnova přednášky seznámení s předmětem množiny pojem množiny operace s množinami číselné obory intervaly mocniny
analytické geometrie v prostoru s počátkem 18. stol.
4.. Funkce více proměnných, definice, vlastnosti Funkce více proměnných Funkce více proměnných se v matematice začal používat v rámci rozvoje analtické geometrie v prostoru s počátkem 8. stol. I v sami
1 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ří
Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují
Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),
KMA/MDS Matematické důkazy a jejich struktura
Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 KMA/MDS Matematické důkazy a jejich struktura Seminář 3 Predikátový počet Uvažujme následující úsudek.
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
Výroková logika syntaxe a sémantika
syntaxe a sémantika Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 1/16 1 Proč formální jazyk? 1 Přirozené jazyky jsou složité a často nejednoznačné. 2 Komunikace s formálními nástroji musí být
IB112 Základy matematiky
IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic
Binární vyhledávací stromy pokročilé partie
Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald
Vý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
Úvod do řešení lineárních rovnic a jejich soustav
Úvod do řešení lineárních rovnic a jejich soustav Rovnice je zápis rovnosti dvou výrazů, ve kterém máme najít neznámé číslo (neznámou). Po jeho dosazení do rovnice musí platit rovnost. Existuje-li takové
Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39
Bezkontextové jazyky Bezkontextové jazyky 1 p.1/39 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma