Logika 10
Transkrypt
Logika 10
Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdań Materiały pomocnicze do wykładu dla Studentów Informatyki Wydział EAIiIB AGH Antoni Lig˛eza Materiały pomocnicze: http://home.agh.edu.pl/~ligeza c Antoni Ligeza ˛ Wprowadzenie do Wykładu 2 Logiczna konsekwencja — podstawowe problemy logiki Definicja 1 Logiczna konsekwencja Formuła ψ jest logiczna˛ konsekwencja˛ formuły φ wtw. gdy dla każdej interpretacji I zachodzi jeżeli |=I φ to |=I ψ. (1) Podstawowe problemy logiki: • dowodzenie twierdzeń — badanie logicznej konsekwencji: ∆ |= H, • badanie spełnialności (SAT): Czy istnieje interpretacja I : |=I Ψ • weryfikacja tautologii: Czy dla każdej interpretacji I : |=I Ψ Dwa alternatywne podejścia: • analiza możliwych interprtacji — metoda zero-jedynkowa; problem — eksplozja kombinatoryczna1 , • wnioskowanie logiczne — wywód — za pomoca reguł logicznych zachowujacych ˛ logiczna˛ konsekwencje. ˛ Notacja: jeżeli formuła H jest wywodliwa (wyprowadzalna) ze zbioru ∆, to zapiszemu to jako: ∆`H Problemy konstrukcji systemów logicznych: ∆`H versus c Antoni Ligeza ˛ 1 Redukcja: drzewa decyzyjne, grafy OBDD, tablice semantyczne ∆ |= H Wprowadzenie do Wykładu 3 Metoda zero-jedynkowa: przykład: sprawdzanie tautologii φ = ((p ⇒ r) ∧ (q ⇒ r)) ⇔ ((p ∨ q) ⇒ r). Mamy (23 ) możliwych interpretacji. p q r p⇒r q⇒r (p ⇒ r) ∧ (q ⇒ r) (p ∨ q) ⇒ r Φ 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 Inna możliwość — przekształcenia równoważne: φ ≡ ((¬p ∨ r) ∧ (¬q ∨ r)) ⇔ (¬(p ∨ q) ∨ r). φ ≡ ((¬p ∧ ¬q) ∨ r) ⇔ (¬(p ∨ q) ∨ r). φ ≡ (¬(p ∨ q) ∨ r) ⇔ (¬(p ∨ q) ∨ r). Kładac: ˛ ψ = (¬(p ∨ q) ∨ r) widzimy, że analizowana formuła jest postaci: φ ≡ ψ ⇔ ψ, c Antoni Ligeza ˛ Wprowadzenie do Wykładu 4 Metoda zero-jedynkowa: przykład: badanie logicznej konsekwencji (p ⇒ q) ∧ (r ⇒ s) (p ∨ r) ⇒ (q ∨ s) Kładac: ˛ φ = (p ⇒ q) ∧ (r ⇒ s) oraz ϕ = (p ∨ r) ⇒ (q ∨ s), należy sprawdzić czy: φ |= ϕ. (2) p q r s p⇒q r⇒s (p ⇒ q) ∧ (r ⇒ s) p∨r q∨s (p ∨ r) ⇒ (q ∨ s) 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 Z analizy kolumn 7 i 10 wynika, że zachodzi relacja logicznej konsekwencji (brak logicznej równoważności — 7, 10, 12 i 15). c Antoni Ligeza ˛ Wprowadzenie do Wykładu 5 Twierdzenia o dedukcji Twierdzenie 1 Jeżeli ∆1 , ∆2 , . . . ∆n sa˛ formułami logicznymi (nazywanymi aksjomatami), formuła Ω (nazywana hipoteza˛ lub konkluzja) ˛ jest ich logiczna˛ konsekwencja˛ wtw. gdy formuła ∆1 ∧ ∆2 ∧ . . . ∆n ⇒ Ω jest tautologia. ˛ Twierdzenie 2 Jeżeli ∆1 , ∆2 , . . . ∆n sa˛ formułami logicznymi (nazywanymi aksjomatami), formuła Ω (nazywana hipoteza˛ lub konkluzja) ˛ jest ich logiczna˛ konsekwencja˛ wtw. gdy formuła ∆1 ∧∆2 ∧. . . ∆n ∧¬Ω jest sprzeczna. Problem dowodzenia twierdzeń ma postać: majac ˛ dane aksjomaty ∆1 , ∆2 , . . . ∆n uznane za prawdziwe wykazać prawdziwość hipotezy Ω. Tak wiec ˛ należy wykazać, że: ∆1 ∧ ∆2 ∧ . . . ∆n |= Ω Metody dododzenia twierdzeń: • sprawdzanie wszystkich możliwych interpretacji (wada: duża złożoność obliczeniowa), • dowód wprost – korzystajac ˛ z aksjomatów i reguł dowodzenia generujemy nowe formuły aż do uzyskania formuły Ω, • dowodzenie tautologii – korzystajac ˛ z Tw.1 dowodzimy, że formuła ∆1 ∧ ∆2 ∧ . . . ∆n ⇒ Ω jest tautologia, ˛ • dowód nie wprost – to dowód twierdzenia przeciwstawnego, równoważnego danemu. Polega na dowodzeniu twierdzenia postaci ¬Ω ⇒ ¬(∆1 ∧ ∆2 ∧ . . . ∆n ). • dowód przez sprowadzenie do sprzeczności; korzystaja˛ z Tw.2, polega na wykazaniu sprzeczności formuły: ∆1 ∧ ∆2 ∧ . . . ∆n ∧ ¬Ω. c Antoni Ligeza ˛ Wprowadzenie do Wykładu 6 Metoda rezolucji 1. Problem: ∆ |= H 2. Z twierdzenia o dedukcji (2) — należy wykazać, że ∆ ∪ ¬H jest niespełnialny. 3. Dokonać transformacji ∆ ∪ ¬H do postaci CNF. 4. Wykorzystujac ˛ regułe˛ rezolucji wyprowadzić zdanie puste - zawsze fałszywe. Przykład: 1. Problem: (p ⇒ q) ∧ (r ⇒ s) |= (p ∨ r) ⇒ (q ∨ s) 2. Z twierdzenia o dedukcji (2) — należy wykazać, że [(p ⇒ q) ∧ (r ⇒ s)] ∪ ¬[(p ∨ r) ⇒ (q ∨ s)] jest niespełnialny. 3. Dokonać transformacji do postaci CNF. Mamy: {¬p ∨ q, ¬r ∨ s, p ∨ r, ¬q, ¬s} 4. Wykorzystujac ˛ regułe˛ rezolucji wyprowadzić zdanie puste - zawsze fałszywe. c Antoni Ligeza ˛ Wprowadzenie do Wykładu 7 Metoda rezolucji dualnej 1. Problem: ∆ |= H 2. Z twierdzenia o dedukcji (1) — należy wykazać, że ∆⇒H jest tautologia. ˛ 3. Dokonać transformacji ∆ ⇒ H do postaci DNF. 4. Wykorzystujac ˛ regułe˛ rezolucji dualnej wyprowadzić zdanie puste - zawsze zawsze prawdziwe. Przykład: 1. Problem: (p ⇒ q) ∧ (r ⇒ s) |= (p ∨ r) ⇒ (q ∨ s) 2. Z twierdzenia o dedukcji (1) — należy wykazać, że [(p ⇒ q) ∧ (r ⇒ s)] ⇒ [(p ∨ r) ⇒ (q ∨ s)] jest tautologia. ˛ 3. Dokonać transformacji do postaci DNF. Mamy: {p ∧ ¬q, r ∧ ¬s, ¬p ∧ ¬r, q, s} 4. Wykorzystujac ˛ regułe˛ rezolucji dualnej wyprowadzić zdanie puste - zawsze prawdziwe. c Antoni Ligeza ˛ Wprowadzenie do Wykładu 8 Metoda tablic semantycznych Przypomnienie: atom, literał, literał pozytywny, literał negatywny, para literałów komplementarnych {p, ¬p}. Formuła p∧¬p jest zawsze fałszywa. Formuła p∨¬p jest zawsze prawdziwa. Założenia metody tablic semantycznych: • badamy spełnialność formuły, • punktem startowym jest formuła w oryginalnej postaci! (nie sprowadzamy do CNF/DNF), • analizujac ˛ strukture˛ formuły systematycznie szukamy modelu — jego brak oznacza niespełnialność, • do analizy tworzymy drzewo struktury (lub tablice): ˛ – dla formuł koniunktywnych tworzymy (liniowo) zbiory literałów, – dla formuł dysjunktywnych tworzymy rozgałezienia, ˛ • wystapienie ˛ pary literałów komplementarnych zamyka dana˛ gałaź ˛ (falsyfikacja), • brak takiej pary — dostarcza modelu (spełnialność), • zamkniecie ˛ każdej gałezi ˛ falsyfikacja˛ oznacza brak modelu (niespełnialność formuły wyjściowej). Przykład 1: p ∧ (¬q ∨ ¬p) Przykład 2: (p ∨ q) ∧ (¬p ∧ ¬q) c Antoni Ligeza ˛ Wprowadzenie do Wykładu 9 Przykłady Przykład 1: p ∧ (¬q ∨ ¬p) p, ¬q ∨ ¬p p, ¬q p, ¬p Przykład 2: (p ∨ q) ∧ (¬p ∧ ¬q) p ∨ q, ¬p ∧ ¬q p ∨ q, ¬p, ¬q p, ¬p, ¬q c Antoni Ligeza ˛ q, ¬p, ¬q Wprowadzenie do Wykładu 10 Algorytm tablic semantycznych Reguły przekształceń dla formuł koniunktywnych (typu α): α α1 ¬¬A A A1 ∧ A2 A1 A2 ¬(A1 ∨ A2 ) ¬A1 ¬A2 ¬(A1 ⇒ A2 ) A1 ¬A2 A1 ⇔ A2 α2 A1 ⇒ A2 A2 ⇒ A1 Reguły przekształceń dla formuł dysjunktywnych (typu β): β β1 β2 B1 ∨ B2 B1 B2 ¬(B1 ∧ B2 ) ¬B1 ¬B2 B1 ⇒ B2 ) ¬B1 B2 ¬(B1 ⇔ B2 ) ¬(B1 ⇒ B2 ) ¬(B2 ⇒ B1 ) Algorytm tworzenia drzewa: • Korzeń: formuła wyjściowa, • U (dla liścia) zawiera same literały: – p, ¬p ∈ U — stop/falsyfikacja; else – stop/zdefiniowano model, • Dla formuły koniunktywnej α ∈ U : U 0 = (U − {α}) ∪ {α1 , α2 } Wprowadzenie do Wykładu 11 • Dla formuły dysjunktywnej β ∈ U mamy rozgałezienie: ˛ U 0 = (U − {β}) ∪ {β1 } U 00 = (U − {β}) ∪ {β2 } Przykład: 1. Problem: (p ⇒ q) ∧ (r ⇒ s) |= (p ∨ r) ⇒ (q ∨ s) 2. Z twierdzenia o dedukcji (2) — należy wykazać, że [(p ⇒ q) ∧ (r ⇒ s)] ∪ ¬[(p ∨ r) ⇒ (q ∨ s)] jest niespełnialny. 3. Dokonać transformacji do postaci CNF. Mamy: {¬p ∨ q, ¬r ∨ s, p ∨ r, ¬q, ¬s} 4. Wykorzystujac ˛ regułe˛ rezolucji wyprowadzić zdanie puste - zawsze fałszywe. Problem: wykazać, że poniższa fromuła jest niespełnialna: [(p ⇒ q) ∧ (r ⇒ s)] ∪ ¬[(p ∨ r) ⇒ (q ∨ s)] c Antoni Ligeza ˛ Wprowadzenie do Wykładu 12 System Gentzena Definicja 2 System Gentzenowski jest systemem dowodzenia, w którym aksjomatami sa˛ zbiory formuł zawierajace ˛ pary literałów komplementarnych (zdania prawdziwe), oraz dostepne ˛ sa˛ nastepujace ˛ reguły (schematy) dowodzenia: U ∪ {α1 , α2 } U1 ∪ {α} U1 ∪ {β1 }, U2 ∪ {β2 } U1 ∪ U2 ∪ {β} α1 α2 α ¬¬A1 A1 ¬A1 ¬A2 ¬(A1 ∧ A2 ) A1 A2 A1 ∨ A2 ¬A1 A2 A1 ⇒ A2 ¬(A1 ⇒ A2 ) ¬(A2 ⇒ A1 ) ¬(A1 ⇔ A2 ) β1 β2 β B1 B2 B1 ∧ B2 ¬B1 ¬B2 ¬(B1 ∨ B2 ) B1 ¬B2 ¬(B1 ⇒ B2 ) B1 ⇒ B2 B2 ⇒ B1 B1 ⇔ B2 Zbiór formuł postaci {α1 , α2 } — stanowi dysjunkcje. ˛ c Antoni Ligeza ˛ Wprowadzenie do Wykładu 13 Dowody konstruktywne: Ważniejsze reguły wnioskowania (Fitch) • AND Introduction (AI): φ1 , . . . , φ n φ1 ∧ . . . ∧ φn • AND Elimination (AE): φ1 ∧ . . . ∧ φn φi • OR Introduction (OI): φi φ1 ∨ . . . ∨ φn • OR Elimination (OE): φ1 ∨ . . . ∨ φn , φ1 ⇒ ψ, . . . φn ⇒ ψ ψ • Negation Introduction (NI): φ ⇒ ψ, φ ⇒ ¬ψ ¬φ • Negation Elimination (NE): ¬¬φ φ • Implication Introduction (II): φ`ψ φ⇒ψ • Implication Elimination (IE): φ, φ ⇒ ψ ψ • Equivalence Introduction (EI), • Equivalence Elimination (EE) c Antoni Ligeza ˛ Wprowadzenie do Wykładu 14 Ewaluacja formuły — metoda zero-jedynkowa Badamy spełnialność formuły: h ≡ (p ⇔ q) ∧ (r ⇔ s) RuleNo p q r s h c Antoni Ligeza ˛ 0 0 0 0 0 1 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 0 6 0 1 1 0 0 7 0 1 1 1 0 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 0 13 1 1 0 1 0 14 1 1 1 0 0 15 1 1 1 1 1 (3) Wprowadzenie do Wykładu 15 Drzewo binarne — uniwersalne narz˛edzie analizy formuł p 0 1 q q 0 1 r r 0 1 s 0 h c Antoni Ligeza ˛ 1 0 r 0 s 1 s 1 0 1 0 0 1 0 0 1 r 0 1 s s 1 0 1 0 0 0 0 0 0 s 1 s 1 0 1 0 0 0 0 1 s 1 0 1 0 0 1 Wprowadzenie do Wykładu 16 Drzewo zredukowane p 0 1 q q 0 1 r r 0 1 s 0 h c Antoni Ligeza ˛ s 1 1 0 0 0 0 1 s 1 1 0 0 0 s 1 1 0 0 0 1 1 Wprowadzenie do Wykładu 17 Ordered Binary Decision Diagrams (OBDD) Notacja: p −→ h0 , h1 oznacza: if p then h0 else h1 . Definicja 3 Reguła ekspansji Shannona φ ≡ p −→ φ{p/1}, φ{p/0}, Przykład: p ∧ q ≡ p −→ q, 0, p ∨ q ≡ p −→ 1, q ¬p ≡ p −→ 0, 1. Redukcja formuły φ = (p ⇔ q) ∧ (r ⇔ s). φ ≡ p −→ φ1 , φ0 (4) φ1 ≡ q −→ φ11 , 0 (5) φ0 ≡ q −→ 0, φ00 (6) φ11 ≡ r −→ φ111 , φ110 (7) φ00 ≡ r −→ φ001 , φ000 (8) φ111 ≡ s −→ 1, 0 (9) φ110 ≡ s −→ 0, 1 (10) φ001 ≡ s −→ 1, 0 (11) φ000 ≡ s −→ 0, 1 (12) (13) c Antoni Ligeza ˛ Wprowadzenie do Wykładu 18 Redukcja po wykryciu powtarzajacych ˛ si˛e drzew (podgrafów) φ ≡ p −→ φ1 , φ0 (14) φ1 ≡ q −→ φ11 , 0 (15) φ0 ≡ q −→ 0, φ00 (16) φ11 ≡ r −→ φ111 , φ110 (17) φ00 ≡ r −→ φ001 , φ000 (18) φ111 ≡ s −→ 1, 0 (19) φ110 ≡ s −→ 0, 1 (20) φ001 ≡ s −→ 1, 0 (21) φ000 ≡ s −→ 0, 1 (22) (23) przyjmuje postać: φ ≡ p −→ φ1 , φ0 (24) φ1 ≡ q −→ φ11 , 0 (25) φ0 ≡ q −→ 0, φ11 (26) φ11 ≡ r −→ φ111 , φ110 (27) φ111 ≡ s −→ 1, 0 (28) φ110 ≡ s −→ 0, 1 (29) (30) c Antoni Ligeza ˛ Wprowadzenie do Wykładu 19 Zredukowany OBDD p q q r s 0 c Antoni Ligeza ˛ s 1 Wprowadzenie do Wykładu 20 Metody redukcji Metoda redukcji: sklejanie q q 0 1 q 0 1 Metoda redukcji: eliminacja nieistotnego wezła ˛ p p c Antoni Ligeza ˛ q q 0 1 q 0 1 Wprowadzenie do Wykładu 21 Literatura 1. Mordechai Ben-Ari: Mathematical Logic for Computer Science (Logika matematyczna w informatyce). Springer-Verlag, London, 2001 (WN-T, Warszawa, 2005). 2. Kenneth A. Ross i Charles R. B. Wright: Discrete Mathematics (Matematyka dyskretna). WN PWN, 2013. 3. Antoni Ligeza: ˛ Logical Foundations for Rule-Based Systems. Springer-Verlag, Berlin, 2006. Wydawnictwo AGH, Kraków, 2005. 4. Michael R. Genesereth, Nils J. Nilsson: Logical Foundations of Artificial Intelligence. Morgan Kaufmann Publishers, Inc., Los Altos, California, 1987. 5. Zbigniew Huzar: Elementy logiki dla informatyków. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 2007. 6. Stuart Russell, Peter Norvig: Artificial Intelligence. A Modern Approach. Pearson, 2010. 7. Marek Wójcik: Zasada rezolucji. Metoda automatycznego wnioskowania. PWN, Warszawa, 1991. 8. C. L. Chang and R. C. T. Lee: Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973. 9. Ronald J. Brachman and Hector J. Levesque: Knowledge Representation and Reasoning. Morgan Kaufmann, 2004. 10. Frank van Harmelen, Vladimir Lifschitz, Bruce Porter (Eds.): Handbook of Knowledge Representation. Elsevier B.V., Amsterdam, 2008. http://ii.fmph.uniba.sk/~sefranek/kri/handbook/ c Antoni Ligeza ˛ Wprowadzenie do Wykładu 22 Zasoby sieciowe. Kurs w Stanford Kurs logiki on-line Stanford: https://www.coursera.org/course/intrologic 1. Wikipedia-pl: http://pl.wikipedia.org/wiki/Logika_ matematyczna 2. Wikipedia-en: http://en.wikipedia.org/wiki/Logic 3. AI-Lab-Prolog: http://ai.ia.agh.edu.pl/wiki/pl:prolog: prolog_lab 4. EIS-KRR: http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka: krr:start 5. ALI-home: home.agh.edu.pl/~ligeza 6. David Poole and Allen Mackworth: Artificial Intelligence. Foundations of Computational Agents. http://artint.info/ 7. Ulf Nilsson and Jan Maluszynski: Logic, Programming and Prolog. http://www.ida.liu.se/~ulfni/lpp/ c Antoni Ligeza ˛