Logika a logické programování

Podobné dokumenty
Systém přirozené dedukce výrokové logiky

Logika. 5. Rezoluční princip. RNDr. Luděk Cienciala, Ph. D.

Výroková logika. Teoretická informatika Tomáš Foltýnek

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

Klauzulární logika. úvod. Šárka Vavrečková. 20. října Ústav informatiky Filozoficko-Přírodovědecká fakulta Slezské univerzity, Opava

vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

Formální systém výrokové logiky

Výroková a predikátová logika - V

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Programovací jazyk Prolog

Rezoluční kalkulus pro logiku prvního řádu

Logika. 6. Axiomatický systém výrokové logiky

ZÁKLADY LOGIKY A METODOLOGIE

Matematická logika. Miroslav Kolařík

Hilbertovský axiomatický systém

Výroková logika - opakování

Predikátová logika. Teoretická informatika Tomáš Foltýnek

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 TI - logika Výroková logika - pokračování (3.přednáška) Marie Duží

Logické programy Deklarativní interpretace

Matematická logika. Miroslav Kolařík

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Obsah Předmluva Rekapitulace základních pojmů logiky a výrokové logiky Uvedení do predikátové logiky...17

Klauzulární logika. Znalostní báze. Šárka Vavrečková

Marie Duží

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

Logické programování

Rezoluční kalkulus pro výrokovou logiku

Výroková a predikátová logika - III

Umělá inteligence I. Roman Barták, KTIML.

Výroková a predikátová logika - IX

Logické programování

Výroková a predikátová logika - XII

IA008 Computational logic Version: 6. května Formule je v konjunktivní normální formě (CNF), pokud má tvar α 1... α n,

Výroková a predikátová logika - II

6. Logika a logické systémy. Základy logiky. Lucie Koloušková, Václav Matoušek / KIV. Umělá inteligence a rozpoznávání, LS

Modely Herbrandovské interpretace

Základy logiky a teorie množin

Cvičení Aktivita 1. část 2. část 3. část Ústní Celkem Známka

1. Matematická logika

Výroková a predikátová logika - II

Výroková a predikátová logika - IX

LOGIKA VÝROKOVÁ LOGIKA

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Sémantika predikátové logiky

Úvod do logiky (VL): 11. Ověřování, zda je formule tautologií metodou protipříkladu

Predikátová logika: Axiomatizace, sémantické stromy, identita. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 13

Skolemizace. x(x + f(x) = 0). Interpretace f unární funkce, která pro daný

Výroková a predikátová logika - VIII

Základy logiky Logika a logické systémy. Umělá inteligence a rozpoznávání, LS

Rejstřík. anotace 167 krok 167 nepřímý 169 podmiňovaný 181 rezolucí 210 rozborem případů 170 sporem 170 z hypotéz 167 z předpokladů 167 Duns Scotus 79

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

přednáška 2 Marie Duží

Výroková a predikátová logika - III

Výroková a predikátová logika - VIII

Logika Libor Barto. Výroková logika

Výroková logika. Sémantika výrokové logiky

Výroková a predikátová logika - X

10. Techniky formální verifikace a validace

Logické programování I

teorie logických spojek chápaných jako pravdivostní funkce

Logický důsledek. Petr Kuchyňka

Úvod do výrokové a predikátové logiky

Logika pro sémantický web

Úvod do logiky a logického programování.

popel, glum & nepil 16/28

Predikátová logika. prvního řádu

1 REZOLUČNÍ FORMÁLNÍ DŮKAZY

Matematická indukce, sumy a produkty, matematická logika

Další (neklasické) logiky. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

Výroková a predikátová logika - IX

2.5 Rezoluční metoda v predikátové logice

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Matematika B101MA1, B101MA2

Úvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot formule tabulkovou metodou

Výroková a predikátová logika - VII

1. MATEMATICKÁ LOGIKA A MNOŽINY

Výroková a predikátová logika - II

