Rezoluční metoda 3. přednáška

Slides:



Advertisements
Podobné prezentace
Rezoluční metoda v PL1 (pokračování)
Advertisements

Deduktivní soustava výrokové logiky
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Úvod do logiky 3. přednáška. Výroková logika - pokračování
Úvod do logiky: Přednáška 2, výroková logika
Predikátová logika 1. řádu
Predikátová logika1 Predikátová logika 1. řádu Teď „logika naostro“ !
Algebra.
Úvod do Teorie množin.
Důkazové metody.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Výroková logika.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Přednáška 2: Formalizace v jazyce logiky.
Co je to ARGUMENT? Irena Schönweitzová FI - ŠF
Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia (reg. č. CZ.1.07/2.2.00/ , OPVK)
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Matematická logika 2. přednáška. Výroková logika - pokračování
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Úvod do databázových systémů
Predikátová logika.
Predikátová logika.
Výroková logika (analytické myšlení, úsudky)
Úvod do teoretické informatiky 1 Přednáška 3: rozhodování o platnosti úsudku Marie Duží
Výroky, negace, logické spojky
Logika a log. programování Výroková logika (2.přednáška)
Přednáška 2, výroková logika
Pre-algebra Antonín Jančařík.
Netradiční varianty výrokové logiky
Základní logické spojky.  Výrokem rozumíme každé tvrzení tedy (oznamovací větu), o kterém můžeme rozhodnout zda je pravdivé či nikoliv.  Je-li pravdivé.
Výroková logika.
Marie Duží vyučující: Marek Menšík Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia.
Definice, věta, důkaz.
Obecná rezoluční metoda v predikátové logice
Zpracování neurčitosti Fuzzy přístupy RNDr. Jiří Dvořák, CSc.
Úvod do logiky 5. přednáška
ÚVOD DO MATEMATICKÉ LOGIKY
MATEMATIKA Obsah přednášky Funkce. 3. Limita funkce
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
ZÁKLADNÍ POJMY VÝROKOVÉ LOGIKY
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Teorie množin.
Marie Duží vyučující: Marek Menšík Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia.
Marie Duží vyučující: Marek Menšík Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia.
Výroková logika.
Predikátová logika1 Predikátová logika 1. řádu Teď „logika naostro“ !
Pre-algebra Antonín Jančařík.
Reprezentace znalostí
Přednáška 6 Rezoluční metoda
1 Úvod do teoretické informatiky (logika) 1 Marek Menšík
Rezoluční metoda ve výrokové logice Marie Duží. Matematická logika2 Rezoluční metoda ve výrokové logice Sémantické tablo není výhodné z praktických důvodů.
Přednáška 2: Normální formy, úsudky.
Gymnázium, Žamberk, Nádražní 48 Projekt: CZ / /34
Definiční obor a obor hodnot
Matematická logika 2. přednáška. Výroková logika - pokračování
Obsah a rozsah pojmu Pojem lze vymezit buď definicí, jež určí nutné specifické vlastnosti, anebo výčtem všech předmětů, které pod tento pojem spadají.
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
Matematická logika 5. přednáška
Predikátová logika (1. řádu).
Matematická logika 5. přednáška
Predikátová logika 1. řádu
Výroková logika Analyzuje způsoby skládání jednoduchých výroků do výroků složených pomocí logických spojek. 1.
Sémantika PL1 Interpretace, modely
Predikátová logika.
VÝROKOVÁ LOGIKA Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor: Mgr. Renata Čermáková.
Rozoluiční princip.
VÝROKOVÁ LOGIKA Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor: Mgr. Renata Čermáková.
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

Rezoluční metoda 3. přednáška Marek Menšík Úvod do Teoretické informatiky (logika)

Rezoluční pravidlo dokazování ve výrokové logice Nechť l je literál. Z formule (A  l)  (B  l) odvoď (A  B). Zapisujeme: (A  l)  (B  l) ––––––––––––––– (A  B) Toto pravidlo není přechodem k ekvivalentní formuli, ale zachovává splnitelnost. Důkaz: Nechť je formule (A  l)  (B  l) splnitelná, tedy pravdivá při nějaké valuaci v. Pak při této valuaci musí být pravdivé oba disjunkty (tzv. klausule): (A  l) a (B  l). Nechť je dále v(l) = 0. Pak w(A) = 1 a tedy w(A  B) = 1. Nechť je naopak v(l) = 1. Pak w(l) = 0 a musí být w(B) = 1, a tedy w(A  B) = 1. V obou případech je tedy formule A  B pravdivá v modelu v původní formule, a tedy splnitelná. Úvod do Teoretické informatiky (logika)

