• Nie Znaleziono Wyników

Algebra logiki

N/A
N/A
Protected

Academic year: 2021

Share "Algebra logiki"

Copied!
25
0
0

Pełen tekst

(1)

Algebra logiki

(2)

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

(3)

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.

(4)

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-

(5)

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

(6)

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.

(7)

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.

(8)

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.

(9)

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.

(10)

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.

(11)

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

(12)

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.

(13)

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

(14)

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).

(15)

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.

(16)

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 .

(17)

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

(18)

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-

(19)

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).

(20)

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

(21)

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).

(22)

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

(23)

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).

(24)

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

(25)

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?

Cytaty

Powiązane dokumenty

[r]

Poda´ c wz´ or na oblicze- nie takiej ca

Test na rzadką chorobę, którą dotknięta jest średnio jedna osoba na 1000, daje tak zwaną fałszywą pozytywną odpowiedź u 5% zdrowych (u chorego daje zawsze odpowiedź

Zadania do omówienia na ćwiczeniach w piątek 15.01.2021 i poniedziałek 18.01.2021.. Zadania należy spróbować rozwiązać

[r]

Wskazówka: Rozbić całkę na 2n części punktami postaci πk

[r]

Jaki jest promieniu zbieżności tego szeregu?.