Logika. 8. Automatické dokazování v predikátové logice (obecná rezoluční metoda)

Domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Matematická logika. Rostislav Horčík. horcik

Predikátová logika Individua a termy Predikáty

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Výroková a predikátová logika - IV

Tableaux metody. Jiří Vyskočil 2011

Kapitola Výroky

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Representace znalostí s použitím klasické negace

Logika. Dana Nejedlová Katedra informatiky Ekonomická fakulta Technická univerzita v Liberci

Výroková a predikátová logika - X

Marie Duží

Úvod do informatiky. Miroslav Kolařík

Výroková logika syntaxe a sémantika

Úvod do predikátové logiky. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 1

Převyprávění Gödelova důkazu nutné existence Boha

Predikátová logika [Predicate logic]

Predikátová logika dokončení

Transkript:

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 jsou obvykle dva příklady. Nejméně jeden z těchto příkladů je z posledních oblastí zde uvedených (tj. Klauzulární logika, KAS, Logické programování). Hlavním zdrojem informací ke zkoušce jsou skripta na stránce vyučujícího http://fpf.slu.cz/ vav10ui/log2.html včetně příkladů v příloze. Definice, věty a důkazy mohou být i vlastními slovy (nemusíte se je učit zpaměti), ale musejí obsahovat všechny potřebné náležitosti. 1. Základní znalosti: (a) K zadané formuli výrokové logiky sestrojte ekvivalentní formuli v konjunktivní normální formě. (b) V predikátové logice definujte pojmy struktura, denotace, valuace individuové proměnné, valuace termu, interpretace formule. Ukažte všechny tyto pojmy na jednoduchém příkladu. (c) V predikátové logice definujte pojmy formule splnitelné ve struktuře, platné ve struktuře, logicky platné. Napište DeMorganovy zákony pro kvantifikátory. (d) Jaký je rozdíl mezi sémantickými a syntaktickými metodami dokazování? Ke každému typu důkazů napište dva zástupce. Definujte pojmy deduktivní úsudek, odvozovací pravidlo a důkaz. Z jakého vztahu vychází princip nepřímého důkazu a důkazu sporem? 2. Formální systémy: (a) Jaký je rozdíl mezi přímým a nepřímým důkazem? (b) Jaký je postup vytváření logických systémů? Definujte pojmy formální systém, logický systém, teorie. Soustřed te se na jejich odlišnosti a případné následnosti při jejich vytváření. 1

(c) Co to jsou axiomy (logické, speciální), odvozovací pravidla? Napište příklad (jakéhokoliv) logického a (jakéhokoliv) speciálního axiomu. (d) Axiomatické a předpokladové formální systémy jaký je mezi nimi rozdíl, čím jsou určeny? (e) Definujte vlastnosti formálních důkazových metod sémantická korektnost a úplnost, bezespornost, minimálnost. Jaký je vztah mezi bezesporností a korektností? (f) Napište důkaz korektnosti sémantického tabla. (g) Napište důkaz úplnosti sémantického tabla. 3. Systém přirozené dedukce: (a) Definujte Systému přirozené dedukce výrokové logiky (jazyk, dedukční pravidla). (b) Napište větu o substituci včetně postupu důkazu. (c) Napište rozšířenou větu o substituci včetně postupu důkazu. Jaký je význam této věty k čemu je nám užitečná? (d) Definujte přímý důkaz formule z předpokladů. (e) Napište větu o dedukci a její důkaz. (f) Definujte nepřímý důkaz formule z předpokladů. (g) Jak postupujeme v důkazu s přímou a nepřímou hypotézou? Vysvětlete pojmy přímá a nepřímá hypotéza. Napište větu o přímé hypotéze a její důkaz. (h) Co je to větvený důkaz z hypotéz přímý a nepřímý? Napište větu o přímém větveném důkazu včetně jejího důkazu. (i) Naznačte postup důkazu korektnosti Systému přirozené dedukce výrokové logiky (postup musí být celý, ale pokud se dílčí kroky opakují, například pro ded. pravidla, lze uvést jen dva či tři z nich a u ostatních poznamenat, že postup je zde podobný). (j) Napište lemma o neutrální formuli včetně důkazu. (k) Napište lemma o sémantice a dokazatelnosti včetně naznačení důkazu. (l) Naznačte postup důkazu úplnosti Systému přirozené dedukce výrokové logiky. (m) Dokažte bezespornost Systému přirozené dedukce výrokové logiky. (n) Definujte Systém přirozené dedukce predikátové logiky (jazyk, dedukční pravidla včetně potřebných omezení). (o) Naznačte postup důkazu korektnosti Systému přirozené dedukce predikátové logiky (postup musí být celý, ale pokud se dílčí kroky opakují, například pro ded. pravidla, lze uvést jen jeden z nich navíc oproti výrokové logice, přímým důkazem logickou úvahou a u ostatních poznamenat, že postup je zde podobný). 2