Rezoluční pravidlo dokazování ve výrokové logice Uvědomme si, že důkaz byl proveden pro jakýkoli model, tj. valuaci v. Jinými slovy platí, že pravidlo zachovává také pravdivost: (A  l)  (B  l) |= (A  B). To nám poskytuje návod, jak řešit úlohu, co vyplývá z dané formule, resp. množiny formulí. Navíc, platí že konjunktivní rozšíření formule o rezolventu (A  B) nemění pravdivostní funkci formule: (A  l)  (B  l)  (A  l)  (B  l)  (A  B) Úvod do Teoretické informatiky (logika)

Úvod do Teoretické informatiky (logika) Klauzulární forma Konjunktivní normální forma formule se v rezoluční metodě nazývá klauzulární forma. Jednotlivé konjunkty (tj. elementární disjunkce) se nazývají klauzule. Příklad: Převod formule do klauzulární formy: [((p  q)  (r  q)  r)  p]  ((p  q)  (r  q)  r)  p  (p  q)  (r  q)  r  p Formule má čtyři klauzule. Důkaz, že je to kontradikce provedeme tak, že postupně přidáváme rezolventy, až dojdeme ke sporné klauzuli (p  p), značíme : (p  q)  (r  q)  (p  r)  r  p  p Úvod do Teoretické informatiky (logika)

Důkazy rezoluční metodou R(F) – konjunktivní rozšíření formule F o všechny rezolventy R0(F) = F, Ri(F) = R(Ri-1(F)) – rezoluční uzávěr formule F. Platí, že Ri(F)  F Důkaz, že A je kontradikce (nesplnitelná): existuje n takové, že Rn(A) obsahuje prázdnou klausuli: Důkaz, že A je tautologie: A je kontradikce Důkaz, že množina formulí {A1,…,An} je nesplnitelná: dokážeme, že formule A1 ...  An je kontradikce Odvodit, co vyplývá z {A1,…,An} znamená odvodit všechny rezolventy Důkaz správnosti úsudku A1,…,An |= Z Přímý: postupným vytvářením rezolvent odvodíme, že z A1,...,An vyplývá Z Nepřímý: dokážeme, že A1 ... An  Z je tautologie, neboli A1 ... An  Z je kontradikce, neboli množina {A1,..., An,,Z} je nesplnitelná Úvod do Teoretické informatiky (logika)

Úvod do Teoretické informatiky (logika) Příklady, postup Jednotlivé klausule napíšeme pod sebe a odvozujeme rezolventy (které vyplývají). Při nepřímém důkazu se snažíme dojít k prazdné klauzuli. Důkaz nesplnitelnosti formule: (q  p)  (p  r)  (q  r)  p q  p p  r q  r p p  r rezoluce 1, 3 p rezoluce 2, 5 spor 4, 6 Dotaz: Co vyplývá z formule (q  p)  (p  r)  (q  r) ? Formule p Úvod do Teoretické informatiky (logika)

Úvod do Teoretické informatiky (logika) Příklady, postup Přímý důkaz platnosti úsudku: p  q  r, s  q, t  r |= p  (s  t) p  q  r s  q t  r p  s  r rezoluce 1, 2 p  s  t rezoluce 3, 4 p  s  t  p  (s  t) QED Úvod do Teoretické informatiky (logika)

Úvod do Teoretické informatiky (logika) Příklady Nepřímý důkaz platnosti úsudku: p  q  r, s  q, t  r |= p  (s  t) p  q  r s  q t  r p  s  r rezoluce 1, 2 p  s  t rezoluce 3, 4 p nego- s vaný t závěr p  s  t, p, s, t |= s  t, s, t |= t, t |= Úvod do Teoretické informatiky (logika)

Důkaz platnosti úsudku |= [(p  q)  (p  r)]  (q  r) iff [(p  q)  (p  r)] |= (q  r) iff (p  q), (p  r) |= (q  r) p: Program funguje q: Systém je v pořádku r: Je nutno volat systémového inženýra Funguje-li program, je systém v pořádku. Nefunguje-li program, je nutno volat syst. inženýra ---------------------------------------------------------------------------- Není-li systém v pořádku, je nutno volat syst. inženýra. Úvod do Teoretické informatiky (logika)

Důkaz platnosti úsudku (p  q), (p  r) |= (q  r) Nepřímý důkaz: {(p  q), (p  r), (q  r)} – musí být sporná množina formulí p  q p  r q r q  r rezoluce 1, 2 r rezoluce 3, 5 rezoluce 4, 6, spor

