Algebra logiki
W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe ∨, ·, +,
| oraz dziaªanie jednoargumentowe ( )0. Dziaªanie x + y nazywa- my dodawaniem modulo 2, a dziaªanie x | y nazywamy kresk¡
Sheera.
x x0 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
Przykªady: 00 = 1, 1 · 0 = 0, 0 ∨ 1 = 1, 1 | 1 = 0,
((0·1) | (1∨0))0+(10∨0)0 = (0 | 1)0+(0∨0)0 = 10+00 = 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« ∨, ·, 0 ze spójnikami logicz- nymi ∨, ∧, ∼. 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 )0.
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 Shef-
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
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·103+0·102+1·101+2·100.
Podobnie tworzymy zapis dwójkowy, np.:
(11010)2 = 1 · 24 + 1· 23 + 0· 22 + 1· 21 + 0· 20 = 24 + 23 + 21 =
= 16 + 8 + 2 = 26.
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 = 28 + 26 + 24 + 23 + 20 =
= 1· 28+ 0· 27+ 1· 26+ 0· 25+ 1· 24+ 1· 23+ 0· 22+ 0· 21+ 1· 20 =
= (101011001)2.
Jest te» inny sposób, polegaj¡cy na wyznaczeniu cyfr zapisu dwójkowego od ko«ca.
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.
Funkcje algebry logiki
Algebra logiki zajmuje si¦ funkcjami, których argumenty i war- to±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.
Funkcje jednej zmiennej.
x B01(x) B11(x) B21(x) B31(x)
0 0 0 1 1
1 0 1 0 1
Widzimy, »e dla ka»dego x ∈ {0, 1} zachodz¡ równo±ci:
B01(x) = 0, B11(x) = x, B21(x) = x0, B31(x) = 1.
Funkcje dwu zmiennych.
x y B02(x, y) B12(x, y) B22(x, y) B32(x, y) B42(x, y) B52(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 . . . B102 (x, y) . . . B142 (x, y) B152 (x, y)
0 0 1 1 1
0 1 0 1 1
1 0 1 1 1
Mo»emy zauwa»y¢, »e dowolnych x, y ∈ {0, 1}:
B02(x, y) = 0, B152 (x, y) = 1, B32(x, y) = x, B52(x, y) = y,
B12(x, y) = x·y, B62(x, y) = x+y, B72(x, y) = x∨y, B142 (x, y) = x | y.
Numeracja powy»szych funkcji jest zwi¡zana z zapisami dwójko- wymi. Kolumny warto±ci funkcji B02, B12, B22, . . . , B152 , 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 B102 to 1010, gdy»
10 = 8 + 2 = 23 + 21 = 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 = (1010)2.
Z kolei funkcja, której kolumn¡ warto±ci jest 1101, to B132 , gdy»
3 2 1 0
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ójko- wym pewnej liczby n ∈ {0, 1, 2, . . . , 255}. Wówczas t¦ funkcj¦
oznaczamy symbolem Bn3(x, y, z).
x y z B03(x, y, z) B13(x, y, z) . . . B1003 (x, y, z) . . . B1703 (x, y, z) . . . B2553 (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
| {z }
8
)2 = (100000000
| {z }
8
)2 − 1 = 28 − 1 = 255.
Przykªady.
• Kolumna warto±ci funkcji B1003 (x, y, z) to 01100100, ponie- wa»
100 = 64+32+4 = 26+25+22 = (1100100)2 = (01100100)2.
• Funkcj¡ o kolumnie warto±ci 10101010 jest B1703 , poniewa»
(10101010)2 = 27 + 25 + 23 + 21 = 128 + 32 + 8 + 2 = 170.
Zadanie. Narysuj tabelk¦ warto±ci funkcji B3 .
Formy normalne alternatywno koniunkcyjne
Cztery funkcje zero-jedynkowe dwóch zmiennych przyjmuj¡ war- to±¢ 1 dla dokªadnie jednego ukªadu argumentów. S¡ to koniunk- cje, których pierwszym czynnikiem jest x lub x0, a drugim czyn- nikiem jest y lub y0 (je±li rozwa»amy funkcje zmiennych x i y).
Takie funkcje nazywamy iloczynami minimalnymi.
x y x0 · y0 x0 · y x · y0 x · y
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
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 przed- stawi¢ w postaci alternatywy odpowiednio dwóch, trzech lub czterech iloczynów minimalnych, na przykªad:
x ∨ y = (x0 · y) ∨ (x · y0) ∨ (x · y), x + y = (x0 · y) ∨ (x · y0),
x | y = (x0 · y0) ∨ (x0 · y) ∨ (x · y0).
Przedstawienie funkcji w postaci alternatywy iloczynów minimal-
Dla funkcji trzech zmiennych x, y, z mamy osiem iloczynów mi- nimalnych:
x · y · z, x · y · z0, x · y0 · z, x · y0 · z0, x0 · y · z, x0 · y · z0, x0 · y0 · z, x0 · y0 · z0.
Je±li chcemy znale¹¢ form¦ normaln¡ alternatywno koniunkcyj- n¡ funkcji B1003 (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 odpo- wiadaj¡cych tym ukªadom:
B3 (x, y, z) = (x0 · y0 · z) ∨ (x0 · y · z0) ∨ (x · y0 · z).
x y z B1003 (x, y, z) x0 · y0 · z x0 · y · z0 x · y0 · 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
Zadanie. Znajd¹ numer funkcji o nast¦puj¡cej formie normalnej:
a) (x · y · z) ∨ (x0 · y0 · z0) ∨ (x0 · y0 · z) ∨ (x · y0 · z0), b) (x0 · y · z) ∨ (x · y0 · z) ∨ (x · y · z0) ∨ (x0 · y0 · z0).
Zadanie. Podaj form¦ normaln¡ alternatywno koniunkcyjn¡
funkcji x ∨ y ∨ z.
Zadanie. Znajd¹ form¦ normaln¡ alternatywno koniunkcyjn¡
funkcji B1253 (x, y, z).
Formy normalne koniunkcyjno alternatywne
W±ród funkcji zero-jedynkowych dwóch zmiennych x i y s¡ czte- ry, które przyjmuj¡ warto±¢ 0 dla dokªadnie jednego ukªadu ar- gumentów. Ka»da z nich jest alternatyw¡, której jednym skªad- nikiem jest x lub x0, a drugim y lub y0.
x y x ∨ y x ∨ y0 x0 ∨ y x0 ∨ y0
0 0 0 1 1 1
0 1 1 0 1 1
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 ∨ y0) · (x0 ∨ y), x + y = (x ∨ y) · (x0 ∨ y0),
x | y = (x0 ∨ y0).
Podobnie jest w przypadku wi¦kszej liczby zmiennych. Na przy- kªad
B1003 (x, y, z) = (x∨y∨z)·(x∨y0∨z0)·(x0∨y∨z)·(x0∨y0∨z)·(x0∨y0∨z0), co wida¢ z poni»szej tabelki.
x y z B1003 (x, y, z) x ∨ y ∨ z x ∨ y0 ∨ z0 x0 ∨ y ∨ z x0 ∨ y0 ∨ z x0 ∨ y0 ∨ z0
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
Pytanie. Czy (znaj¡c form¦ alternatywno koniunkcyjn¡) mo»na byªo przewidzie¢, »e forma normalna koniunkcyjno alternatywna funkcji B1003 b¦dzie liczyªa 5 czynników?