25

Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

Algebra logiki

1

Page 2: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 3: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 4: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 5: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 6: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 7: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 8: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 9: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 10: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 11: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 12: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 13: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 14: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 15: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 16: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 17: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 18: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 19: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 20: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 21: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 22: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 23: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 24: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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

Page 25: Algebra logiki - Uniwersytet Mikołaja Kopernika w Toruniupjedrzej/eltm/slal.pdf · 2013. 10. 25. · Funkcje algebry logiki Algebra logiki zajmuje si¦ funkcjami, których argumenty

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