Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Algebra logiki
1
W zbiorze {0,1} okre±lamy dziaªania dwuargumentowe ∨, ·, +,
| oraz dziaªanie jednoargumentowe ( )′. Dziaªanie x+ y nazywa-
my dodawaniem modulo 2, a dziaªanie x | y nazywamy kresk¡
She�era.
x x′
0 11 0
x y x ∨ y x · y x+ y x | y0 0 0 0 0 10 1 1 0 1 11 0 1 0 1 11 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 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 )′.
3
Zadanie. Wyra¹:
a) koniunkcj¦ za pomoc¡ alternatywy i negacji,
b) alternatyw¦ za pomoc¡ koniunkcji i negacji,
c) kresk¦ She�era za pomoc¡ alternatywy i negacji,
d) kresk¦ She�era za pomoc¡ koniunkcji i negacji,
e) negacj¦, alternatyw¦ oraz koniunkcj¦ za pomoc¡ kreski Shef-
fera.
4
Dwójkowy system liczenia � przypomnienie
zapisy dziesi¦tne 0 1 2 3 4 5 6 7 8 9zapisy dwójkowe 0 1 10 11 100 101 110 111 1000 1001
zapisy dziesi¦tne 10 11 12 13 14 15 16zapisy 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·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.
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 = 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.
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 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.
9
Funkcje jednej zmiennej.
x B10(x) B1
1(x) B12(x) B1
3(x)
0 0 0 1 11 0 1 0 1
Widzimy, »e dla ka»dego x ∈ {0,1} zachodz¡ równo±ci:
B10(x) = 0, B1
1(x) = x, B12(x) = x′, B1
3(x) = 1.
10
Funkcje dwu zmiennych.
x y B20(x, y) B2
1(x, y) B22(x, y) B2
3(x, y) B24(x, y) B2
5(x, y) . . .
0 0 0 0 0 0 0 00 1 0 0 0 0 1 11 0 0 0 1 1 0 01 1 0 1 0 1 0 1
x y . . . B210(x, y) . . . B2
14(x, y) B215(x, y)
0 0 1 1 10 1 0 1 11 0 1 1 11 1 0 0 1
11
Mo»emy zauwa»y¢, »e dowolnych x, y ∈ {0,1}:
B20(x, y) = 0, B2
15(x, y) = 1, B23(x, y) = x, B2
5(x, y) = y,
B21(x, y) = x·y, B2
6(x, y) = x+y, B27(x, y) = x∨y, B2
14(x, y) = x | y.
12
Numeracja powy»szych funkcji jest zwi¡zana z zapisami dwójko-
wymi. Kolumny warto±ci funkcji B20, B
21, B
22, . . . , B
215, 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 B210 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 B213, gdy»
(1101)2 = 1 · 23 +1 · 22 +0 · 21 +1 · 20 = 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ójko-
wym pewnej liczby n ∈ {0,1,2, . . . ,255}. Wówczas t¦ funkcj¦
oznaczamy symbolem B3n(x, y, z).
14
x y z B30(x, y, z) B3
1(x, y, z) . . . B3100(x, y, z) . . . B3
170(x, y, z) . . . B3255(x, y, z)
0 0 0 0 0 0 1 10 0 1 0 0 1 0 10 1 0 0 0 1 1 10 1 1 0 0 0 0 11 0 0 0 0 0 1 11 0 1 0 0 1 0 11 1 0 0 0 0 1 11 1 1 0 0 0 0 1
Numerem funkcji w ostatniej kolumnie jest 255, gdy»
(11111111︸ ︷︷ ︸8
)2 = (100000000︸ ︷︷ ︸8
)2 − 1 = 28 − 1 = 255.
15
Przykªady.
• Kolumna warto±ci funkcji B3100(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 B3170, poniewa»
(10101010)2 = 27 +25 +23 +21 = 128+32+8+2 = 170.
Zadanie. Narysuj tabelk¦ warto±ci funkcji B3200(x, y, z).
Pytanie. Ile jest funkcji zero-jedynkowych k zmiennych?
16
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 x′, a drugim czyn-
nikiem 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 · y0 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 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 przed-
stawi¢ 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 minimal-
nych nazywamy form¡ normaln¡ alternatywno � koniunkcyjn¡.
18
Dla funkcji trzech zmiennych x, y, z mamy osiem iloczynów mi-
nimalnych:
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 � koniunkcyj-
n¡ funkcji B3100(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:
B3100(x, y, z) = (x′ · y′ · z) ∨ (x′ · y · z′) ∨ (x · y′ · z).
19
x y z B3100(x, y, z) x′ · y′ · z x′ · y · z′ x · y′ · z
0 0 0 0 0 0 00 0 1 1 1 0 00 1 0 1 0 1 00 1 1 0 0 0 01 0 0 0 0 0 01 0 1 1 0 0 11 1 0 0 0 0 01 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 B3125(x, y, z).
21
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 x′, a drugim y lub y′.
x y x ∨ y x ∨ y′ x′ ∨ y x′ ∨ y′
0 0 0 1 1 10 1 1 0 1 11 0 1 1 0 11 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 przy-
kªad
B3100(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 B3100(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 10 0 1 1 1 1 1 1 10 1 0 1 1 1 1 1 10 1 1 0 1 0 1 1 11 0 0 0 1 1 0 1 11 0 1 1 1 1 1 1 11 1 0 0 1 1 1 0 11 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 B3100 b¦dzie liczyªa 5 czynników?
25