Algebra logiki 1
W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0 1 1 0 x y x y x y x + y x y 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 2
Przykªady: 0 = 1, 1 0 = 0, 0 1 = 1, 1 1 = 0, ((0 1) (1 0)) +(1 0) = (0 1) +(0 0) = 1 +0 = 0+1 = 1. Pytanie. Ile wynosi x, je±li: a) x y = 0 dla pewnego y {0, 1}, b) x y = 1 dla dowolnego y {0, 1}? Uwaga. Zwi zek symboli dziaªa«,, ze spójnikami logicznymi,,. Dla dowolnych zda«zªo»onych P i Q zachodz nast puj ce równo±ci: v(p Q) = v(p ) v(q), v(p Q) = v(p ) v(q), v( P ) = v(p ). 3
Zadanie. Wyra¹: a) koniunkcj za pomoc alternatywy i negacji, b) alternatyw za pomoc koniunkcji i negacji, c) kresk Sheera za pomoc alternatywy i negacji, d) kresk Sheera za pomoc koniunkcji i negacji, e) negacj, alternatyw oraz koniunkcj za pomoc kreski Sheffera. 4
Dwójkowy system liczenia przypomnienie zapisy dziesi tne 0 1 2 3 4 5 6 7 8 9 zapisy dwójkowe 0 1 10 11 100 101 110 111 1000 1001 zapisy dziesi tne 10 11 12 13 14 15 16 zapisy dwójkowe 1010 1011 1100 1101 1110 1111 10000 5
W zapisie dziesi tnym liczby 2012 cyfr tysi cy jest 2, cyfr setek jest 0, cyfr dziesi tek jest 1, a cyfr jedno±ci jest 2. Mo»emy to przedstawi nast puj co: (2012) 10 = 2 1000+0 100+1 10+2 1 = 2 10 3 +0 10 2 +1 10 1 +2 10 0. Podobnie tworzymy zapis dwójkowy, np.: (11010) 2 = 1 2 4 + 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 = 2 4 + 2 3 + 2 1 = = 16 + 8 + 2 = 26. 6
Je±li chcemy znale¹ zapis dwójkowy danej liczby, to wystarczy j przedstawi w postaci sumy ró»nych pot g dwójki, np.: 345 = 256 + 89 = 256 + 64 + 25 = 256 + 64 + 16 + 9 = = 256 + 64 + 16 + 8 + 1 = 2 8 + 2 6 + 2 4 + 2 3 + 2 0 = = 1 2 8 +0 2 7 +1 2 6 +0 2 5 +1 2 4 +1 2 3 +0 2 2 +0 2 1 +1 2 0 = = (101011001) 2. Jest te» inny sposób, polegaj cy na wyznaczeniu cyfr zapisu dwójkowego od ko«ca. 7
Zadania. 1) Jaka liczba ma zapis dwójkowy postaci (11111001001) 2? 2) Przedstaw liczb 543 w zapisie dwójkowym. 3) Dodaj pisemnie w zapisie dwójkowym liczby 110101 i 10111. 8
Funkcje algebry logiki Algebra logiki zajmuje si funkcjami, których argumenty i warto±ci nale» do zbioru {0, 1}. S 4 funkcje jednej zmiennej, 16 funkcji dwóch zmiennych, 256 funkcji trzech zmiennych i tak dalej. Funkcje te najpro±ciej przestawi za pomoc tabelek. 9
Funkcje jednej zmiennej. x B0 1(x) B1 1 (x) B1 2 (x) B1 3 (x) 0 0 0 1 1 1 0 1 0 1 Widzimy,»e dla ka»dego x {0, 1} zachodz równo±ci: B0 1 (x) = 0, B1 1 (x) = x, B1 2 (x) = x, B3 1 (x) = 1. 10
Funkcje dwu zmiennych. x y B0 2(x, y) B2 1 (x, y) B2 2 (x, y) B2 3 (x, y) B2 4 (x, y) B2 5 (x, y)... 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 x y... B10 2 (x, y)... B2 14 (x, y) B2 15 (x, y) 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 11
Mo»emy zauwa»y,»e dowolnych x, y {0, 1}: B0 2 (x, y) = 0, B2 15 (x, y) = 1, B2 3 (x, y) = x, B2 5 (x, y) = y, B1 2 (x, y) = x y, B2 6 (x, y) = x+y, B2 7 (x, y) = x y, B2 14 (x, y) = x y. 12
Numeracja powy»szych funkcji jest zwi zana z zapisami dwójkowymi. Kolumny warto±ci funkcji B0 2, B2 1, B2 2,..., B2 15, to (gdy je zapiszemy poziomo) odpowiednio 0000, 0001, 0010,..., 1111, czyli zapisy dwójkowe liczb 0, 1, 2,..., 15. Dopuszczamy zapisy liczb zaczynaj ce si od zer, wi c ka»da liczba od 0 do 15 ma czterocyfrowy zapis dwójkowy. Na przykªad kolumna warto±ci funkcji B 2 10 to 1010, gdy» 10 = 8 + 2 = 2 3 + 2 1 = 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 = (1010) 2. Z kolei funkcja, której kolumn warto±ci jest 1101, to B 2 13, gdy» (1101) 2 = 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 8 + 4 + 1 = 13. 13
Funkcje trzech zmiennych. Mamy 8 mo»liwych ukªadów argumentów (x, y, z), wi c ka»d funkcj zero-jedynkowa zmiennych x, y, z mo»emy okre±li przez jej o±miocyfrow kolumn warto±ci, która jest zapisem dwójkowym pewnej liczby n {0, 1, 2,..., 255}. Wówczas t funkcj oznaczamy symbolem B 3 n(x, y, z). 14
x y z B0 3(x, y, z) B3 1 (x, y, z)... B3 100 (x, y, z)... B3 170 (x, y, z)... B3 255 (x, y, z) 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 Numerem funkcji w ostatniej kolumnie jest 255, gdy» (11111111) 2 = (100000000) 2 1 = 2 8 1 = 255. } {{ } 8 } {{ } 8 15
Przykªady. Kolumna warto±ci funkcji B100 3 (x, y, z) to 01100100, poniewa» 100 = 64+32+4 = 2 6 +2 5 +2 2 = (1100100) 2 = (01100100) 2. Funkcj o kolumnie warto±ci 10101010 jest B 3 170, poniewa» (10101010) 2 = 2 7 + 2 5 + 2 3 + 2 1 = 128 + 32 + 8 + 2 = 170. Zadanie. Narysuj tabelk warto±ci funkcji B200 3 (x, y, z). Pytanie. Ile jest funkcji zero-jedynkowych k zmiennych? 16
Formy normalne alternatywno koniunkcyjne Cztery funkcje zero-jedynkowe dwóch zmiennych przyjmuj warto± 1 dla dokªadnie jednego ukªadu argumentów. S to koniunkcje, których pierwszym czynnikiem jest x lub x, a drugim czynnikiem jest y lub y (je±li rozwa»amy funkcje zmiennych x i y). Takie funkcje nazywamy iloczynami minimalnymi. x y x y x y x y x y 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 17
Je±li funkcja dwóch zmiennych nie jest ani funkcj zerow, ani iloczynem minimalnym, to przyjmuje warto± 1 dla dwóch, trzech lub czterech ukªadów argumentów. Tak funkcj mo»emy przedstawi w postaci alternatywy odpowiednio dwóch, trzech lub czterech iloczynów minimalnych, na przykªad: x y = (x y) (x y ) (x y), x + y = (x y) (x y ), x y = (x y ) (x y) (x y ). Przedstawienie funkcji w postaci alternatywy iloczynów minimalnych nazywamy form normaln alternatywno koniunkcyjn. 18
Dla funkcji trzech zmiennych x, y, z mamy osiem iloczynów minimalnych: x y z, x y z, x y z, x y z, x y z, x y z, x y z, x y z. Je±li chcemy znale¹ form normaln alternatywno koniunkcyjn funkcji B100 3 (x, y, z), to powinni±my najpierw okre±li ukªady argumentów, w których funkcja przyjmuje warto± 1: (x, y, z) = (0, 0, 1), (0, 1, 0), (1, 0, 1), a nast pnie utworzy alternatyw iloczynów minimalnych odpowiadaj cych tym ukªadom: B 3 100 (x, y, z) = (x y z) (x y z ) (x y z). 19
x y z B100 3 (x, y, z) x y z x y z x y z 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 20
Zadanie. Znajd¹ numer funkcji o nast puj cej formie normalnej: a) (x y z) (x y z ) (x y z) (x y z ), b) (x y z) (x y z) (x y z ) (x y z ). Zadanie. Podaj form normaln alternatywno koniunkcyjn funkcji x y z. Zadanie. Znajd¹ form normaln alternatywno koniunkcyjn funkcji B125 3 (x, y, z). 21
Formy normalne koniunkcyjno alternatywne W±ród funkcji zero-jedynkowych dwóch zmiennych x i y s cztery, które przyjmuj warto± 0 dla dokªadnie jednego ukªadu argumentów. Ka»da z nich jest alternatyw, której jednym skªadnikiem jest x lub x, a drugim y lub y. x y x y x y x y x y 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 22
Ka»da funkcja ró»na od (funkcji staªej równej) 1 posiada form normaln koniunkcyjno alternatywn, na przykªad: x y = (x y) (x y ) (x y), x + y = (x y) (x y ), x y = (x y ). 23
Podobnie jest w przypadku wi kszej liczby zmiennych. Na przykªad B 3 100 (x, y, z) = (x y z) (x y z ) (x y z) (x y z) (x y z ), co wida z poni»szej tabelki. x y z B100 3 (x, y, z) x y z x y z x y z x y z x y z 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 24
Pytanie. Czy (znaj c form alternatywno koniunkcyjn ) mo»na byªo przewidzie,»e forma normalna koniunkcyjno alternatywna funkcji B100 3 b dzie liczyªa 5 czynników? 25