(p) Součástí písemky může být kterýkoliv příklad z těch, které jsou ve skriptech uvedeny u Systému přirozené dedukce. 4. Klauzulární logika: (a) Definujte klauzule a Hornovy klauzule včetně přepisu na implikaci. (b) Definujte term, bázový term, atom, bázový atom, klauzuli pro klauzulární logiku. (c) Univerzální a existenční tvrzení kdy používáme proměnnou, kdy existenční konstantu a kdy existenční funktor vztah při přepisu z predikátové logiky, uved te také příklady. (d) Sémantika jazyka klauzulární logiky definujte strukturu, aplikovatelnou strukturu, denotační zobrazení, valuaci proměnné a termu. (e) Sémantika jazyka klauzulární logiky definujte interpretaci atomu (včetně predikátu s existenčními parametry) a interpretaci klauzule, definujte klauzuli nepravdivou a pravdivou ve struktuře, platnou a neplatnou ve struktuře, logicky platnou (logický zákon). (f) Co to znamená, když je v klauzuli klauzulární logiky prázdná množina v antecedentu nebo konsekventu? Co když jsou prázdné obě? Jak se řeší konjunkce a disjunkce atomů v antecedentu a konsekventu z jakých vztahů (z výrokové logiky) vychází postup? (g) Jak se provádí negace atomů (bázových i těch, které nejsou bázové)? Jak provádíme negaci celé klauzule, co je to popírající množina klauzule? Ukažte také na jednoduchém příkladu (s různě kvantifikovanými proměnnými). (h) Jaká jsou omezení pro použití predikátu rovnosti? (zdůvodněte, ukažte na příkladu) (i) Definujte substituci termů za proměnné. Definujte existenční substituci. Obojí ukažte na příkladu. (j) Odvod te rezoluční odvozovací pravidlo klauzulární logiky z rezolučního pravidla predikátové logiky. (k) Definujte pojmy unifikace, unifikátor, obecnější a nejobecnější unifikátor, množinu neshod (i k čemu slouží). (l) Napište algoritmus nalezení nejobecnějšího unifikátoru. (m) Definujte znalostní bázi klauzulární logiky a popište způsob jejího vytvoření (včetně reprezentace struktury pro interpretaci). (n) Definujte strukturu aplikovatelnou na znalostní bázi, model znalostní báze, napište, kdy je klauzule logickým důsledkem znalostní báze. (o) Možné příklady: přepis věty přirozeného jazyka na klauzuli klauzulární logiky a naopak (včetně existenčních tvrzení, řešení negace atomu a konjunkce a disjunkce atomů), 3

