330 likes | 572 Views
Přednáška 2: Normální formy, úsudky. Marek Men šík marek.mensik@ vsb .c z. Splnitelnost formulí, tautologie, kontradikce, model. Formule je splnitelná , má-li alespoň jeden model Formule je nesplnitelná (kontradikce) , nemá-li žádný model
E N D
Přednáška 2: Normální formy, úsudky. Marek Menšík marek.mensik@vsb.cz Úvod do teoretické informatiky (logika)
Splnitelnost formulí, tautologie, kontradikce, model • Formule je splnitelná, má-li alespoň jeden model • Formule je nesplnitelná (kontradikce), nemá-li žádný model • Formule je tautologie (logicky pravdivá), je-li každé ohodnocení jejím modelem. • Množina formulí {A1,…,An} je splnitelná, existuje-li ohodnocení v, které je modelem každé formule Ai, i = 1,...,n. Úvod do teoretické informatiky (logika)
Splnitelnost formulí, tautologie, kontradikce, model • Příklad. A: (p q) (p q) • Formule A je tautologie, A kontradikce, formule (p q), (p q) jsou splnitelné. Úvod do teoretické informatiky (logika)
Ekvivalentní vyjádření, negace a de Morganovy zákony • „Prší“ „Není pravda, že neprší“ • p p • „Prší nebo sněží“ „Není pravda, že ani neprší ani nesněží“ • (p q) (p q) • „Prší a sněží“ „Není pravda, že neprší nebo nesněží“ • (p q) (p q) • „Není pravda, žeprší a sněží“ „Neprší nebo nesněží“ • (p q) (p q) • „Není pravda, žeprší nebo sněží“ „Neprší a nesněží“ • (p q) (p q) • „Není pravda, žejestliže prší pak sněží“ „Prší a nesněží“ • (p q) (p q) • „Jestližeprší, pak sněží“ „Neprší nebo sněží“ • (p q) (p q) Pozor na implikaci! Úvod do teoretické informatiky (logika)
Logické vyplývání • Formule A logicky vyplývá z množiny formulí M, značíme M |= A, jestliže A je pravdivá v každém modelu množiny M. • Poznámka: Okolnosti (definice 1) jsou zde mapovány jako modely, tj. interpretace jednotlivých (mimologických) symbolů • Co je to model? A) Výroková logika: ohodnocení (Pravda - 1, Nepravda - 0) elementárních výroků p, q, …, při kterém nabývá celá formule hodnoty Pravda (1). B) Predikátová logika: interpretace predikátových (P, Q, …) a funkčních symbolů (f, g, …), ve které nabývá celá formule hodnoty Pravda; P relaci R nad universem U (tj. R U … U), f funkci F nad universem U (tj. F: U … U U). Úvod do teoretické informatiky
Logické vyplývání • Jak tedy ověříme, zda úsudek je platný? • Sémantické metody • Syntaktické metody Ad 1: Snažíme se ověřit, že pravdivost premis zaručuje pravdivost závěru Ad 2: Pomocí pravidel manipulujeme s formulemi jakožto s posloupnostmi symbolů (abstrahujeme přitom od jejich významu). Pravidla však musí být korektní, tj. zachovávat pravdivost. V obou případech můžeme použít přímý důkaz, nebo nepřímý důkaz sporem. Nyní se budeme věnovat sémantickým metodám. Úvod do teoretické informatiky
Logické vyplývání ve výrokové logice • Je doma (d) nebo šel na pivo (p) • Je-li doma (d), pak nás očekává (o) • Jestliže nás neočekává, pak šel na pivo p. d, p, o | d p, d o |= o p přímý Dk.: 1 1 1 1 1 1závěr je 1 1 0 1 0 1 1 0 1 1 1 1 pravdivý 1 0 0 1 0 0 0 1 1 1 1 1ve všech čtyřech 0 1 0 1 1 1 modelech 0 0 1 0 1 1 předpokladů 0 0 0 0 1 0 Úsudek je platný. Úvod do teoretické informatiky
Příklady: Logické vyplývání ve VL • Je doma (d) nebo šel na pivo (p) • Je-li doma (d), pak nás očekává (o) • Jestliže nás neočekává, pak šel na pivo p. d p, d o |= o p Tabulka má 2n řádků! Proto důkaz sporem: • Předpokládejme, že úsudek není správný. Pak tedy mohou být všechny předpoklady pravdivé a závěr nepravdivý: d p, d o |= o p 1 1 0 1 0 0 1 0 1 0 0 spor Úvod do teoretické informatiky
(Výrokově) logické vyplývání • Všechny úsudky se stejnou logickou formou jako platný úsudek jsou platné: d p, d o |= o p Za proměnné d, p, o můžeme dosadit kterýkoli elementární výrok: Hraje na housle nebo se učí. Jestliže hraje na housle, pak hraje jako Kubelík. Tedy Jestliže nehraje jako Kubelík, pak se učí. Platný úsudek – stejná logická forma Úvod do teoretické informatiky
(Výrokově)logické vyplývání • Jestliže platí, že je správnýúsudek: P1,...,Pn|= Z,pak platí, že je tautologie formule tvaru implikace: • |= (P1 ... Pn) Z. • Důkaz, že formule je tautologie, nebo že závěr Z logicky vyplývá z předpokladů : • Přímý důkaz – např. pravdivostní tabulkou • Nepřímý důkaz, sporem: k důkazu P1,...,Pn|= Z pak stačí ukázat, že nemůže nastat případ, kdy všechny P1,...,Pn jsou pravdivé a Z je nepravdivý: tedy že P1 ... Pn Zje kontradikce, čili množina {P1, ..., Pn, Z} je sporná (nekonzistentní, nemá model). Úvod do teoretické informatiky
Důkaz tautologie ve VL |= ((p q) q) p Sporem: ((p q) q) p negovaná f. musí být kontradikce 1 1 pokus, zda může být 1 1 1 1 1 0 spor Při žádném ohodnocení není negovaná formule pravdivá, tedy původní formule je tautologie Úvod do teoretické informatiky
Nejdůležitější tautologie VL Tautologie s 1 výrokovým symbolem: |= p p |= p p zákon vyloučeného třetího |= (p p) zákon sporu |= p p zákon dvojí negace Úvod do teoretické informatiky
Algebraické zákony pro konjunkci, disjunkci a ekvivalenci • |= (p q) (q p) komutativní zákon pro • |= (p q) (q p) komutativní zákon pro • |= (p q) (q p) komutativní zákon pro • |= [(p q) r][p (q r)] asociativní zákon pro • |= [(p q) r][p (q r)] asociativní zákon pro • |= [(p q) r][p (q r)] asociativní zákon pro • |= [(p q) r][(p r) (q r)]distributivní zákon pro , • |=[(p q) r][(p r) (q r)]distributivní zákon pro , Úvod do teoretické informatiky
Zákony pro implikaci |=p (q p) zákon simplifikace |= (p p) q zákon Dunse Scota |= (p q) (q p) zákonkontrapozice |= (p (q r)) ((pq) r) spojování předpokladů |= (p (q r)) (q (p r)) na pořadí předpokladů nezáleží |= (p q) ((q r) (p r)) hypotetický sylogismus |= ((p q) (q r)) (p r) tranzitivita implikace |= (p (q r)) ((p q) (p r)) Fregův zákon |= (p p) p reductio ad absurdum |= ((p q) (p q)) p reductio ad absurdum |= (pq) p , |= (pq) q |= p (pq) , |= q (pq) Úvod do teoretické informatiky
Zákony pro převody |= (p q) (p q) (q p) |= (p q) (p q) (q p) |= (p q) (p q) (q p) |=(p q) (p q) |=(p q) (p q)Negace implikace |= (p q) (p q)De Morgan zákony |= (p q) (p q)De Morgan zákony Tyto zákony jsou také návodem jak negovat Úvod do teoretické informatiky
Negace implikace Není pravda, že budu-li hodný, dostanu lyže.(p q) Byl jsem hodný a (stejně) jsem lyže nedostal. (nesplněný slib) p q Státní zástupce: Pokud je obžalovaný vinen, pak měl společníka Obhájce: To není pravda ! Pomohl obhájce obžalovanému, co vlastně řekl? (Je vinen a udělal to sám!) Úvod do teoretické informatiky
Negace implikace Věty v budoucnosti: Jestliže to ukradneš, tak tě zabiju! (p q) To není pravda: Ukradnu to a (stejně) mě nezabiješ. p q Ale: Bude-li zítra 3. světová válka, pak zahyne více jak 5 miliard lidí. To není pravda: Bude zítra 3.sv. válka a zahyne méně než 5 miliard lidí ??? To jsme asi nechtěli říct, že určitě bude válka: Zamlčená modalita: Nutně,Bude-li zítra 3. světová válka, pak zahyne více jak 5 miliard lidí. To není pravda: Možná, žeBude zítra 3.sv. válka, ale zahynulo by méně než 5 miliard lidí Modální logiky – nejsou náplní tohoto kursu. Úvod do teoretické informatiky
Ještě úsudky • Převod z přirozeného jazyka nemusí být jednoznačný: Jestliže má člověk vysoký tlak a špatně se mu dýchá nebo má zvýšenou teplotu, pak je nemocen. p – ”X má vysoký tlak” q – ”X se špatně dýchá” r – ”X má zvýšenou teplotu” s – ”X je nemocen” 1. možná analýza: [(p q) r] s 2. možná analýza: [p (q r)] s Úvod do teoretické informatiky
Ještě úsudky Jestliže má Karel vysoký tlak a špatně se mu dýchá nebo má zvýšenou teplotu, pak je nemocen. Karel není nemocen, ale špatně se mu dýchá Co z toho plyne? Musíme rozlišit 1. čtení a 2. čtení, protože nejsou ekvivalentní, závěry budou různé. Úvod do teoretické informatiky
Analýza 1. čtení • analýza: [(p q) r] s, s, q ??? • Úvahou a úpravami: [(p q) r] s,s [(p q) r] (de transpozice Morgan) (p q) r (p q), r, ale platíq p, r (důsledky) Tedy Karel nemá vysoký tlak a nemá vysokou teplotu. Úvod do teoretické informatiky
Analýza 2. čtení • analýza: [p (q r)] s, s, q ??? • Úvahou a ekvivalentními úpravami: [p (q r)] s,s [p (q r)] transpozice de Morgan: p (q r)ale platíq druhý disjunkt nemůže být pravdivý je pravdivý první: p (důsledek) Tedy Karel nemá vysoký tlak (o jeho teplotě r nemůžeme nic usoudit) Úvod do teoretické informatiky
Důkaz obou případů 1. analýza: [(p q) r] s, s, q |= p,r 2. analýza: [p (q r)] s, s, q |= p D.ú. • 1. případ - tabulkou D.ú. • Sporem: k předpokladům přidáme negovaný závěr (p r) (p r) a předpokládáme, že vše 1 • [(p q) r] s, s, q, p r • 1 1 0 1 1 • 0 0 • 0 0 • 0 1 p r = 0spor Úvod do teoretické informatiky
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 jedné takové funkci odpovídá nekonečně mnoho formulí, které jsou navzájem ekvivalentní. • Definice: Formule A, B jsou ekvivalentní, značíme A B, mají-li přesně stejné modely, tj. vyjadřují stejnou pravdivostní funkci. Jinými slovy, A B iff A |= B a B |= A. • Příklad: p q p q (p q) (p q) (p p) (p q) (p p) ... • Pozn.: Nesmíme plést ekvivalenci formulí A B s formulí tvaru ekvivalence A B. Platí však, že A B právě když formule A B je tautologie. • Př.: (p q) [(p q) (q p)]iff • |= [(p q) ((p q) (q p))] Úvod do Teoretické informatiky (logika)
Normální formy, příklad Úvod do Teoretické informatiky (logika)
Normální formy formulí výrokové logiky • (p q) [(p q) (q p)] [(p q) (q p)] [(p q) (p q)] …. • Je užitečné stanovit nějaký normální tvar formule – tj. vybrat mezi těmito nekonečně mnoha ekvivalentními formulemi jeden nebo dva kanonické normální tvary. Třída ekvivalentních formulí je pak reprezentována touto vybranou formulí v normálním tvaru. • V našem příkladu jsou v normálním tvaru formule na druhém a třetím řádku. Úvod do Teoretické informatiky (logika)
Normální formy formulí výrokové logiky Literál je výrokový symbol nebo jeho negace. Př.: p, q, r, ... Elementární konjunkce (EK) je konjunkce literálů. Př.: p q, r r, ... Elementární disjunkce (ED) je disjunkce literálů. Př.: p q, r r, ... Úplná elementární konjunkce (ÚEK) dané množiny výrokových symbolů je elementární konjunkce, ve které se každý symbol z dané množiny vyskytuje právě jednou (buďto prostě nebo negovaný): Př.: p q Úplná elementární disjunkce (ÚED) dané množiny výrokových symbolů je elementární disjunkce, ve které se každý symbol z dané množiny vyskytuje právě jednou (buďto prostě nebo negovaný). Př.: p q Disjunktivní normální forma (DNF) dané formule je formule ekvivalentní s danou formulí a mající tvar disjunkce elementárních konjunkcí. Příklad: DNF(p p): (p p) (p p), p p Konjunktivní normální forma (KNF) dané formule je formule ekvivalentní s danou formulí a mající tvar konjunkce elementárních disjunkcí. KNF(p p): (p p) (p p) Úplná disjunktivní normální forma (UDNF) dané formule je formule ekvivalentní s danou formulí a mající tvar disjunkce úplných elementárních konjunkcí. UDNF(p q): (p q) (p q) Úplná konjunktivní normální forma (UKNF) dané formule je formule ekvivalentní s danou formulí a mající tvar konjunkce úplných elementárních disjunkcí. UKNF(p q): (p q) (q p) ÚDNF a UKNF dané formule nazýváme kanonickými (standardním) tvarytéto formule.
Normální formy formulí výrokové logiky Jak nalézt kanonický tvar (tj. UDNF, UKNF) formule? UDNF: disjunkce = 1, když alespoň jedna UEK = 1, tj. všechny literály v této UEK = 1. UKNF: konjunkce = 0, když alespoň jedna UED = 0, tj. všechny literály v této UED = 0. Proto: UDNF (UKNF) sestrojíme z pravdivostní funkce tak, že si všímáme řádků, kde je hodnota 1 (0) a „zajišťujeme správnou hodnotu literálů“ – 1 (0). Úvod do Teoretické informatiky (logika)
UDNF, UKNF tabulkou Nalézt UDNF, UKNF formule: (pq) UDNF: pq UKNF: (pq)(pq)(pq) Úvod do Teoretické informatiky (logika)
UDNF, UKNF úpravami Metoda ekvivalentních úprav: p qp q (p q) UDNF [p (q q] [q (p p] p qp qp qUKNF Pozn.: Využíváme zde tautologie výrokové logiky, viz předchozí presentace (slidy 26-29). Ve druhém řádku využíváme toho, že disjunkce libovolné formule A s kontradikcí (F) je ekvivalentní A: A F A Ve třetím řádku jsou použity distributivní zákony Každá formule, která není kontradikce, má UDNF a Každá formule, která není tautologie, má UKNF Úvod do Teoretické informatiky (logika)
Opačná úloha: k UDNF, UKNF nalézt jednodušší „původní“ formuli • Alchymista je zavřen ve vězení a dostane 5 motáků s výroky: • p: Podaří se ti přeměna olova ve zlato • q: 1.4. bude tvůj švagr jmenován prokurátorem • r: Po 1.4. bude soud. První moták zní: p q r Druhý moták zní: p q r Třetí moták zní: p q r Čtvrtý moták zní: p q r Pátý moták zní: Alespoň jeden z předchozích motáků je pravdivý. • Otázka: Co se vlastně nebohý alchymista dověděl? • Řešení: (p q r) (p q r) (p q r) (p q r). Máme tedy nalézt formuli, k níž je tato UDNF ekvivalentní. Za pomoci distributivních zákonů dostaneme: (p q r) (p q r) (p q r) (p q r) (p q) (r r) (p q) (r r) (p q) (p q) (p q) • Odpověď: Podaří se ti přeměna olova ve zlato tehdy a jen tehdy, když bude 1.4. tvůj švagr jmenován prokurátorem.
Otázka: kolik binárních pravdivostních funkcí (a tedy logických spojek) existuje? NOR NAND
Kolik nejméně a které spojky potřebujeme? • Dle věty o normálních tvarech stačí: , , (funkcionálně úplná soustava) • Ostatní vytvoříme skládáním funkcí Následující soustavy pravdivostních funkcí jsou funkcionálně úplné: 1. pravdivostní funkce příslušející spojkám {, , }, 2. pravdivostní funkce příslušející spojkám {, } nebo {, }, 3. pravdivostní funkce příslušející spojkám {, }, • pravdivostní funkce příslušející spojce {} nebo {}. Tedy k vyjádření libovolné pravdivostní funkce, tj. libovolné formule ekvivalentním způsobem stačí jedna spojka! Buď Schefferova NAND nebo Pierceova NOR Úvod do Teoretické informatiky (logika)
Kolik nejméně a které spojky potřebujeme? • Soustava {, , } stačí dle vět o normálních formách • Převod na soustavu {, } nebo {, }:A B (A B),A B (A B) • Převod na soustavu {, }: A B A B,A B (A B) • Převod na soustavu {} nebo {}: A AA, AB (AB)(AB), kde značí NAND, A AA, AB (AB)(AB), kde značí NOR. Úvod do Teoretické informatiky (logika)