W tej części kursu dowiesz się, czym są tabele prawdziwościowe i jak liczyć wartości formuł tabelą.
Wyobraźmy sobie, że programujemy grę, w której bohater w pewnym momencie ma dostać nagrodę (załóżmy, 10 złotych monet). Chcemy jednak, by otrzymanie nagrody było zależne od tego, czy bohater pokona smoka bądź przepłynie rów z krokodylami. Możemy tę zależność wyrazić na kilka sposobów; na przykład, wybrać sobie którykolwiek z poniższych pięciu. Program automatycznie naliczy 10 złotych monet, gdy:
(1) bohater pokonuje smoka ORAZ przepływa rów z krokodylami ("smok" AND "krokodyle", ważne są oba naraz);
(2) bohater pokonuje smoka ALBO przepływa rów z krokodylami (wystarczy zrobić cokolwiek; jeśli uda się pokonać i smoka, i rów z krokodylami, to świetnie, nagroda też zostanie naliczona; "smok" OR "krokodyle");
[załóżmy, że z jakiegoś powodu jest ważne, by bohater nie trafił do smoka. Program naliczy 10 monet, gdy]
(3) bohater NIE pokonuje smoka (NOT "smok");
(4) bohater NIE pokonuje smoka ALBO (jeśli go jednak pokona) musi przepłynąć rów z krokodylami ("krokodyle" IF "smok"; "jeśli smok, to i krokodyle, chyba że nie smok");
(5) bohater NIE pokonuje smoka oraz NIE przepływa rowu z krokodylami; jeśli jednak go pokona, to koniecznie musi przepłynąć rów z krokodylami ("smok" IFF "krokodyle").
W zależności od tego, jak chcielibyśmy poprowadzić grę (na który ze sposobów 1-5), napisalibyśmy:
p=[Bohater pokonał smoka]; q=[Bohater przepłynął rów z krokodylami]
[+10 monet =] p∧q
[+10 monet =] p∨q
[+10 monet =] ¬p
[+10 monet =] p→q
[+10 monet =] p↔q
W taki sposób poprzez użycie odpowiedniego spójnika w zapisie formalnym wyraziliśmy potrzebną zależność od tego, czy zachodzi p bądź czy zachodzi q.
Zmiennymi zdaniowymi zastępujemy zdania proste; każde zdanie proste może być prawdziwe bądź fałszywe. "Prawdę" i "Fałsz" nazywamy wartościami logicznymi. Jeśli jakieś zdanie p jest prawdziwe, to mówimy, że wartością logiczną p jest prawda (na oznaczenie prawdy używamy symbolu "1"), a jeśli p jest fałszywe, to mówimy, że wartością logiczną p jest fałsz (na oznaczenie fałszu używamy symbolu "0").
Wartości logiczne formuł ze spójnikami logicznymi są zależne od wartości logicznych zdań, które owe spójniki łączą.
Wartością negacji formuły jest "0", jeśli wartość formuły jest "1";
w przypadku, gdy wartość formuły jest "1", to jej negacja ma wartość "0".
Wartości formuł z pozostałymi spójnikami zależą od wartości składowych formuł w następujący sposób:
Wartość logiczna złożonej formuły ze spójnikami zależy tylko i wyłącznie od tego, jakie wartości mają jej formuły składowe oraz od definicji spójników (przedstawionej w tabelce powyżej). Dlatego zawsze da się obliczyć wartość logiczną dowolnej formuły w prosty mechaniczny sposób, wypisując wartości logiczne jej składowych w tabelkach prawdziwościowych. Jak to zrobić?
Zauważmy najpierw, że w przypadku pojedynczej zmiennej wartości może być 2, czyli "1" albo "0". Ale w przypadku, kiedy w formule jest więcej pojedynczych zmiennych, jej wartość zależy od kombinacji wartości pojedynczych zmiennych. Takich kombinacji może być kilka i każdej takiej kombinacji odpowiada wiersz w tabelce prawdziwościowej. Gdyby w powyższej tabelce zamiast α i β były pojedyncze zmienne p i q, to ilość wierszy dla koniunkcji, alternatywy, implikacji i równoważności byłoby 4. Daje to prostą zależność ilości możliwych wierszy tabelki prawdziwościowej formuły od ilości poszczególnych zmiennych zdaniowych, które w tej formule występują:
ilość wierszy tabelki dla formuły = ilość możliwych kombinacji wartości zmiennych zdaniowych w formule
Jeśli w formule jest jedna zmienna zdaniowa, to ilość wierszy jest 2 (ponieważ pojedyncza zmienna może mieć wartość "1" albo "0"). Jeśli w formule są dwie zmienne zdaniowe, to ilość wierszy jest 4 (zawsze jest to liczba wszystkich możliwych kombinacji wartości zmiennych zdaniowych). Ile wierszy ma tabelka prawdziwościowa dla formuły, w której występuje 3 zmienne zdaniowe? Ile wierszy ma tabelka dla formuły, w której występuje n zmiennych zdaniowych?
Jeśli w formule są 3 zmienne zdaniowe, to tabelka dla tej formuły ma 8 wierszy. Jeśli w formule jest n zmiennych zdaniowych, to tabelka dla tej formuły ma 2n wierszy.
ustalamy ilość różnych zmiennych w formule. Ilość wierszy tabelki = 2n, gdzie n to ilość zmiennych w formule;
dla każdej ze zmiennej robimy kolumnę w tabelce;
w kolumnach dla zmiennych wypisujemy wszystkie możliwe kombinacje wartości (prosta niezawodna metoda: w skrajniej lewej kolumnie dzielimy ilość wierszy n na pół i w górnej połowie wierszy wpisujemy 1, a w dolnej połowie 0; w następnej kolumnie dla pojedynczej zmiennej dzielimy ilość wierszy n na 4 i w tych częściach wpisujemy na przemian jedynki / zera / jedynki / zera; w następnej kolumnie dla pojedynczej zmiennej dzielimy ilość wierszy n na 8 i w tych częściach wpisujemy na przemian jedynki i zera itd.);
dla każdej części formuły robimy odrębną kolumnę;
jeżeli części formuły są połączone spójnikiem, robimy odrębną kolumnę dla spójnika;
na końcu tabelki robimy kolumnę dla głównego spójnika formuły;
obliczamy wartości dla każdej części formuły, korzystając z tabelki dla spójników;
na końcu liczymy wartości dla głównego spójnika.
Przykład
Załóżmy, że chcemy policzyć wartości logiczne formuły ¬p∨q. W tym celu:
ustalamy, ile zmiennych zdaniowych występuje w formule. Jest ich 2, p i q. Oznacza to, że tabelka prawdziwościowa dla formuły ¬p∨q będzie miała 4 wiersze (ogólny wzór: 2n, gdzie n to ilość zmiennych w formule)
robimy tabelkę na 4 wiersze i wypisujemy kolumny dla poszczególnych części formuły:
p | q |¬p | ∨
wartości złożonych formuł liczymy zgodnie z tabelką wartości spójników;
w ostatniej kolumnie dla głównego spójnika znajdują się wartości logiczne wyjściowej formuły.
Częstym błędem jest złe liczenie negacji koniunkcji (jako koniunkcji dwóch negacji). Zobacz sobie filmik, jak należy liczyć taką formułę.
📌 Zauważ: w matematyce jest podobnie
-(2x2), czyli minus 4, to nie to samo, co (-2x-2), czyli plus 4.
Interaktywny kurs logiki autorstwa Harry'ego Genslera. Jest to kurs za darmo ale po angielsku. LINK Do tej części kursu - zestaw ćwiczeń D "truth tables" (i w ramach D zestawy T, U, F, A).
Uwaga: w Logicoli formuły są ujmowane w zewnętrzne nawiasy, a na oznaczenie spójników są używane następujące symbole:
na spójnik koniunkcji: ·
na spójnik alternatywy ∨
na spójnik negacji: ~
na spójnik implikacji: ⊃
na spójnik równoważności: ≡