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

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

Výroková logika - opakování

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

Logika a logické programování

LOGIKA VÝROKOVÁ LOGIKA

1. Matematická logika

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

1. Predikátová logika jako prostedek reprezentace znalostí

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

Matematická logika. Miroslav Kolařík

Predikátová logika [Predicate logic]

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

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

Matematická indukce, sumy a produkty, matematická logika

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 α

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

Úvod do TI - logika Výroková logika - pokračování (3.přednáška) Marie Duží

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

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7

Výroková logika. p, q, r...

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

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

Základy logiky a teorie množin

0. ÚVOD - matematické symboly, značení,

Rezoluční kalkulus pro výrokovou logiku

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

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

1. Matematická logika

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

přednáška 2 Marie Duží

Marie Duží

M - Výroková logika VARIACE

Nepřijde a nedám 100 Kč měl jsem pravdu, o této

Která tvrzení jsou pravdivá nezávisle na tom, který den v týdnu byla vyslovena? Tvrzení trosečníka Dana.

Matematika B101MA1, B101MA2

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

Matematika pro informatiky KMA/MATA

popel, glum & nepil 16/28

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

10. Techniky formální verifikace a validace

1. MATEMATICKÁ LOGIKA A MNOŽINY

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

λογος - LOGOS slovo, smysluplná řeč )

1 Úvod do matematické logiky

ZÁKLADY LOGIKY A METODOLOGIE

Logika. 1. Úvod, Výroková logika

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

Normální formy. (provizorní text)

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

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

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

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

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

Spojování výroků (podmínek) logickými spojkami

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Základní pojmy matematické logiky

Klasická výroková logika - tabulková metoda

Matematické důkazy Struktura matematiky a typy důkazů

VÝROKOVÁ LOGIKA. Výrok srozumitelná oznamovací věta (výraz, sdělení), která může být buď jen pravdivá nebo jen nepravdivá..

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

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

1.4.3 Složené výroky implikace a ekvivalence

Marie Duží

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

KMA/MDS Matematické důkazy a jejich struktura

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

Logika II. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Jak jsem potkal logiku. Převod formule do (úplného) disjunktivního tvaru. Jan Hora

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

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

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

Hilbertovský axiomatický systém

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

Výroková logika dokazatelnost

výrok-každésdělení,uněhožmásmyslseptát,zdaječinenípravdivé, aproněžprávějednaztěchtodvoumožnostínastává.

Modely Herbrandovské interpretace

Úvod do informatiky. Miroslav Kolařík

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

Premisa Premisa Závěr

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

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

Logické programy Deklarativní interpretace

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

SINGULÁRNÍ VÝROKY: Jednoduchý singulární výrok vznikne spojením singulárního termínu s termínem obecným pomocí spony=slova je.

Aplikace: Znalostní báze

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

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

Predikátová logika Individua a termy Predikáty

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík. horcik

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

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

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

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

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

Logický důsledek. Petr Kuchyňka

Matematická logika. Miroslav Kolařík

Formálnílogickésystémy pro aplikaci v informatice Martin Žáček

7 Jemný úvod do Logiky

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

Transkript:

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

Úloha logiky v umělé inteligenci převést fakta na formalizované výroky, se kterými se dá automatizovaně operovat tak, že se z počáteční množiny výroků (axiomů) postupně vyvozují nová fakta (axiomy) až se mezi nimi objeví dokazovaný teorém Prvním známým formálním systémem takové činnosti byly Aristotelovy sylogismy pro dedukci. Například: Kapr je ryba. Všechny ryby žijí ve vodě. A proto kapr žije ve vodě. V současnosti se automatizované systémy pro logická dokazování využívají pro verifikaci softwaru a hardwaru, jako pomoc matematikům při provádění složitých důkazů, v expertních systémech pro libovolnou problematiku. 2