Důkaz platnosti úsudku (p  q), (p  r) |= (q  r) Přímý důkaz: Co vyplývá z předpokladů? Pravidlo rezoluce zachovává pravdivost: p  q, p  r |-- q  r 1 1 1 V libovolné valuaci v, jsou-li pravdivé předpoklady, je pravdivá i rezolventa Důkaz: a) p = 1  p = 0  q = 1  (q  r) = 1 b) p = 0  r = 1  (q  r) = 1 p  q p  r q  r rezoluce 1, 2 – důsledek: (q  r)  (q  r) což bylo dokázat Úvod do Teoretické informatiky (logika)

Jazyk predikátové logiky Atomické výroky tvoříme aplikací predikátů (P, Q, R, …) na termy (označují prvky universa, tj. individua). Např.: P(x), Q(a,b), R(a,f(x)), … Složené výroky tvoříme aplikací výrokových spojek, např. P(x)  Q(a,b), a navíc pomocí kvantifikátorů (, ). Např.: x [P(x)  Q(a,b)] Úvod do teoretické informatiky (logika)

Převod z přirozeného jazyka do jazyka PL1 Vlastnosti či vztahy překládáme jako predikátové symboly „všichni“, „žádný“, „nikdo“, ... překládáme pomocí všeobecného kvantifikátoru  „někdo“, „něco“, „někteří“, „existuje“, ... překládáme pomocí existenčního kvantifikátoru  Větu musíme často ekvivalentně přeformulovat Pozor: v češtině dvojí zápor ! Žádný student není důchodce: x [S(x)  D(x)] Ale, „Všichni studenti nejsou důchodci“ čteme jako „Ne všichni studenti jsou důchodci“: x [S(x)  D(x)]  x [S(x)  D(x)] Úvod do teoretické informatiky (logika)

Převod z přirozeného jazyka do jazyka PL1 Pomocné pravidlo:  + ,  +  (většinou) x [P(x)  Q(x)]  x [P(x)  Q(x)] Není pravda, že všechna P jsou Q  Některá P nejsou Q x [P(x)  Q(x)]  x [P(x)  Q(x)] Není pravda, že některá P jsou Q  Žádné P není Q de Morganovy zákony v PL1 Úvod do teoretické informatiky (logika)

Převod z přirozeného jazyka do jazyka PL1 „Pouze zaměstnanci (Z) používají výtah (V)“ x [V(x)  Z(x)] „Všichni zaměstnanci používají výtah“ x [Z(x)  V(x)] „Marie (m) má ráda (R) pouze vítěze (V)“: Tedy pro všechny platí: „Pokud má Marie někoho ráda, pak je to vítěz“: x [R(m, x)  V(x)], „mít rád“ je binární vztah, ne vlastnost !!! „Každý má někoho někdy rád“: x y t R(x, y, t) Úvod do teoretické informatiky (logika)

Význam (sémantika) formulí PL1 P(x)  y Q(x, y) – je tato formule pravdivá? Nesmyslná otázka, vždyť nevíme, co znamenají symboly P, Q. Jsou to jen symboly, za které můžeme dosadit jakýkoli predikát. P(x)  P(x) ANO, je, a to vždy, za všech okolností. (Je to tautologie, logicky pravdivá formule.) Úvod do teoretické informatiky (logika)

Význam (sémantika) formulí PL1 Je dán interpretací (predikátových a funkčních) symbolů: Příklad. Formule: P(a) Interpretace: P  podmnožinu universa, a  prvek universa (individuum) Interpretace1: universum N(aturals. tj. čísla 0,1,2,3, …); P  sudá čísla, a  číslo 5 (individuum); vyhodnocení pravdivosti: Je 5  množiny sudých čísel? Ne, formule je v této interpretaci nepravdivá Interpretace2: P  lichá čísla, a  číslo 5; vyhodnocení pravdivosti: Je 5  množiny lichých čísel? Ano, formule je v této interpretaci pravdivá. Říkáme také, že tato interpretace <N, lichá, 5> je modelem formule Úvod do teoretické informatiky (logika)

Význam (sémantika) formulí PL1 Formule x P(x, f(x)) musíme se dohodnout, jak x P(x, f(x)) budeme tyto formule chápat O čem mluví, přes co „rangují“ proměnné: zvolíme universum diskursu, jakákoli neprázdná množina U   Co označuje symbol P; je binární, má dva argumenty, tedy musí označovat nějakou binární relaci R  U  U Co označuje symbol f ; je unární, má jeden argument, tedy musí označovat nějakou funkci F  U  U, značíme F: U  U Úvod do teoretické informatiky (logika)

