Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika...

33
Wprowadzenie do Wykladu 1 Logika Logika — rachunek zda ´ n Materialy pomocnicze do wykladu dla Studentów Informatyki Wydzial EAIiIB AGH Antoni Lig˛ eza Materialy pomocnicze: http://home.agh.edu.pl/~ligeza c Antoni Lig ˛ eza

Transcript of Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika...

Page 1: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 1

Logika

Logika — rachunek zdanMateriały pomocnicze do wykładu dla Studentów

InformatykiWydział EAIiIB AGH

Antoni Ligeza

Materiały pomocnicze:

http://home.agh.edu.pl/~ligeza

c©Antoni Ligeza

Page 2: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 2

Logiczna konsekwencja — podstawowe problemy logiki

Definicja 1 Logiczna konsekwencja Formuła ψ jest logiczna konsekwencja

formuły φ wtw. gdy dla kazdej interpretacji I zachodzi

jezeli |=I φ to |=I ψ. (1)

Podstawowe problemy logiki:

• dowodzenie twierdzen — badanie logicznej konsekwencji:

∆ |= H,

• badanie spełnialnosci (SAT):

Czy istnieje interpretacja I : |=I Ψ

• weryfikacja tautologii:

Czy dla kazdej interpretacji I : |=I Ψ

Dwa alternatywne podejscia:

• analiza mozliwych interprtacji — metoda zero-jedynkowa; problem —

eksplozja kombinatoryczna1,

• wnioskowanie logiczne — wywód — za pomoca reguł logicznych za-

chowujacych logiczna konsekwencje.

Notacja: jezeli formuła H jest wywodliwa (wyprowadzalna) ze zbioru ∆, to

zapiszemu to jako:

∆ ` H

Problemy konstrukcji systemów logicznych:

∆ ` H versus ∆ |= H

c©Antoni Ligeza1Redukcja: drzewa decyzyjne, grafy OBDD, tablice semantyczne

Page 3: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 3

Metoda zero-jedynkowa: przykład: sprawdzanie tautologii

φ = ((p⇒ r) ∧ (q ⇒ r))⇔ ((p ∨ q)⇒ r).

Mamy (23) mozliwych interpretacji.

p q r p⇒ r q ⇒ r (p⇒ r) ∧ (q ⇒ r) (p ∨ q)⇒ r Φ

0 0 0 1 1 1 1 10 0 1 1 1 1 1 10 1 0 1 0 0 0 10 1 1 1 1 1 1 11 0 0 0 1 0 0 11 0 1 1 1 1 1 11 1 0 0 0 0 0 11 1 1 1 1 1 1 1

Inna mozliwosc — przekształcenia równowazne:

φ ≡ ((¬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, ze analizowana formuła jest postaci:

φ ≡ ψ ⇔ ψ,

c©Antoni Ligeza

Page 4: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

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),

nalezy sprawdzic 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 10 0 0 1 1 1 1 0 1 10 0 1 0 1 0 0 1 0 00 0 1 1 1 1 1 1 1 10 1 0 0 1 1 1 0 1 10 1 0 1 1 1 1 0 1 10 1 1 0 1 0 0 1 1 10 1 1 1 1 1 1 1 1 11 0 0 0 0 1 0 1 0 01 0 0 1 0 1 0 1 1 11 0 1 0 0 0 0 1 0 01 0 1 1 0 1 0 1 1 11 1 0 0 1 1 1 1 1 11 1 0 1 1 1 1 1 1 11 1 1 0 1 0 0 1 1 11 1 1 1 1 1 1 1 1 1

Z analizy kolumn 7 i 10 wynika, ze zachodzi relacja logicznej konsekwencji

(brak logicznej równowaznosci — 7, 10, 12 i 15).c©Antoni Ligeza

Page 5: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 5

Twierdzenia o dedukcji

Twierdzenie 1 Jezeli ∆1,∆2, . . .∆n sa formułami logicznymi (nazywanymi

aksjomatami), formuła Ω (nazywana hipoteza lub konkluzja) jest ich lo-

giczna konsekwencja wtw. gdy formuła ∆1∧∆2∧ . . .∆n ⇒ Ω jest tautologia.

Twierdzenie 2 Jezeli ∆1,∆2, . . .∆n sa formułami logicznymi (nazywanymi

aksjomatami), formuła Ω (nazywana hipoteza lub konkluzja) jest ich lo-

giczna konsekwencja wtw. gdy formuła ∆1∧∆2∧ . . .∆n∧¬Ω jest sprzeczna.

Problem dowodzenia twierdzen ma postac: majac dane aksjomaty

∆1,∆2, . . .∆n uznane za prawdziwe wykazac prawdziwosc hipotezy Ω. Tak

wiec nalezy wykazac, ze:

∆1 ∧∆2 ∧ . . .∆n |= Ω

Metody dododzenia twierdzen:

• sprawdzanie wszystkich mozliwych interpretacji (wada: duza złozo-

nosc obliczeniowa),

• dowód wprost – korzystajac z aksjomatów i reguł dowodzenia generu-

jemy nowe formuły az do uzyskania formuły Ω,

• dowodzenie tautologii – korzystajac z Tw.1 dowodzimy, ze formuła

∆1 ∧∆2 ∧ . . .∆n ⇒ Ω jest tautologia,

• dowód nie wprost – to dowód twierdzenia przeciwstawnego, równo-

waznego danemu. Polega na dowodzeniu twierdzenia postaci

¬Ω⇒ ¬(∆1 ∧∆2 ∧ . . .∆n).

• dowód przez sprowadzenie do sprzecznosci; korzystaja z Tw.2, polega

na wykazaniu sprzecznosci formuły:

∆1 ∧∆2 ∧ . . .∆n ∧ ¬Ω.c©Antoni Ligeza

Page 6: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 6

Metoda rezolucji

1. Problem:

∆ |= H

2. Z twierdzenia o dedukcji (2) — nalezy wykazac, ze

∆ ∪ ¬H

jest niespełnialny.

3. Dokonac transformacji ∆ ∪ ¬H do postaci CNF.

4. Wykorzystujac regułe rezolucji wyprowadzic zdanie puste - zawsze fał-

szywe.

Przykład:

1. Problem:

(p⇒ q) ∧ (r ⇒ s) |= (p ∨ r)⇒ (q ∨ s)

2. Z twierdzenia o dedukcji (2) — nalezy wykazac, ze

[(p⇒ q) ∧ (r ⇒ s)] ∪ ¬[(p ∨ r)⇒ (q ∨ s)]

jest niespełnialny.

3. Dokonac transformacji do postaci CNF. Mamy:

¬p ∨ q,¬r ∨ s, p ∨ r,¬q,¬s

4. Wykorzystujac regułe rezolucji wyprowadzic zdanie puste - zawsze fał-

szywe.

c©Antoni Ligeza

Page 7: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 7

Metoda rezolucji dualnej

1. Problem:

∆ |= H

2. Z twierdzenia o dedukcji (1) — nalezy wykazac, ze

∆⇒ H

jest tautologia.

3. Dokonac transformacji ∆⇒ H do postaci DNF.

4. Wykorzystujac regułe rezolucji dualnej wyprowadzic zdanie puste - za-

wsze zawsze prawdziwe.

Przykład:

1. Problem:

(p⇒ q) ∧ (r ⇒ s) |= (p ∨ r)⇒ (q ∨ s)

2. Z twierdzenia o dedukcji (1) — nalezy wykazac, ze

[(p⇒ q) ∧ (r ⇒ s)]⇒ [(p ∨ r)⇒ (q ∨ s)]

jest tautologia.

3. Dokonac transformacji do postaci DNF. Mamy:

p ∧ ¬q, r ∧ ¬s,¬p ∧ ¬r, q, s

4. Wykorzystujac regułe rezolucji dualnej wyprowadzic zdanie puste - za-

wsze prawdziwe.

c©Antoni Ligeza

Page 8: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 8

Krok wnioskowania, wywód

Krok wnioskowania: jednokrotne zastosowanie dowolnej reguły wniosko-

wania w celu produkcji konkluzji.

Przykład:

Zastosowanie reguły rezolucji:

φ ∨ ¬p, p ∨ ψφ ∨ ψ

Piszemy: φ ∨ ¬p, p ∨ ψ `R φ ∨ ψ

Definicja 2 Wywód Wywodem formuły φ ze zbioru formuł ∆ nazwywamy

ciag formuł

φ1, φ2 . . . φk

taki, ze:

• formuła φ1 jest wyprowadzalna z ∆ (w pojedynczym kroku wnioskowa-

nia):

∆ ` φ1,

• kazda nastepna formuła jest wyprowadzalna ze zbioru ∆ i uprzednio

wygenerowanych formuł (w pojedynczym kroku wnioskowania):

∆, φ1, φ2, . . . , φi ` φi+1

dla i = 2, 3, . . . , k − 1,

• φ jest ostatnia formuła wygenerowanego ciagu, tzn.:

φ = φk

Piszemy: ∆ ` φ, a formułe φ nazywamy wywodliwa z ∆.

c©Antoni Ligeza

Page 9: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 9

Zbiór logicznych konsekwencji

Definicja 3 Niech ∆ bedzie zbiorem formuł (koniunkcja). Zbiorem logicz-

nych konsekwencji nazywamy zbiór

Cn(∆) = φ : ∆ |= φ

gdzie kazda formuła φ jest zbudowana jedynie w oparciu o symbole propo-

zycjonalne ∆.

Lemat 1 Własnosci zbioru konsekwencji Zbiór logicznych konsekwencji

Cn(∆) ma nastepujace własnosci:

• ∆ ⊆ Cn(∆),

• monotonicznosc — jezeli ∆1 ⊆ ∆2, to:

Cn(∆1) ⊆ Cn(∆2)

• Cn(Cn(∆)) = Cn(∆) (punkt stały).

Czy tak okreslony punkt stały jest (i) okreslony jednoznacznie ? (ii) skon-

czony ?

Przykład: Dany jest zbiór formuł

∆ = ¬(¬p ∧ ¬r), r ⇒ q,¬q, p⇒ t,¬(t ∧ ¬s)

Wykazac, ze:

∆ |= s

c©Antoni Ligeza

Page 10: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 10

Metoda tablic semantycznych

Przypomnienie: atom, literał, literał pozytywny, literał negatywny, para lite-

rałów komplementarnych p,¬p.

Formuła p∧¬p jest zawsze fałszywa. Formuła p∨¬p jest zawsze prawdziwa.

Załozenia metody tablic semantycznych:

• badamy spełnialnosc formuły,

• punktem startowym jest formuła w oryginalnej postaci! (nie sprowa-

dzamy do CNF/DNF),

• analizujac strukture formuły systematycznie szukamy modelu — jego

brak oznacza niespełnialnosc,

• 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łaz (fal-

syfikacja),

• brak takiej pary — dostarcza modelu (spełnialnosc),

• zamkniecie kazdej gałezi falsyfikacja oznacza brak modelu (niespeł-

nialnosc formuły wyjsciowej).

Przykład 1:

p ∧ (¬q ∨ ¬p)

Przykład 2:

(p ∨ q) ∧ (¬p ∧ ¬q)

c©Antoni Ligeza

Page 11: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 11

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 q,¬p,¬q

c©Antoni Ligeza

Page 12: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 12

Algorytm tablic semantycznych

Reguły przekształcen dla formuł koniunktywnych (typu α):

α α1 α2

¬¬A A

A1 ∧ A2 A1 A2

¬(A1 ∨ A2) ¬A1 ¬A2

¬(A1 ⇒ A2) A1 ¬A2

A1 ⇔ A2 A1 ⇒ A2 A2 ⇒ A1

Reguły przekształcen 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:

• Korzen: formuła wyjsciowa,

• U (dla liscia) zawiera same literały:

– p,¬p ∈ U — stop/falsyfikacja; else

– stop/zdefiniowano model,

• Dla formuły koniunktywnej α ∈ U :

U ′ = (U − α) ∪ α1, α2

Page 13: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 13

• Dla formuły dysjunktywnej β ∈ U mamy rozgałezienie:

U ′ = (U − β) ∪ β1

U ′′ = (U − β) ∪ β2

Przykład:

1. Problem:

(p⇒ q) ∧ (r ⇒ s) |= (p ∨ r)⇒ (q ∨ s)

2. Z twierdzenia o dedukcji (2) — nalezy wykazac, ze

[(p⇒ q) ∧ (r ⇒ s)] ∪ ¬[(p ∨ r)⇒ (q ∨ s)]

jest niespełnialny.

3. Dokonac transformacji do postaci CNF. Mamy:

¬p ∨ q,¬r ∨ s, p ∨ r,¬q,¬s

4. Wykorzystujac regułe rezolucji wyprowadzic zdanie puste - zawsze fał-

szywe.

Problem: wykazac, ze ponizsza fromuła jest niespełnialna:

[(p⇒ q) ∧ (r ⇒ s)] ∪ ¬[(p ∨ r)⇒ (q ∨ s)]

c©Antoni Ligeza

Page 14: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 14

System Gentzena

Definicja 4 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) do-