Monotónnost logiky Výchozím předpokladem úspěšnosti uplatňování metod logického usuzování je monotónnost logiky. Monotónnost znamená, že přidáním nového axiomu mezi ty stávající se nezmenší množství nových tvrzení, které lze dokázat. Jinak řečeno, mezi axiomy, ze kterých se má dokázat teorém, nesmí být spor. Příkladem nemonotónního uvažování je budování znalostní báze, při kterém se později narazí na výjimky. Například dítě se nejdříve dozví, že všichni ptáci létají a teprve potom se dozví o tučňácích. Systémy uplatňující nemonotónní logiku by měly lépe zpracovávat informace z reálného světa, ale nejsou příliš rozvinuté, protože složitost jejich algoritmů bude vždy exponenciální (množství axiomů je exponentem konstanty). 3

Výroková logika (Propositional Calculus) Symboly reprezentují celé výroky. Výrok je každá oznamovací věta, o jejíž pravdivosti lze jednoznačně rozhodnout, má pravdivostní hodnotu pravda nebo nepravda, může být spojován s jinými výroky logickými spojkami neboli operátory. Dále nedělitelný výrok se nazývá atomický výrok. Účelem výrokové logiky je testování validity výroků typu logický úsudek. Úsudek (inference) je logicky správný (is sound), když ze splnění všech předpokladů plyne splnění závěru, což se pozná tak, že na každém řádku pravdivostní tabulky (truth table, neboli tabulky pravdivostních hodnot), na němž mají všechny předpoklady hodnotu 1, má i závěr hodnotu 1. Přitom má zvláštní význam logická spojka zvaná implikace. 4

Pravdivostní tabulka logických operátorů Výrok 1 Výrok 2 Negace Konjunkce Disjunkce Implikace Ekvivalence XOR A B A A B A B A B A B 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 0 = nepravda, false 1 = pravda, true Ekvivalence: A platí, když a jenom když platí B. 5

Implikace A B, A implikuje B A je premisa neboli antecedent, B je konkluze neboli konsekvent. Intuitivně bývá vnímána jako Když platí A, tak platí B. To je však chyba. Správně má být vykládána jako Když platí A, tak platí B. V opačném případě (když A neplatí) se o B nedá nic tvrdit. Programovací jazyky pro ni nemají operátor. Místo toho se vyjadřuje jako A B. Důkaz, že je výrok A B ekvivalentní s výrokem A B je možné provést pomocí pravdivostní tabulky. Když má výrok (zde ekvivalence) hodnotu pravda (neboli výrok platí) pro všechny možné kombinace vstupních hodnot A, B, tak je dokázán. Výroky, které jsou za všech okolností pravdivé, se nazývají tautologie. Tautologie obsahující implikaci se využívají jako inferenční pravidla. A B A A) B A B A B) (A B) 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 6

Inferenční pravidla Inferenční pravidlo Modus ponens Modus tollens Konjunkce axiomů Operátorem je čárka. Konkluze implikace Zobecněná forma Využití A B, A A B C D, A, B, C Expertní systémy B A B, A B A B, B A A B, B A D A B C D, A B C D A B C D, D (A B C) = A B C A B C D, D (A B C) = A B C Rezoluce A B, B C A B C, A D E Systémy pro A C B C D E dokazování teorémů 7

Inferenční pravidla Přidávají nová fakta (axiomy) do báze axiomů, ze které se vyvozují závěry (další axiomy). Lze je dokázat pravdivostními tabulkami. Například důkaz rezoluce spočívá v tom, že na všech řádcích je v posledním sloupečku pravda. A B C A B B C D = ((A B) ( B C)) A C D (A C) 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 8