Význam (sémantika) formulí PL1 A: x P(x, f(x)) musíme se dohodnout, jak B: x P(x, f(x)) budeme tyto formule chápat Nechť U = N (množina přirozených čísel) Nechť P označuje relaci < (tj. množinu dvojic takových, že první člen je ostře menší než druhý: {0,1, 0,2, …,1,2, …}) Nechť f označuje funkci druhá mocnina x2, tedy množinu dvojic, kde druhý člen je druhá množina prvního: {0,0, 1,1, 2,4, …,5,25, …} Nyní můžeme teprve vyhodnotit pravdivostní hodnotu formulí A, B Úvod do teoretické informatiky (logika)

Význam (sémantika) formulí PL1 A: x P(x, f(x)) B: x P(x, f(x)) Vyhodnocujeme „zevnitř“: Nejprve vyhodnotíme term f(x). Každý term označuje prvek universa. Který? Záleží na valuaci e proměnné x. Nechť e(x) = 0, pak f(x) = x2 = 0. e(x) = 1, pak f(x) = x2 = 1, e(x) = 2, pak f(x) = x2 = 4, atd. Nyní vyhodnocením P(x , f(x)) musíme dostat pravdivostní hodnotu: e(x) = 0, 0 není < 0 Nepravda e(x) = 1, 1 není < 1 Nepravda, e(x) = 2, 2 je < 4 Pravda Úvod do teoretické informatiky (logika)

Význam (sémantika) formulí PL1 A: x P(x, f(x)) B: x P(x, f(x)) Formule P(x , f(x)) je pro některé valuace e proměnné x v dané interpretaci Pravdivá, pro jiné nepravdivá Význam x (x): formule musí být pravdivá pro všechny (některé) valuace x Formule A: Nepravdivá v naší interpretaci I: |I A (interpretace I není jejím modelem) Formule B: Pravdivá v naší interpretaci I: |=I B (interpretace I je jejím modelem) Úvod do teoretické informatiky (logika)

Úvod do teoretické informatiky (logika) Model formule PL1: Interpretace, ve které je formule pravdivá x P(x, f(x)), Modely: <N, P:, f:x2>, <N, P:<, f:x+1>, <Individua, P:být-mladší, f:matka(x)> VL: ohodnocení e výrokových proměnných, pro které je formule pravdivá. Např.: Formule p  q má model (jediný): e(p)=1, e(q)=1 Formule p  q má modely: e(p)=0, e(q)=1; e(p)=0, e(q)=0; e(p)=1, e(q)=1 Formule: x P(x, f(x))  P(a,b) Má např. tyto modely: <N; P:; f:x2,a:5,b:3>, <N; P:<; f:x+1,a:5,b:3> Ú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á interpretace / 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é. p q p  q p  q (p  q) (p  q)  (p  q) A 1 Ú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, ž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 (logika)

Ekvivalentní vyjádření a de Morganovy zákony „Není pravda, že všechna A jsou B“  „Některá A nejsou B“ x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)] „Není pravda, že některá A jsou B“  „Žádné A není B“ x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)] „Není pravda, že žádné A není B“  „Některá A jsou B“ x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)] „Není pravda, že některá A nejsou B“  „Všechna A jsou B“ x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)] Zákony obecně: x A(x)  x A(x); x A(x)  x A(x) (A  B)  (A  B); (A  B)  (A  B); (A  B)  (A  B); Úvod do teoretické informatiky (logika)

Ekvivalentní vyjádření a de Morganovy zákony – množinově „Není pravda, že všechna A jsou B“  „Některá A nejsou B“ x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)] Není pravda, že A je podmnožinou B  Průnik A a komplementu B je neprázdný (Nakreslete si to!) „Není pravda, že některá A jsou B“  „Žádné A není B“ x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)]  x [B(x)  A(x)] Průnik A a B je prázdný (čili A, B jsou disjunktní)  A je podmnožinou komplementu B  B je podmnožinou komplementu A (Nakreslete si to!) „Není pravda, že žádné A není B“  „Některá A jsou B“ x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)] A není podmnožinou komplementu B  Průnik A a B je neprázdný (Nakreslete si to!) „Není pravda, že některá A nejsou B“  „Všechna A jsou B“ x [A(x)  B(x)]  x [A(x)  B(x)]  x [A(x)  B(x)] Průnik A a komplementu B je prázdný  A je podmnožinou B (Nakreslete si to!) Úvod do teoretické informatiky (logika)