- 1/13 -
Katedra
Podstaw
Konstrukcji
Maszyn
Wydział
Mechaniczny
Technologiczny
Politechnika
Ś
l
ą
ska
ul. Konarskiego 18a
44-100 Gliwice
tel. 237 1467
fax 237 1360
Metody sztucznej
inteligencji
Rok akademicki 200
8
/0
9
Instrukcja do
ć
wicze
ń
laboratoryjnych
Ć
wiczenie 1
Temat
Rachunek zda
ń
i predykatów
Opracował: dr in
ż
. M. Wyle
ż
oł
1. Cel ćwiczenia
Celem ćwiczenia jest zapoznanie się z najważniejszymi zagadnieniami związanymi z dwoma
podstawowymi teoriami logicznymi, jakie zostały zapożyczone z logiki klasycznej na potrzeby
rozwoju metod sztucznej inteligencji. Są to: rachunek zdań oraz jego bezpośrednie rozwinięcie
- rachunek predykatów (kwantyfikatorów).
2. Wprowadzenie teoretyczne
2.1. Rachunek zdań
2.1.1. Wiadomości podstawowe
Metody sztucznej inteligencji opierają się na wielu teoriach logicznych. Jedną z nich jest ra-
chunek zdań
. Teoria ta została sformułowana w języku sztucznym (w odróżnieniu od języków
naturalnych, jak np. polski, angielski, niemiecki itd.). Języki sztuczne charakteryzują się tym,
że:
1. są tworzone przez człowieka w ściśle określonych celach,
2. wyrażenia językowe mają znaczenia ustalone przez wyraźnie przyjętą konwencję (nie są
więc ustalone przez tzw. zwyczaj językowy).
Język rachunku zdań służy do analizy logicznej zdań złożonych oraz do badania rozumowań
(wnioskowań). W szczególności zajmuje się tylko tymi zdaniami, które w gramatyce nazywane
są zdaniami orzekającymi. Nie zajmuje się natomiast zdaniami w formie pytań, rozkazów lub
próśb.
Przykłady zdań orzekających:
Piotr jest studentem
Politechnika jest uczelnią wyższą
Język zdań nie posługuje się zdaniami zapisanymi w języku naturalnym. Natomiast posługu-
je się wyłącznie zmiennymi zdaniowymi (symbolizuje się je literami, np.: p, q, r, ...). Zastępując
dane zdanie zmienną zdaniową - abstrahujemy tym samym od wewnętrznej budowy zdania,
od jego sensu logicznego oraz roli, jaką spełnia w trakcie komunikacji międzyludzkiej. Zmienne
zdaniowe przyjmują konkretne wartości logiczne: prawda lub fałsz (1 lub 0). Oznacza to, że zda-
nia, które są symbolizowane zmiennymi zdaniowymi są uznawane za prawdziwe lub fałszywe.
Poza tym, dane zdanie nie może być jednocześnie prawdziwe i fałszywe.
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 2/13 -
Przykłady zastosowania:
Przykład nr 1
„Wyrażenie p = 1 jest skrótowym zapisem
następującego stwierdzenia: zdanie p jest
prawdziwe”
albo
„Wartością logiczną zdania p jest prawda”
Przykład nr 2
„Wyrażenie q = 0 jest skrótowym zapisem
następującego stwierdzenia: zdanie q jest fał-
szywe”
albo
„Wartością logiczną zdania q jest fałsz”
Oprócz zmiennych zdaniowych, rachunek zdań posługuje się jeszcze spójnikami logicznymi
(zwane również funktorami logicznymi lub funktorami rachunku zdań). Spójniki te służą do
tworzenia nowych zdań złożonych ze zdań prostych lub nowego zdania z pojedynczego zdania
bazowego. Z tego też powodu spójniki logiczne bywają nazywane spójnikami zdaniotwórczymi.
Spójniki mogą być jedno (tylko spójnik negacji) lub wieloargumentowe, w zależności od tego,
ile zdań łączą w jedno zdanie złożone.
Wyróżniamy następujące spójniki logiczne (tab. 1):
Tab. 1: Spójniki logiczne
Nazwa spójnika
Symbol
Odpowiednik w języku polskim
negacja
∼
lub ¬
nie; nieprawda, że...
koniunkcja
∧
i; oraz; a; zaś; lecz; mimo, że...
alternatywa
∨
lub; albo; bądź
implikacja
⇒
jeżeli... to ...
o ile... to...
skoro... to...
równoważność
⇔
... wtedy i tylko wtedy, gdy ...
... zawsze i tylko wtedy, gdy ...
... dokładnie wtedy, gdy ...
Poza zmiennymi zdaniowymi i spójnikami logicznymi, w rachunku zdań posługujemy się
jeszcze nawiasami, które należą do tzw. znaków pomocniczych. Ich znaczenie jest podobne, jak
np. w arytmetyce – wskazują, które części zapisów stanowią odrębne całości. Zmienne zdanio-
we, spójniki logiczne oraz znaki pomocnicze tworzą tzw. słownik rachunku zdań
1
. Wyrażenia
poprawnie zapisane w języku rachunku zdań, nazywamy formułami tego języka.
1
Przez słownik danego języka – w logice rozumie się – zbiór znaków najprostszych tego języka, czyli takich,
które nie podlegają już dalszej analizie logicznej [2]
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 3/13 -
Przykłady zastosowania:
Przykłady poprawnych zapisów:
(p ⇔ q) ∧ r
(p ∧ q) ⇒ (t ∨ r)
∼ p
[(q ∨ r) ⇒ (s ∧ t)]
Przykłady błędnych zapisów:
p
∼ q
p
∨ q ⇔ r
p
⇒ q ∨ r
Formuły rachunku zdań możemy traktować jako schematy logiczne odpowiednio zbudowanych
zdań języka naturalnego lub dowolnej nauki (np. matematyki).
2.1.2. Przegląd znaczeń i zastosowań spójników logicznych
Dokonajmy teraz przeglądu znaczeń i zastosowań poszczególnych spójników logicznych.
Negacja
(∼ lub ¬)
Spójnik negacji służy do zaprzeczania (negowania) zdań.
Przykłady zastosowania (zdania proste):
Zdanie wyjściowe:
Padał deszcz
Zaprzeczenie zdania wyjściowego:
Nie padał deszcz
Przykłady zastosowania (zdania złożone):
Zdanie wyjściowe:
Jeżeli pójdę na egzamin, to
otrzymam zaliczenie
Zaprzeczenie zdania wyjściowego:
Nieprawda, że jeśli pójdę na
egzamin, to otrzymam zali-
czenie
Symbolicznie negację zdania p zapisujemy następująco: ∼ p i charakteryzujemy za pomocą
tabelki:
p
∼ p
0
1
1
0
Koniunkcja
(∧)
Spójnik koniunkcji łączy dwa dowolne zdania w taki sposób, iż zdanie złożone jest praw-
dziwe wtedy i tylko wtedy, gdy obydwa zdania składowe są prawdziwe.
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 4/13 -
Przykłady zastosowania:
Zdam egzamin z logiki oraz zdam egza-
min z matematyki
Uczyłem się, a nie zdałem egzaminu
Pójdę do pracy lecz nie będę prowadził
szkolenia
Symbolicznie koniunkcję zdań p oraz q zapisujemy następująco: p ∧ q i charakteryzujemy
za pomocą tabelki:
p
q
p
∧ q
1
0
0
0
1
0
0
0
0
1
1
1
Alternatywa
(∨)
Spójnik alternatywy łączy dwa dowolne zdania w taki sposób, iż powstałe zdanie złożone
jest prawdziwe zawsze i tylko wtedy, gdy przynajmniej jedno ze zdań składowych jest
prawdziwe.
Przykłady zastosowania:
Pójdę do kina lub zostanę w domu
Albo nauczę się na egzamin z logiki albo
na egzamin z filozofii
Pójdę na studia bądź podejmę pracę za-
wodową
Symbolicznie alternatywę zdań p oraz q zapisujemy następująco: p∨q i charakteryzujemy
za pomocą tabelki:
p
q
p
∨ q
1
0
1
0
1
1
0
0
0
1
1
1
Implikacja
(⇒)
Spójnik implikacji łączy dwa dowolne zdania w taki sposób, że powstałe zdanie złożo-
ne jest fałszywe wtedy, gdy pierwsze z tych zdań, zwane poprzednikiem implikacji, jest
prawdziwe zaś drugie zdanie – zwane następnikiem – jest fałszywe.
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 5/13 -
Przykłady zastosowania:
Jeżeli pójdę do kina, to mile spędzę czas
Jeśli nauczę się na egzamin z logiki, to na
pewno go zdam
Jeżeli liczba jest podzielna przez 4, to jest
parzysta
Symbolicznie implikację zdań p oraz q zapisujemy następująco: p ⇒ q i charakteryzujemy
za pomocą tabelki:
p
q
p
⇒ q
1
0
0
0
1
1
0
0
1
1
1
1
Równoważność
(⇔)
Spójnik równoważności łączy dwa dowolne zdania w taki sposób, że zdanie powstałe jest
prawdziwe wtedy i tylko wtedy, gdy obydwa zdania są prawdziwe lub gdy obydwa są
fałszywe.
Przykłady zastosowania:
Zdam
egzamin
z
matematyki
wtedy i tylko wtedy,
gdy
rozwiążę
sa-
modzielnie wszystkie zadania ze zbioru
zadań
Na czworokącie daje się opisać okrąg
dokładnie wtedy, gdy sumy kątów przeciw-
ległych są równe
Symbolicznie równoważność zdań p oraz q zapisujemy następująco: p ⇔ q i charaktery-
zujemy za pomocą tabelki:
p
q
p
⇔ q
1
0
0
0
1
0
0
0
1
1
1
1
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 6/13 -
2.1.3. Zapis zdań mowy potocznej za pomocą schematów będących formułami ra-
chunku zdań
Jak już wspomniano w punkcie 2.1.1, zdania napisane w języku naturalnym (np. polskim)
można zapisywać za pomocą schematów logicznych, będących zapisem formuł rachunku zdań.
Weźmy dla przykładu następujące zdanie:
Przykład zdania zapisanego
w języku naturalnym:
Nieprawda, że jeśli będziesz chory, to
pójdziesz do szpitala
Aby powyższe zdanie zapisać za pomocą schematu rachunku zdań, należy oznaczyć poszczególne
zdania proste występujące w tym zdaniu zmiennymi zdaniowymi:
Przykład zdań prostych:
p
- „będziesz chory”
q
- „pójdziesz do szpitala”
Pozostawiając pisownię spójników logicznych w języku naturalnym, zdanie powyższe można
zapisać następująco:
Przykład zapisu mieszanego:
w języku naturalnym oraz
z użyciem zmiennych rachun-
ku zdań:
Nieprawda, że jeśli p to q
Natomiast pełny i poprawny zapis w języku rachunku zdań będzie następujący:
Przykład zapisu w języku ra-
chunku zdań:
∼
(p ⇒ q)
Rozpatrywane zdanie w sensie logicznym jest więc negacją implikacji.
2.1.4. Tautologie klasycznego rachunku zdań
Tautologiami
klasycznego rachunku zdań nazywamy takie formuły zapisane w języku tego ra-
chunku, które są schematami wyłącznie prawdziwych zdań. Tautologie nie są więc zdaniami,
ale schematami zdań i to takimi, których wartość logiczna zawsze jest prawdą(1), niezależnie
od wartości (prawda lub fałsz ) zmiennych zdaniowych użytych do budowy tych schematów.
Rozważmy następujący przykład zdania zapisanego w języku naturalnym oraz wynikający
z niego schemat rachunku zdań, który jest tautologią.
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 7/13 -
Przykład zdania:
Jeżeli prawdą jest, że jeżeli X jest studen-
tem, to X studiuje, to prawdą jest, że je-
żeli X nie studiuje to X nie jest studentem
Aby powyższe zdanie złożone zapisać za pomocą schematu rachunku zdań, należy oznaczyć
poszczególne zdania proste występujące w tym zdaniu zmiennymi zdaniowymi:
Zdania proste składowe:
p
- „X jest studentem”
q
- „X studiuje”
Pełny zapis powyższego zdania w języku rachunku zdań będzie więc następujący:
Przykład zapisu w języku
rachunku zdań:
(p ⇒ q) ⇒ (∼ q ⇒∼ p)
Przypiszmy zmiennym zdaniowym następujące wartości: p = 1, q = 1. Analizę powyższego
schematu przedstawmy w postaci grafu (rys. 1).
( p Þ q) Þ (~ q Þ ~ p)
p Þ q
~ q Þ ~ p
1
1
1
0
0
1
1
Þ
Þ
Þ
( p Þ q) Þ (~ q Þ ~ p)
p Þ q
~ q Þ ~ p
1
1
1
0
0
1
1
p Þ q
~ q Þ ~ p
1
1
1
0
0
1
1
Þ
Þ
Þ
Rys. 1: Tautologia - przykład 1
Z powyższej analizy wynika, że wartość całego wyrażenia jest prawdą.
Przypiszmy teraz tym samym zmiennym zdaniowym inne wartości: p = 0, q= 1. Analiza
schematu w postaci grafu doprowadzi do następującego wyniku (rys. 2):
A więc i przy takich wartościach zmiennych zdaniowych wartość całego wyrażenia jest praw-
dą.
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 8/13 -
( p Þ q) Þ (~ q Þ ~ p)
p Þ q
~ q Þ ~ p
0
1
1
0
1
1
1
Þ
Þ
Þ
( p Þ q) Þ (~ q Þ ~ p)
p Þ q
~ q Þ ~ p
0
1
1
0
1
1
1
p Þ q
~ q Þ ~ p
0
1
1
0
1
1
1
Þ
Þ
Þ
Rys. 2: Tautologia - przykład 2
2.2. Rachunek predykatów
2.2.1. Wiadomości podstawowe
Rachunek predykatów
, nazywany też rachunkiem kwantyfikatorów jest bezpośrednim rozszerze-
niem rachunku zdań (p. 2.1.1). Rozszerzenie to polega na uwzględnieniu budowy zdań prostych
oraz na dodatkowym wprowadzeniu kwantyfikatorów ∀ oraz ∃.
Pierwszy z nich (∀) oznacza zwrot „dla każdego ...”. Drugi zaś (∃) oznacza zwrot „istnieje
takie ...
”.
Przez pojęcie predykatu rozumie się nazwę reprezentującą jakąś własność lub relację. Z
punktu widzenia gramatyki, predykat pełni rolę orzeczenia w zdaniu. Natomiast z formalnego
punktu widzenia predykat rozpatruje się jako funkcję, odwzorowującą argumenty predykatu
(zwane termami) w wartości prawda lub fałsz. Zapisuje się go również w sposób podobny do
zapisu funkcji, a więc: PREDYKAT(ARGUMENT) [1].
Przykłady zapisu predykatów:
posiada skrzydła (ptak)
jest samolotem (Mirage 2000)
posiada barwę (pigment)
Argumentami predykatu (termami) mogą być stałe (w postaci nazw obiektów) lub zmienne
(symbole obiektów). Wyrażenia w rachunku predykatów nazywa się formułami. Najmniejsze
takie wyrażenie, czyli predykat z argumentem, nazywa się formułą atomiczną lub atomem.
Poszczególne formuły mogą być poprzedzane spójnikiem negacji oraz mogą być ze sobą łączone
za pomocą pozostałych spójników logicznych (p. 2.1.2), identycznych z tymi, które są stosowane
w rachunku zdań [1].
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 9/13 -
Przykłady
stosowania
spójników
logicznych
do
łączenia
formuł
atomicznych:
posiada skrzydła (ptak) ∧ posiada pióra
(ptak);
jest samolotem (Mirage 2000) ∧ posia-
da silnik odrzutowy (Mirage 2000);
posiada koła (samochód) ∧
(∼posiada skrzydła (samochód));
Formuły rachunku predykatów mogą być poprzedzane znakiem kwantyfiaktora określającym
wybrany argument predykatów, rozpatrywany jako zmienna. Zasięg kwantyfikatora wyznacza-
my za pomocą nawiasów.
Przykłady stosowa-
nia kwantyfikatorów:
1)
∀X
[posiada skrzydła (X) ∧ posiada pióra
(X)];
2)
∀X
[jest ssakiem (X) ∧ (∼ jest ptakiem
(X));
3)
∃ X
[jest ptakiem (X) ∧ (∼ potrafi latać
(X))];
4)
∀X
[jest samochodem (X) ⇒ posia-
da kierownicę (X)];
Powyższe przykłady należy czytać w sposób następujący:
1. dla każdego X, X posiada skrzydła oraz X posiada pióra
2. dla każdego X, X jest ssakiem oraz X nie jest ptakiem
3. istnieje takie X, że X jest ptakiem oraz X nie potrafi latać
4. dla każdego X, jeżeli X jest samochodem, to X posiada kierownicę
2.2.2. Zapis zdań mowy potocznej za pomocą schematów rachunku kwantyfkatorów
Aby przejść od zdania mowy potocznej do jego kwantyfikatorowego schematu, najpierw należy
dokonać rekonstrukcji tego zdania za pomocą form zdaniowych. Przykład:
Przykłady zdania:
Każdy gimnazjalista jest uczniem
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 10/13 -
Zdanie to stwierdza, że zbiór gimnazjalistów zawiera się w zbiorze uczniów. Zdanie to rekon-
struujemy za pomocą nastęujących form zdaniowych:
Przykłady rekonstrukcji
zdania:
Dla każdego x, jeżeli x jest licealistą, to x jest
uczniem
Następnie dokonujemy zapisu poszczególnych zdań za pomocą symboli:
p
(x) — x jest gimnazjalistą,
q
(x) — x jest uczniem. Nastenie zapisujemy to zdanie za pomocą formuły rachunku predykatów:
Schematyczny zapis zdania:
∀x
(p(x) ⇒ q(x))
Powyższy schemat nie obowiązuje wyłącznie dla rozpatryawnego zdania, ale również dla innych
zdań, o podobnym znaczeniu:
Przykłady zdań:
Każdy zuch jest przedszkolakiem
Każdy bóbr jest ssakiem
Wszystkie kwadraty są prostokątami
Opócz schematów zdań stwierdzających, że jeden zbiór zawiera się w drugim, wyróżniamy
również inne rodzaje takich schematów:
schemat zdań stwierdzających, że dwa zbiory mają przynajmniej jeden element wspólny
(∃x(p(x) ∧ q(x))),
schemat zdań stwierdzających, że pewne elementy zbioru A nie są elementami zbioru B
(∃x(p(x)∧ ∼ q(x))),
schemat zdań stwierdzających, że żaden element jednego zbioru nie jest elementem dru-
giego zbioru (∼ ∃x(p(x) ∧ q(x))).
3. Przygotowanie do ćwiczenia
Przygotowanie do ćwiczenia obejmuje szczegółowe zapoznanie się z treścią niniejszej instrukcji.
W czasie ćwiczenia będą przedstawiane podobne zagadnienia dotyczące rachunku zdań i ra-
chunku predykatów, jak te przedstawione w treści instrukcji. Przewiduje się udział studentów
w np. rozwiązywaniu zadań. Wiadomości z omawianej dziedziny zostaną sprawdzone w ramach
kolokwium końcowego.
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 11/13 -
4. Zadania do samodzielnego wykonania
Zadania zamieszczone w tym punkcie zaczerpnięto lub opracowano na podstawie pozycji lite-
ratury: [2, 4].
4.1. Rachunek zdań — zadania
Zapisz w postaci formuł rachunku zdań następujące wyrażenia:
1. Jeśli a = 0 lub b = 1, to a · b =0.
2. Jeśli a > b oraz c = 1 to nieprawda, że a = 0.
Zbuduj schematy następujących zdań, zapisanych w języku naturalnym:
1. Jeżeli nauczysz się matematyki, to kupię ci komputer i zapiszę cię na kurs komputerowy.
2. Jeżeli nie kupię nart albo łyżew, to nie wyjadę na ferie zimowe.
Sprawdź, czy następujące formuły są tautologiami klasycznego rachunku zdań:
1. (p ∧ q) ⇒ p
2. ((p ∨ q)∧ ∼ p) ⇒ q
4.2. Rachunek predykatów — zadania
Ułóż dowolne zdania, które będą odzwierciedleniem następujacych formuł rachun-
ku predykatów:
1. ∀x [p(x) ∨ q(x) ⇒ z(x)],
2. ∃x {[p(x) ∧ q(x)] ∨ [z(x) ∧ r(x)]}.
Zapisz za pomocą formuł rachunku predykatów następujące zdania:
1. Ptak kiwi posiada skrzydła oraz pióra ale nie potrfi latać.
2. Samolot posiada skrzydła i potrafi latać, ale nie jest ptakiem.
Zapisz za pomocą schematów rachunku predykatów następujące zdania:
1. Każdy student jest człowiekiem.
2. Pewien student nie potrafi pływać.
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 12/13 -
Literatura
[1] Cholewa W., Pedrycz W. S ystemy doradcze, Skrypt Pol. Śląskiej nr 1447, Gliwice, 1987.
[2] Omyła M.: Logika - wybrane zagadnienia, Wydawnictwo Szkolne i Pedagogiczne, Warsza-
wa, 1980.
[3] Pasenkiewicz K.: Logika ogólna, Państwowe Wydawnictwo Naukowe, Warszawa, 1979.
[4] Słupecki J., Hałkowska K., Piróg-Rzepecka K.: Logika i teoria mnogości, Państwowe Wy-
dawnictwo Naukowe, Warszawa, 1978.
[5] Ziembiński Z.: Logika praktyczna, Państwowe Wydawnictwo Naukowe, Warszawa, 1975.
A00PP07P00D45-01
M00PP07P00D45
Gliwice 2003-01-28
- 13/13 -