Rezoluce versus Modus ponens Rezoluce Je kompletní, což znamená, že pokud fakt logicky vyplývá z ostatních faktů (pomocí kterých jej chceme dokázat), tak je pomocí rezoluce dokazatelný. Pokud dokazovaný fakt logicky z ostatních faktů nevyplývá, tak není zaručeno zastavení algoritmu hledajícího důkaz. To se nazývá nerozhodnutelnost (semidecidability) inferenčních algoritmů v predikátové logice 1. řádu. Prakticky se řeší nastavením časového limitu, po kterém algoritmus skončí, a člověk potom může upravit zadání. Modus ponens Není kompletní, což se projevuje tak, že ne každý fakt lze převést do formy umožňující jeho uplatnění. Je nerozhodnutelný stejně jako rezoluce. Forma umožňující jeho uplatnění se nazývá Hornova klauzule (Horn clause, definite clause). Báze faktů (znalostí, axiomů) ve formě Hornových klauzulí umožňuje provést důkaz v polynomiálním čase (pokud to, co dokazujeme, skutečně vyplývá z ostatních faktů). Používá jej jazyk Prolog. 9

Univerzální metoda inference Pomocí kompletních pravdivostních tabulek lze dokázat vše, ale je to 2 n složité, kde n je počet dále nerozložitelných (atomických) výroků (axiomů). Když je v úloze 100 atomických výroků, tabulka bude mít 2 100 řádků. V desítkové soustavě je 2 100 rovné číslu s počtem číslic 1 + 100 log 10 2 = 1 + 100 0,3 = 31. 1267650600228229401496703205376 řádků Proto se v praxi využívají inferenční systémy s vybranými inferenčními pravidly, které určité typy úloh řeší efektivně, ale neumí řešit vše. 10

Konverze mezi Hornovou klauzulí a formou vhodnou pro rezoluci Hornova klauzule vhodná pro použití zobecněného Modus ponens A B C D = = (A B C) D = A B C D Pokud je Hornova klauzule převedena do disjunkce literálů, tak v ní musí být maximálně jedna kladná atomická formule (hlava, zde D). Pokud tam je právě jedna, tak se nazývá definite clause. Disjunkce literálů (je vhodná pro rezoluci) A B C D = = (A B C) D = ( A B C) D Hlavou Hornovy klauzule nemusí být právě D. 11

Příklad logicky správného úsudku A: Klesá tlak. B: Zkazí se počasí. C: Když klesá tlak, zkazí se počasí. A B Dokažte, že platí B, když platí A a C. A a C jsou předpoklady (axiomy). B je závěr (dokazovaný teorém). B je dokázáno, když pro všechny řádky pravdivostní tabulky, kde jsou oba předpoklady pravdivé, platí, že i závěr je pravdivý, nebo když je v pravdivostní tabulce sloupek s implikací, která má jako antecedent konjunkci všech axiomů a jako konkluzi dokazovaný závěr, a pro všechny kombinace hodnot všech atomických výroků je výsledek v tomto sloupci pravda. A B C = (A B) A C (A C) B 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 1 12

Příklad logicky nesprávného úsudku A: Klesá tlak. B: Zkazí se počasí. C: Když klesá tlak, zkazí se počasí. A B (axiom) D: Dnes neklesá tlak. (axiom) E: Dnes se nezkazí počasí. (závěr, to jest dokazovaný teorém) Dokažte, že platí E, když platí C a D. E nevyplývá z C a D, protože na řádcích pravdivostní tabulky, kde jsou oba předpoklady (axiomy) pravdivé, není vždy závěr je pravdivý, a sloupek s implikací, která má jako antecedent konjunkci všech axiomů a jako konkluzi dokazovaný závěr, nemá pro všechny kombinace hodnot všech atomických výroků výsledek pravda. A B C = (A B) D = A E = B C D (C D) E 0 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1 13

Predikátová logika 1. řádu (First-Order Predicate Calculus) Logika prvního řádu se tak jmenuje proto, že kvantifikuje objekty (entity prvního řádu pojmenovatelné podstatnými jmény) ale ne vztahy mezi těmito objekty nebo funkce těchto objektů. Oproti výrokové logice má navíc kvantifikátory. existenční $ Existuje pták, který létá. univerzální " Všichni ptáci létají, neboli, když je někdo pták, tak létá. Logika vyššího řádu (higher-order logic) dovoluje kvantifikovat také vztahy a funkce. Pomocí logiky vyššího řádu můžeme například říct, že dva objekty jsou stejné, když a právě když všechny jejich vlastnosti jsou stejné. Logika vyššího řádu má větší vyjadřovací schopnost, ale pravděpodobně nelze vyvinout efektivní metody pro její používání. Predikát vyjadřuje vlastnost objektu nebo vztah mezi objekty. Predikáty tvoří klauzule (clause). Klauzule je disjunkce literálů. Literál je atomická formule, což je atomický výrok vzniklý, když se za proměnnou dosadí konstanta. 14

