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
˛