Download - Přednáška 2: Normální formy, úsudky
Úvod do teoretické informatiky (logika)1
Přednáška 2: Normální formy, úsudky.
Marek Menší[email protected]
Úvod do teoretické informatiky (logika) 2
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) 3
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é.
p q p q p q (p q) (p q) (p q) A
1 1 1 0 0 1 0
1 0 0 1 1 1 00 1 1 0 0 1 0
0 0 1 0 0 1 0
Úvod do teoretické informatiky (logika) 4
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, že prší a sněží“ „Neprší nebo nesněží“
(p q) (p q) „Není pravda, že prší nebo sněží“ „Neprší a nesněží“
(p q) (p q) „Není pravda, že jestliže prší pak sněží“ „Prší a nesněží“
(p q) (p q) „Jestliže prší, pak sněží“ „Neprší nebo sněží“
(p q) (p q) Pozor na implikaci!
Úvod do teoretické informatiky 5
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 6
Logické vyplývání Jak tedy ověříme, zda úsudek je platný?1. Sémantické metody2. Syntaktické metodyAd 1: Snažíme se ověřit, že pravdivost premis zaručuje
pravdivost závěruAd 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 7
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 1 závěr je1 1 0 1 0 1 1 0 1 1 1 1 pravdivý1 0 0 1 0 0 0 1 1 1 1 1 ve všech čtyřech 0 1 0 1 1 1 modelech0 0 1 0 1 1 předpokladů0 0 0 0 1 0
Úsudek je platný.
Úvod do teoretické informatiky 8
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 pTabulka 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 9
(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 10
(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 Z je kontradikce, čili množina {P1, ..., Pn, Z} je sporná (nekonzistentní, nemá model).
Úvod do teoretické informatiky 11
Důkaz tautologie ve VL|= ((p q) q) pSporem: ((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 12
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 13
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 14
Zákony pro implikaci|= p (q p) zákon simplifikace|= (p p) q zákon Dunse Scota|= (p q) (q p) zákon kontrapozice|= (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
|= (p q) p , |= (p q) q|= p (p q) , |= q (p q)
Úvod do teoretické informatiky 15
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 16
Negace implikaceNení 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 17
Negace implikaceVě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á, že Bude 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 18
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 19
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 20
Analýza 1. čtení
1. analýza: [(p q) r] s, s, q ???a) Ú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 21
Analýza 2. čtení
2. analýza: [p (q r)] s, s, q ??? a) Ú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 22
Důkaz obou případů1. analýza: [(p q) r] s, s, q |= p,r2. analýza: [p (q r)] s, s, q |= p D.ú. a) 1. případ - tabulkou D.ú.b) 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 = 0 spor
Úvod do Teoretické informatiky (logika) 23
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) 24
Normální formy, příklad
p q f(p,q)1 1 1
1 0 00 1 00 0 1
Této pravdivostní funkci odpovídá nekonečně mnoho formulí:(p q) [(p q) (q p)] [(p q) (q p)] [(p q) (p q)] ….
Úvod do Teoretické informatiky (logika) 25
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.
26
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) tvary této formule.
Úvod do Teoretické informatiky (logika) 27
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) 28
UDNF, UKNF tabulkou
Nalézt UDNF, UKNF formule: (pq)
UDNF: pqUKNF:(pq)(pq)(pq)
p q (pq) UEK UED
1 1 0 pq
1 0 1 pq
0 1 0 pq
0 0 0 pq
Úvod do Teoretické informatiky (logika) 29
UDNF, UKNF úpravamiMetoda ekvivalentních úprav:
p q p q (p q) UDNF [p (q q] [q (p p]
p q p q p q UKNFPozn.: 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 aKaždá formule, která není tautologie, má UKNF
30
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 rDruhý moták zní: p q rTřetí moták zní: p q rČtvrtý moták zní: p q rPá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?
p q 0 1 2 3 4 5 6 7 8 9 A B C D E F
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
NOR NAND
Úvod do Teoretické informatiky (logika) 32
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 {, },4. 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) 33
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.