Inference v predikátové logice 1. řádu Za proměnné jsou dosazovány konstanty, čímž je jazyk predikátové logiky 1. řádu konvertován do jazyka výrokové logiky. Na výsledné výroky jsou uplatňována inferenční pravidla. Příklad: Každý, kdo se učí a má štěstí, složí zkoušku. "X (učíse(x) máštěstí(x) složízkoušku(x)) Petr se učí. Petr má štěstí. učíse(petr). máštěstí(petr). Tyto axiomy jsou v konjunkci. Složí Petr zkoušku? složízkoušku(petr). Řešení: učíse(petr) máštěstí(petr) složízkoušku(petr) Za proměnnou X byla dosazena konstanta petr. V bázi znalostí (axiomů) jsou všechny literály antecedentu, a tak lze pravidlem modus ponens vyvodit, že Petr složí zkoušku. 15

Úlohy Úloha č. 1 Lze ji reprezentovat pomocí Hornových klauzulí. Fakt, který se dokazuje, je nedokazatelný. Když někdo studuje nebo má štěstí, tak složí zkoušky. (studuje štěstí) složí = (studuje složí) (štěstí složí) ((studuje složí) (štěstí složí) složí studuje) štěstí Úloha č. 2 Nelze ji reprezentovat pomocí Hornových klauzulí. Fakt, který se dokazuje, je dokazatelný pomocí rezoluce. Zkoušky složí jen ten, kdo studuje nebo má štěstí, neboli, když někdo složí zkoušky, znamená to, že studuje nebo má štěstí. ((složí (studuje štěstí)) složí studuje) štěstí Z obou úloh chceme vyvodit zda, když Petr složil zkoušku a nestudoval, tak měl štěstí. složí = A, studuje = B, štěstí = C 16

Úloha č. 1 řešená pomocí Hornových klauzulí 1. B A (axiom) 2. C A (axiom) 3. B (axiom) nelze rezolvovat s 1. nebo 2. 4. A (axiom) nelze rezolvovat s 1. nebo 2. 5. C (závěr, to jest dokazovaný teorém) nelze odvodit Všechny hodnoty v posledním sloupci pravdivostní tabulky nemají hodnotu pravda. Zkoušku je možné složit i z jiných důvodů, než že někdo studuje nebo má štěstí. Výsledek implikace je pravda, i když neplatí její antecedent. A B C B C D = (B C A) B A D B (A D B) C 0 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 17

Úloha č. 2 řešená pomocí rezoluce 1. A (B C) (axiom) 2. B (axiom) 3. A (axiom) 3. C (závěr, to jest dokazovaný teorém) Výrok 1. zkonvertovaný do disjunkce literálů A B C nemá maximálně jednu kladnou atomickou formuli a proto nelze převést do formy Hornových klauzulí. A B C rezolvujeme s B a dostaneme axiom A C. A C rezolvujeme s A a dostaneme axiom C, který jsme chtěli dokázat. Je možný i postup začínající tím, že A B C rezolvujeme s A a dostaneme axiom B C, který potom rezolvujeme s B a dostaneme také axiom C. Postup řešení lze reprezentovat grafem typu strom. Všechny hodnoty v posledním sloupci pravdivostní tabulky mají hodnotu pravda. A B C B C D = (A B C) B A D B (A D B) C 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 18