negace klauzule, vytvoření znalostní báze, provedení substituce, odvozování ze znalostní báze (případně souhrnný příklad sestavte bázi a odvod te z ní... 5. Klauzulární axiomatický systém: (a) definujte Klauzulární axiomatický systém (jazyk, logické axiomy, speciální axiomy, odvozovací pravidla). (b) Vypište pomocná odvozovací pravidla Klauzulárního axiomatického systému. (c) Definujte přímý důkaz klauzule ze znalostní báze a nepřímý důkaz klauzule ze znalostní báze. (d) Naznačte důkaz korektnosti Klauzulárního axiomatického systému (musí být všechny části důkazu, i když ty, které lze převést na predikátovou logiku, mohou být jen naznačeny). (e) Možné příklady: vytvoření znalostní báze podle zadaných vět a odvození daného závěru (lépe nepřímým důkazem, je vhodné použít lineární metodu). 6. Logické programování: (a) Co je to Prolog, jaký je to typ jazyka? Napište alespoň jednu implementaci Prologu. Co je to program v Prologu (fakty, pravidla, tělo a hlava klauzule), jak v Prologu pracujeme (program a dotazy, jak s čím zacházíme), jak probíhá přepis klauzulí klauzulární logiky do Prologu? (b) Co je to interní databáze Prologu, konzultování a rekonzultování programu a jak se provádí (menu i příkazy)? Jak lze vypsat seznam všech klauzulí v databázi, které mají v hlavě určitý konkrétní predikát? (c) Co je to anonymní proměnná, kdy ji používáme, jaký má význam v programu a jaký v dotazu? Napište příklad. Pokud chceme anonymní proměnnou unifikovat na více místech klauzule, jak to provedeme? (d) Jak se provádí negace atomu? Co se děje s proměnnými, jaké problémy mohou s negací nastat a jak je řešíme? Uved te příklad správného a nesprávného řešení (takového, které může způsobit chybné vyhodnocení klauzule). (e) Jaké jsou dva způsoby reprezentace disjunkce atomů v Prologu? Aritmetické a relační operátory v Prologu používají se jako termy nebo atomy? (f) Jak lze či nelze použít predikát rovnosti? Co to znamená, že relační operátor provádí/neprovádí unifikaci (přiřazení) a že je/není provedena interpretace argumentů? (g) Co se v Prologu děje při vyhodnocení X = 25, X is 1 + 1 a 2 =:= 1+1? (výrazy mohou být na písemce jiné) 4

(h) Do klauzule polovina(x,y) :- Y is X / 2. přidejte ověření, že X je reálné číslo. (může být trochu jiná klauzule, doplňujeme třeba také ověření, že jde o celé číslo apod.) (i) Definujte rezoluční uzávěr množiny klauzulí (celá definice, včetně zobrazení R). (j) Napište větu o Robinsonově rezolučním principu a naznačte její důkaz. (k) Co znamená v logickém programování generování do šířky, generování do hloubky, lineární metoda? (l) Definujte lineární výpočetní strom klauzule, popište prohledávání stromu do hloubky a do šířky. Jak se lze vyhnout zacyklení výpočtu při jednom z těchto typů prohledávání? (m) Napište, jak je rezoluce použita v Prologu, co je to cílová klauzule a cíl, jak jsou používány unifikace, k čemu při výpočtu slouží zásobník (co se do něho ukládá a kdy, kdy se data vyjímají), co je to navracení (backtracking). (n) Vysvětlete, jak Prolog zachází s dotazy (v jakém tvaru pozitivním či negovaném jsou dotazy podávány, jak je Prolog chápe/zpracovává). (o) Naznačte algoritmus výpočtu klauzule (dotazu) v Prologu pro případ, že v klauzuli nejsou žádné proměnné. (p) Popište možnosti řízení výpočtu v Prologu predikáty call, fail a predikát řezu význam jednotlivých predikátů, možnosti využití (lze ukázat i na příkladech). Jak je definován predikát not? (q) Možné příklady: přepis věty nebo klauzule klauzulární logiky do Prologu (včetně anonymních proměnných, negací apod.), vytvoření programu z vět přirozeného jazyka nebo podle znalostní báze klauzulární logiky (je třeba dodržet vhodné pořadí klauzulí a atomů v klauzulích, aby nedocházelo k zacyklení výpočtu), přepis věty na dotaz. 5