wodzenia:U ∪ α1, α2U ∪ α

U1 ∪ β1, U2 ∪ β2U1 ∪ 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

Page 15: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 15

Dowód w stylu Gentzena - przykład

Zadanie:

` (p ∨ q)⇒ (q ∨ p)Przykład - tablice semantyczne:

¬[(p ∨ q)⇒ (q ∨ p)]

p ∨ q,¬(p ∨ q)

p ∨ q,¬p,¬q

p,¬p, ¬q q,¬p,¬q

Przykład - Gentzen:

p,¬p, q q, p,¬q

¬(p ∨ q), p, q

¬(p ∨ q), (p ∨ q)

(p ∨ q)⇒ (q ∨ p)c©Antoni Ligeza

Page 16: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 16

Dowody konstruktywne: Wazniejsze 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

Page 17: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 17

Rozwiazywanie problemów — Badanie spełnialnosci — SAT

Definicja 5 Spełnialnosc Formuła Ψ jest spełnialna, wtw. gdy istnieje inte-

pretacja I, przy której Ψ jest prawdziwa:

|=I Ψ

Podstawowe problemy spełnialnosci:

• SAT — czy formuła jest spełnialna?

• liczba interpretacji spełniajacych — ile interpretacji spełnia formułe?

• znalezc jedna/pierwsza interpretacje spełniajaca — zadanie konstruk-

tywne.

• znalezc alternatywne/wszystkie interpretacje spełniajace — zadanie

szukania.

• alternatywnie — udowodnic niespełnialnosc;

• w przypadku niespełnialnosci: maksymalne spełnialne podzbiory.

Dwa alternatywne podejscia:

• analiza mozliwych interprtacji — metoda zero-jedynkowa; problem —

eksplozja kombinatoryczna2,

• wnioskowanie logiczne — wywód — za pomoc reguł logicznych zacho-

wujacych logiczna konsekwencje.

c©Antoni Ligeza

2Redukcja: drzewa decyzyjne, grafy OBDD, tablice semantyczne; SAT tools

Page 18: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 18

Ewaluacja formuły — metoda zero-jedynkowa

Badamy spełnialnosc formuły:

h ≡ (p⇔ q) ∧ (r ⇔ s)

RuleNo p q r s h

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)

c©Antoni Ligeza

Page 19: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 19

Drzewo binarne — uniwersalne narzedzie analizy formuł

0 1

1 0 10

0 1

1 0 10

0 1

1 0 10

0 1

1 0 10

0 1 0 1

0 1

p

q q

r r r r

s s s s s s s s

h1 0 0 1 0 0 0 0 11 0 00000

c©Antoni Ligeza

Page 20: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 20

Drzewo zredukowane

0 1

1 0 10

0 1

1 0 10

0 1

0 1

p

q q

r r

s s s s

h1 0 0 1 11 0 00 0

c©Antoni Ligeza

Page 21: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 21

SAT: Backtracking Search and Reduction

Example:

p ∨ q, p ∨ ¬q,¬p ∨ q,¬p ∨ ¬q ∨ ¬r,¬p ∨ r

The analysis can be performed with decision tree and backracking search

(DFS).

Example after reduction for p = 1:

q,¬q ∨ ¬r, r

Example after reduction for p = 0:

q,¬q

Unit Propagation Rule: If q is a single literal in S, then one can remove q

from S and apply reduction to all elements of S by replacing all occurences

of q with 1 (for positive occurrence) and by 0 (for negative occurrence).

c©Antoni Ligeza

Page 22: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 22

Ordered Binary Decision Diagrams (OBDD)

Notacja:

p −→ h0, h1

oznacza:

if p then h0 else h1.

Definicja 6 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

Page 23: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 23

Redukcja po wykryciu powtarzajacych sie 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 postac:

φ ≡ 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

Page 24: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 24

Zredukowany OBDD

p

q q

r

s s

0 1

Co umozliwia analiza OBDD???

c©Antoni Ligeza

Page 25: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 25

Metody redukcji

Metoda redukcji: sklejanie

q q

0 1

q

0 1

Metoda redukcji: eliminacja nieistotnego wezła

p

0 1

q q

p

0 1

q

c©Antoni Ligeza

Page 26: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 26

SAT by Example: Unicorn

Given the following Knowledge Base (KB):

• If the unicorn is mythical, then it is immortal

• If the unicorn is not mythical, then it is a mortal mammal

• If the unicorn is either immortal or a mammal, then it is horned

• The unicorn is magical if it is horned

answer the following questions:

• Is the unicorn mythical? (M )

• Is it magical? (G)

• Is it horned? (H)

In terms of logic:

KB |= G,H,M

KB ` G,H,Mc©Antoni Ligeza