Deklarativní programovací jazyky Prolog patří mezi takzvané deklarativní programovací jazyky. Deklarativnost spočívá v tom, že je nejdříve vytvořen univerzální program pro řešení problému (inferenční mechanismus). V případě Prologu je to program pro rezolvování, který je druhem překladače pro uživatelem zadanou úlohu. Uživatel už potom pouze popíše problém způsobem kompatibilním s oním univerzálním programem, ale nestanovuje algoritmus jeho řešení. V případě Prologu deklaruje fakta mensi(jan,zdenek). mensi(jan,petr). mensi(petr,zdenek). pravidla nejmensi(x) :- mensi(x,y) and mensi(y,z). otázky?nejmensi(who). Inferenční mechanismus Prologu odpoví na otázky: nejmensi(jan) yes Vzhledem k tomu, že algoritmus překladače Prologu, což je vlastní inferenční mechanismus, je fixní, tak v praxi záleží na pořadí, v jakém jsou fakta a implikace zadány. 19

Co je třeba umět do testu Převod věty z přirozeného jazyka do jazyka predikátové logiky 1. řádu Úprava výroků do formy klauzulí Provedení důkazu z axiomů a inferenčního pravidla 20

Převod věty z přirozeného jazyka do jazyka predikátové logiky 1. řádu Ne všichni jsou zároveň bohatí a šťastní. Žádný člověk není zároveň bohatý a šťastný. Chytrá lama nejí rostlinu, která je pro ni jedovatá. Existuje lama, která má ráda všechny rostliny, které nejsou trnité. Hedvika má ráda pouze rostliny, které nejsou trnité. Hedvika má ráda všechny rostliny, které nejsou trnité. Pouze Evženovi kamarádi znají Evženovo tajemství. Všichni Evženovi kamarádi znají Evženovo tajemství. Nikdo si neváží studovaného podvodníka. Nikdo si nenajme právníka, který nevyhrál ani jeden spor. Nikdo si nekoupí dům, pokud tento dům není zkolaudovaný. Rozumný člověk nechá udělat nebezpečnou práci někým, kdo je zkušenější než on. Dobré prase všechno spase. Brána má smysl, jen když se neotevře všem. Evžen jí všechno, co vaří maminka, ale jen něco z toho, co vaří závodka. Ten, kdo vyřeší všechny příklady, dostane jedničku. Ten, kdo vyřeší alespoň jeden příklad, je chytrý. 21

Úprava výroků do formy klauzulí Když nějaký předmět studuje Jan, tak jej nestuduje Petr, a naopak. A B = (A B) = ((A B) (B A)) = = (( A B) ( B A)) = = ( A B) ( B A) = = (A B) (B A) = = ((A B) B) ((A B) A) = = (A B) ( B B) (A A) ( B A) = = (A B) ( B A) ( B B) (A A) jsou tautologie a ty se škrtají. 22

Provedení důkazu z axiomů a inferenčního pravidla 1. P Q P Q 2. P R P R je nepřeveditelný do Hornovy formy. 3. Q S Q S 4. R S R S 5. S (teorém, který máme dokázat z předchozích axiomů) přidáme mezi axiomy jako jeho negaci S, což se nazývá metoda rezolučního zamítnutí (proof by refutation). 6. Resolventa výroků 1. a 2. je Q R. 7. Resolventa výroků 6. a 3. je R S. 8. Resolventa výroků 7. a 4. je S. 9. Resolventa výroků 8. S a 5. S je prázdná klauzule značící rozpor. Je-li negovaný teorém v rozporu s axiomy, znamená to, že je dokázán. Je možné rezolvovat v různém pořádí strom možností. 23

Provedení důkazu z axiomů a inferenčního pravidla 1. A B C 2. A B D 3. C D Je 3. teorém vzhledem k axiomům 1. a 2.? Resolventa výroků 1. a 2. je B C B D. Vzhledem k tomu, že obsahuje atomy B a B, tak je to tautologie a ta se vyřazuje z množiny vygenerovaných axiomů. Víc axiomů vygenerovat nelze, takže teorém 3. z axiomů 1. a 2. nevyplývá. Viz řádek z pravdivostní tabulky, který to ukazuje: A B C A B D C D 1 0 0 0 1 0 0 24