Algebra Boole’a i jej zastosowania - Urząd Miasta...

12
1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech dany będzie zbiór dwuelementowy , którego elementy oznaczymy symbolami 0 oraz 1, tj. . } 1 , 0 { W zbiorze tym określamy działania sumy , : iloczynu : oraz dopełnienia . : _ A mianowicie, przyjmujemy: A B B A 0 0 0 0 1 1 1 0 1 1 1 1 A B B A 0 0 0 0 1 0 1 0 0 1 1 1 A A 0 1 1 0 Zbiór wraz z powyższymi działaniami nazywa się algebrą Boole’a . Jedną z możliwych jej realizacji są układy elektroniczne zwane bramkami . Analogicznie do w/w działań wprowadzamy bramki OR (Or Gate), AG (And Gate), I (Inverter) oznaczane na schematach następującymi symbolami: i zdefiniowane takimi samymi tabelami, jak powyżej. Twierdzenie . Dla dowolnych elementów X, Y, Z algebry zachodzą następujące równości: (1) ; 0 X X (2) ; 1 1 X (3) ; X X X (4) ; 1 X X (5) ; 0 0 X (6) ; 1 X X (7) ; X X X (8) ; 0 X X (9) ; ) ( X X (10) ; X Y Y X (11) ; Z Y X Z Y X (12) ; X Y Y X (13) ; Z Y X Z Y X A B A A B A Z B A Z A Z OR AG I

Transcript of Algebra Boole’a i jej zastosowania - Urząd Miasta...

Page 1: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

1

Algebra Boole’a i jej zastosowania

WprowadzenieNiech dany będzie zbiór dwuelementowy , którego elementy oznaczymy symbolami 0 oraz

1, tj. .}1,0{ W zbiorze tym określamy działania sumy ,: iloczynu :

oraz dopełnienia .:_

A mianowicie, przyjmujemy:

A B BA0 0 00 1 11 0 11 1 1

A B BA 0 0 00 1 01 0 01 1 1

A A0 11 0

Zbiór wraz z powyższymi działaniami nazywa się algebrą Boole’a. Jedną z możliwych jejrealizacji są układy elektroniczne zwane bramkami. Analogicznie do w/w działań wprowadzamybramki OR (Or Gate), AG (And Gate), I (Inverter) oznaczane na schematach następującymisymbolami:

i zdefiniowane takimi samymi tabelami, jak powyżej.

Twierdzenie.Dla dowolnych elementów X, Y, Z algebry zachodzą następujące równości:

(1) ;0 XX (2) ;11 X(3) ;XXX

(4) ;1 XX(5) ;00 X(6) ;1 XX (7) ;XXX

(8) ;0 XX

(9) ;)( XX (10) ;XYYX (11) ;ZYXZYX (12) ;XYYX (13) ;ZYXZYX

ABA ABAZ BAZ AZ OR AG I

Page 2: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

2

(14) ;ZXYXZYX (15) ;ZXYXZYX

(16) ;YXYX (prawo de’Morgana)(17) ;YXYX (prawo de’Morgana).

Powyższe własności można udowodnić m.in. metodą zero-jedynkową polegającą na sprawdzeniuwszystkich możliwych przypadków, których jest skończona ilość. Oto przykładowy dowód własności(11):

X Y Z Y+Z X+(Y+Z) X+Y (X+Y)+Z0 0 0 0 0 0 00 0 1 1 1 0 10 1 0 1 1 1 10 1 1 1 1 1 11 0 0 0 1 1 11 0 1 1 1 1 11 1 0 1 1 1 11 1 1 1 1 1 1

Dzięki równościom (11) i (13) uogólniamy indukcyjnie dodawanie i mnożenie na dowolną skończonąliczbę argumentów. A mianowicie, jeżeli ,2n to przyjmujemy:

.......

;......

111

111

nnn

nnn

AAAAAAAAAA

W analogiczny sposób uogólniamy bramki OR i AND. Ponadto przyjmujemy taką samą umowędotyczącą kolejności działań i opuszczania znaku mnożenia, jak w tradycyjnej algebrze, co pozwala nazredukowanie zbędnych nawiasów i uproszczenie zapisów.

Twierdzenie.Dla dowolnych elementów X, Y, Z algebry zachodzą następujące równości:

(18) ;XZXX (19) ;XZXX

(20) ;YXYXX

(21) .ZYXZYZYYX Dowody. Zastosujemy bardziej efektywną metodę polegającą na wykorzystaniu własności jużudowodnionych, do których zaliczymy własności (1) - (17).Ad (18)

.111 XXZXZXXZXX Ad (19)

.)18(XZXXZXXXZXX

Ad (20) YXXXYXXXYXXXYXYX 1

.0)18(

YXXYXYXX Ad (21)

.1 ZYXZYXYYZYXZYZYYXZYZYYX

W zagadnieniach dotyczących zastosowań algebry Boole’a kluczowe znaczenie maprzekształcanie wyrażeń do najprostszej postaci i to odpowiedniego kształtu. Okazuje się, że każdetakie wyrażenie zawsze daje się sprowadzić do jednej z dwóch tzw. postaci kanonocznych: sumyiloczynów bądź iloczynu sum pojedynczych argumentów bądź ich dopełnień.

Page 3: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

3

Przykłady. Uprościmy dwa wyrażenia algebry Boole’a.a)

)()()()())()(( ZXYXYXXZXYYXYYXXXZXYXYXW )()( YYZXZXZYXZYXZXZYXXYXZYXXYXZXXX

.ZXZXZX Inne, prostsze rozwiązanie:

.)()()()())(( ZXZXXXZXXZXYYXZXYXYXW

b) )11()()()()()( YZXZZYYYZXZYZYZYZYXZYZYZYXV

)( ZYX lub

.ZXYXV Pierwszy z wyników przedstawia wyrażenie V w postaci kanonicznej iloczynu sum (trzeba założyć,że X jest sumą jednoskładnikową), a drugi z tych wyników – w postaci kanonicznej sumy iloczynów.Przy okazji warto postawić pytanie, która wersja rozwiązania jest prostsza? Aby na nie odpowiedzieć,przedstawmy ich realizację przy pomocy bramek:

Teraz jest jasne, że pierwsze z rozwiązań jest prostsze, gdyż jego realizacja wymaga jednej bramkimniej.

Następnym ważnym problem z uwagi na zastosowania w informatyce jest projektowaniewyrażeń algebry Boole’a, które spełniają wymagane warunki wejścia/wyjścia. Wyjaśnimy to przypomocy serii przykładów.

Przykład. Znajdziemy wyrażenie zależne na wejściu od zmiennych X, Y oraz wyprowadzające nawyjściu wyrażenie Z tak, aby zachodziły zależności:

Input OutputX Y Z0 0 10 1 01 0 11 1 1

Aby otrzymać rozwiązanie w postaci sumy iloczynów dodajemy dodatkową kolumnę zawierającąutworzone w odpowiedni sposób iloczyny:

Input OutputX Y Z Iloczyny

0 0 1 YX 0 1 0 YX 1 0 1 YX 1 1 1 YX

Szukanym rozwiązaniem jest suma wyrażeń z ostatniej kolumny wybranych z tych wierszy, dlaktórych :1Z

Z AGX

Y AGORORY

ZAG

X

Page 4: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

4

.YXYXYXZ Uprośćmy je:

.)()()()( YXXYYYXXXYYXYXYXYXZ

Aby otrzymać rozwiązanie w postaci iloczynu sum dodajemy dodatkową kolumnę zawierającąutworzone w odpowiedni sposób sumy:

Input OutputX Y Z Sumy

0 0 1 YX 0 1 0 YX 1 0 1 YX 1 1 1 YX

Szukanym rozwiązaniem jest iloczyn wyrażeń z ostatniej kolumny wybranych z tych wierszy, dlaktórych :0Z

.YXZ Widać, że otrzymaliśmy dokładnie takie samo rozwiązanie. Jego realizacja przy pomocy bramekwygląda następująco:

Przykład. Znajdziemy wyrażenie zależne na wejściu od zmiennych X, Y, Z oraz wyprowadzające nawyjściu wyrażenie A tak, aby zachodziły zależności:

Input OutputX Y Z A0 0 0 10 0 1 00 1 0 10 1 1 01 0 0 11 0 1 01 1 0 11 1 1 0

Znajdziemy oba rozwiązania w postaciach kanonicznych:

XORY

AI

XORY

Alub

Page 5: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

5

Input OutputX Y Z A Iloczyny Sumy

0 0 0 1 ZYX * ZYX

0 0 1 0 ZYX ZYX *0 1 0 1 ZYX * ZYX 0 1 1 0 ZYX ZYX *1 0 0 1 ZYX * ZYX 1 0 1 0 ZYX ZYX *1 1 0 1 ZYX * ZYX 1 1 1 0 ZYX ZYX *

Rozwiązanie w postaci sumy iloczynów:.)()()()()( ZXXZZXZXYYZXYYZXZYXZYXZYXZYXA

Rozwiązanie w postaci iloczynu sum: )()()()()()()()( YYZXYYZXZYXZYXZYXZYXA

.)()()( ZXXZZXZX

Również teraz otrzymaliśmy dokładnie takie samo rozwiązanie. Jego realizacja wymaga tylko jednegoinwertera:

Przykład.Znajdziemy wyrażenie zależne na wejściu od zmiennych X, Y, Z oraz wyprowadzające na wyjściuwyrażenie A tak, aby zachodziły zależności:

Input OutputX Y Z A0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 01 1 0 11 1 1 0

Znajdziemy oba rozwiązania w postaciach kanonicznych:

Z ZA I

Page 6: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

6

Input OutputX Y Z A Iloczyny Sumy

0 0 0 0 ZYX ZYX *0 0 1 0 ZYX ZYX *0 1 0 1 ZYX * ZYX 0 1 1 1 ZYX * ZYX 1 0 0 0 ZYX ZYX *1 0 1 0 ZYX ZYX *1 1 0 1 ZYX * ZYX 1 1 1 0 ZYX ZYX *

Rozwiązanie w postaci sumy iloczynów:.)()()()( ZYYXXXZYZZYXZYXZYXZYXZYXA

Rozwiązanie w postaci iloczynu sum: )()()()()()( ZYXZYXZYXZYXZYXZYXA

)()()()()()()()( ZXXXYZXYXYXYYZXZZYXZZYX.)( ZXY

Otrzymaliśmy dwa różne rozwiązania, z których drugie jest prostsze. Widać to z ich realizacji przypomocy bramek:

Oprócz wcześniej zdefiniowanych bramek duże znaczenie praktyczne mają dwie dodatkowe:bramka NOR (Not Or Gate) i bramka Nand (Not And Gate). Oto ich oznaczenia i definicje w wersjidla dwóch zmiennych wejściowych (może być ich więcej):

A B BABAZ )(0 0 10 1 01 0 01 1 0

A B BABAZ )(0 0 10 1 11 0 11 1 0

X AG

Z AGOR

Y

ORXZ

AGY

AB B

ABAZ BAZ NOR NAND

Page 7: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

7

Istotna zaleta powyższych dwóch bramek polega na tym, że każde wyrażenie algebry Boole’a daje sięzrealizować tylko przy pomocy bramek NOR albo tylko przy pomocy bramek NAND. Uzasadniają toponiższe schematy:

Tylko bramki NOR

Tylko bramki NAND

W praktyce nie ma potrzeby stosowania powyższych schematów. Jak już wcześniejzauważyliśmy, wszystkie wyrażenia algebry Boole’a dają się sprowadzić do jednej z dwóch postacikanonicznych: sumy iloczynów bądź iloczynu sum. W pierwszym z tych przypadków zamiaststosować układ bramek typu And-to-Or można użyć układu Nand-to-Nand zastępując w pierwszymukładzie wszystkie bramki bramkami Nand. W przypadku układu typu OR-to-And ten sam efektuzyskuje się poprzez zastąpienie wszystkich bramek bramkami typu Nor. Daje to układ typu Nor-to-Nor. W obu przypadkach otrzymuje się układy logicznie równoważne, ale fizycznie różne.Zagadnienie ilustrują poniższe przykłady.

NORNORBA A

B BABA

BABA A NOR

A

B NORB

NOR

A NOR AAA

A AAA NAND

BA AB BABA NAND NAND

BABA A A

B B NANDNAND

NAND

Page 8: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

8

Przykładya)

b)

OR

BA AG

D C AGE

BA

EDCBA

EDC

NANDBA

NANDD CE

BABA

EDCBAEDCBA

EDCEDC

NAND

BA

AG OR

BA

DC

F E AGG

DC GFEDCBA

AG

NAND

NANDBA

DC

F EG

BA

DC

NANDGFE

GFEDCBAGFEDCBA NAND

Page 9: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

9

c)

d)

ORBA

AGDC

F EG

BA

DC )()()( GFEDCBA OR

ORGFE

BA

DC

F EG

BA

DC

GFE

GFEDCBAGFEDCBA

NOR

NOR

NOR

NOR

NOR

BA

D CE

BABA

EDCBAEDCBA

EDCEDC NOR

NOR

A BA ORB

AG

D CE

EDCBA

OREDC

Page 10: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

10

Układy zintegrowane

Page 11: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

11

Page 12: Algebra Boole’a i jej zastosowania - Urząd Miasta Łodzimath.uni.lodz.pl/~marta/2015_2016_l/1_Algebra Boole'a_1.pdf · 1 Algebra Boole’a i jej zastosowania Wprowadzenie Niech

12