Page 27: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 27

Unicorn - Logical Model

Definition of propositional variables:

• M: The unicorn is mythical

• I: The unicorn is immortal

• L: The unicorn is mammal

• H: The unicorn is horned

• G: The unicorn is magical

Building a Logical Model for the uzzle:

• If the unicorn is mythical, then it is immortal:

M −→ I

• If the unicorn is not mythical, then it is a mortal mammal:

¬M −→ (¬I ∧ L)

• If the unicorn is either immortal or a mammal, then it is horned:

(I ∨ L) −→ H

• The unicorn is magical if it is horned:

H −→ G

Resulting Boolean formula (the Knowledge Base):

(M −→ I) ∧ (¬M −→ (¬I ∧ L)) ∧ ((I ∨ L) −→ H) ∧ (H −→ G)

c©Antoni Ligeza

Page 28: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 28

A Solution

(M −→ I) ≡ (¬M ∨ I)

(¬M −→ (¬I ∧ L)) ≡ (M ∨ (¬I ∧ L))

(M ∨ (¬I ∧ L)) ≡ ((M ∨ ¬I) ∧ (M ∨ L))

¬M ∨ I,M ∨ LI ∨ L

I ∨ L, (I ∨ L) −→ H

H

H,H −→ G

G

So we have:

KB ` H ∧GQuestions:

• What about M (mythical), I (immortal) and L (mammal)?

• What combinations are admissible?

• How many models do we have?

c©Antoni Ligeza

Page 29: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 29

SAT: Transformation to CNF and Encoding

Introducing enumeration:

1. M: The unicorn is mythical

2. I: The unicorn is immortal

3. L: The unicorn is mammal

4. H: The unicorn is horned

5. G: The unicorn is magical

Building a Logical Model for the uzzle:

• If the unicorn is mythical, then it is immortal:

M −→ I

• If the unicorn is not mythical, then it is a mortal mammal:

¬M −→ (¬I ∧ L)

• If the unicorn is either immortal or a mammal, then it is horned:

(I ∨ L) −→ H

• The unicorn is magical if it is horned:

H −→ G

c©Antoni Ligeza

Page 30: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 30

CNF and Encoded File

Resulting CNF:

¬M ∨ I,M ∨ ¬I,M ∨ L,¬I ∨H,¬L ∨H,¬H ∨G

-1 2

1 -2

1 3

-2 4

-3 4

-4 5

Input file in the DIMACS format:

p cnf 5 6

-1 2 0

1 -2 0

1 3 0

-2 4 0

-3 4 0

-4 5 0

Using Minisat

Page: http://minisat.se/

Online: http://www.msoos.org/2013/09/minisat-in-your-browser/

Manual: http://www.dwheeler.com/essays/minisat-user-guide.html

How to get ALL solutions?

c©Antoni Ligeza

Page 31: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 31

Extra problem

Assumptions:

A1. There are 3 houses in a row

A2. The houses are numbered 1, 2 and 3, from left to right

A3. Each house has one of the colors Blue, Green or White

A4. Each house is inhabited by one person with one of the nationalities:

Dutch, German and Italian

A5. Each person drinks (exactly one) of the following beverages: Coffee,

Tea and Water

Conditions (constraints):

C1 The third house is green

C2 There is one house between the house of the person drinking coffee

and the blue house

C3 The person drinking water lives in the blue house

C4 The Italian lives to the left of the coffee drinking person

C5 The German lives in house two

Query:

Who lives in the 1st house? What does the Dutch drink?

c©Antoni Ligeza

Page 32: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 32

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 (Mate-

matyka 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 Wydawni-

cza Politechniki Wrocławskiej, Wrocław, 2007.

6. Stuart Russell, Peter Norvig: Artificial Intelligence. A Modern Appro-

ach. Pearson, 2010.

7. Marek Wójcik: Zasada rezolucji. Metoda automatycznego wnioskowa-

nia. 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 Representa-

tion and Reasoning. Morgan Kaufmann, 2004.

10. Frank van Harmelen, Vladimir Lifschitz, Bruce Porter (Eds.): Hand-

book of Knowledge Representation. Elsevier B.V., Amsterdam, 2008.

http://ii.fmph.uniba.sk/~sefranek/kri/handbook/

c©Antoni Ligeza

Page 33: Logika — rachunek zdan´dydaktyka:logic:logika-4_2016.pdf · Wprowadzenie do Wykładu 1 Logika Logika — rachunek zdan´ Materiały pomocnicze do wykładu dla Studentów Informatyki

Wprowadzenie do Wykładu 33

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/

8. Inês Lynce: Boolean SATisfiability. Materiały z kursu ACAI, Lille, Octo-

ber 2015.

c©Antoni Ligeza