Algebra Boole'a 1

background image

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

background image

2

(14)

 

 

;

Z

X

Y

X

Z

Y

X

(15)

 

 

;

Z

X

Y

X

Z

Y

X

(16)

;

Y

X

Y

X

(prawo de’Morgana)

(17)

;

Y

X

Y

X

(prawo de’Morgana).

Powyższe własności można udowodnić m.in. metodą zero-jedynkową polegającą na sprawdzeniu

wszystkich 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)+Z

0

0

0

0

0

0

0

0

0

1

1

1

0

1

0

1

0

1

1

1

1

0

1

1

1

1

1

1

1

0

0

0

1

1

1

1

0

1

1

1

1

1

1

1

0

1

1

1

1

1

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

,

2

n

to przyjmujemy:

.

...

...

;

...

...

1

1

1

1

1

1

n

n

n

n

n

n

A

A

A

A

A

A

A

A

A

A

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 na

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

;

X

Z

X

X

(19)

;

X

Z

X

X

(20)

;

Y

X

Y

X

X

(21)

.

Z

Y

X

Z

Y

Z

Y

Y

X

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)

.

1

1

1

X

X

Z

X

Z

X

X

Z

X

X

Ad (19)

 

 

.

)

18

(

X

Z

X

X

Z

X

X

X

Z

X

X

Ad (20)

Y

X

X

X

Y

X

X

X

Y

X

X

X

Y

X

Y

X

1

.

0

)

18

(

Y

X

X

Y

X

Y

X

X

Ad (21)

.

1

Z

Y

X

Z

Y

X

Y

Y

Z

Y

X

Z

Y

Z

Y

Y

X

Z

Y

Z

Y

Y

X

W zagadnieniach dotyczących zastosowań algebry Boole’a kluczowe znaczenie ma

przekształcanie wyrażeń do najprostszej postaci i to odpowiedniego kształtu. Okazuje się, że każde

takie wyrażenie zawsze daje się sprowadzić do jednej z dwóch tzw. postaci kanonocznych: sumy

iloczynów bądź iloczynu sum pojedynczych argumentów bądź ich dopełnień.

background image

3

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

a)

)

(

)

(

)

(

)

(

)

)(

)(

(

Z

X

Y

X

Y

X

X

Z

X

Y

Y

X

Y

Y

X

X

X

Z

X

Y

X

Y

X

W

)

(

)

(

Y

Y

Z

X

Z

X

Z

Y

X

Z

Y

X

Z

X

Z

Y

X

X

Y

X

Z

Y

X

X

Y

X

Z

X

X

X

.

Z

X

Z

X

Z

X

Inne, prostsze rozwiązanie:

.

)

(

)

(

)

(

)

(

)

)(

(

Z

X

Z

X

X

X

Z

X

X

Z

X

Y

Y

X

Z

X

Y

X

Y

X

W

b)

 

)

1

1

(

)

(

)

(

)

(

)

(

)

(

Y

Z

X

Z

Z

Y

Y

Y

Z

X

Z

Y

Z

Y

Z

Y

Z

Y

X

Z

Y

Z

Y

Z

Y

X

V

)

(

Z

Y

X

lub

.

Z

X

Y

X

V

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 bramki

mniej.

Następnym ważnym problem z uwagi na zastosowania w informatyce jest projektowanie

wyrażeń algebry Boole’a, które spełniają wymagane warunki wejścia/wyjścia. Wyjaśnimy to przy

pomocy serii przykładów.

Przykład. Znajdziemy wyrażenie zależne na wejściu od zmiennych X, Y oraz wyprowadzające na

wyjściu wyrażenie Z tak, aby zachodziły zależności:

Input

Output

X

Y

Z

0

0

1

0

1

0

1

0

1

1

1

1

Aby otrzymać rozwiązanie w postaci sumy iloczynów dodajemy dodatkową kolumnę zawierającą

utworzone w odpowiedni sposób iloczyny:

Input

Output

X

Y

Z

Iloczyny

0

0

1

Y

X

0

1

0

Y

X

1

0

1

Y

X

1

1

1

Y

X

Szukanym rozwiązaniem jest suma wyrażeń z ostatniej kolumny wybranych z tych wierszy, dla

których

:

1

Z

Z

AG

X

Y

AG

OR

OR

Y

Z

AG

X

background image

4

.

Y

X

Y

X

Y

X

Z

Uprośćmy je:

.

)

(

)

(

)

(

)

(

Y

X

X

Y

Y

Y

X

X

X

Y

Y

X

Y

X

Y

X

Y

X

Z

Aby otrzymać rozwiązanie w postaci iloczynu sum dodajemy dodatkową kolumnę zawierającą

utworzone w odpowiedni sposób sumy:

Input

Output

X

Y

Z

Sumy

0

0

1

Y

X

0

1

0

Y

X

1

0

1

Y

X

1

1

1

Y

X

Szukanym rozwiązaniem jest iloczyn wyrażeń z ostatniej kolumny wybranych z tych wierszy, dla

których

:

0

Z

.

Y

X

Z

Widać, że otrzymaliśmy dokładnie takie samo rozwiązanie. Jego realizacja przy pomocy bramek

wygląda następująco:

Przykład. Znajdziemy wyrażenie zależne na wejściu od zmiennych X, Y, Z oraz wyprowadzające na

wyjściu wyrażenie A tak, aby zachodziły zależności:

Input

Output

X

Y

Z

A

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

0

Znajdziemy oba rozwiązania w postaciach kanonicznych:

X

OR

Y

A

I

X

OR

Y

A

lub

background image

5

Input

Output

X

Y

Z

A

Iloczyny

Sumy

0

0

0

1

Z

Y

X

*

Z

Y

X

0

0

1

0

Z

Y

X

Z

Y

X

*

0

1

0

1

Z

Y

X

*

Z

Y

X

0

1

1

0

Z

Y

X

Z

Y

X

*

1

0

0

1

Z

Y

X

*

Z

Y

X

1

0

1

0

Z

Y

X

Z

Y

X

*

1

1

0

1

Z

Y

X

*

Z

Y

X

1

1

1

0

Z

Y

X

Z

Y

X

*

Rozwiązanie w postaci sumy iloczynów:

.

)

(

)

(

)

(

)

(

)

(

Z

X

X

Z

Z

X

Z

X

Y

Y

Z

X

Y

Y

Z

X

Z

Y

X

Z

Y

X

Z

Y

X

Z

Y

X

A

Rozwiązanie w postaci iloczynu sum:



 



)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

Y

Y

Z

X

Y

Y

Z

X

Z

Y

X

Z

Y

X

Z

Y

X

Z

Y

X

A

.

)

(

)

(

)

(

Z

X

X

Z

Z

X

Z

X

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

inwertera:

Przykład.

Znajdziemy wyrażenie zależne na wejściu od zmiennych X, Y, Z oraz wyprowadzające na wyjściu

wyrażenie A tak, aby zachodziły zależności:

Input

Output

X

Y

Z

A

0

0

0

0

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

0

1

1

0

1

1

1

1

0

Znajdziemy oba rozwiązania w postaciach kanonicznych:

Z

Z

A

I

background image

6

Input

Output

X

Y

Z

A

Iloczyny

Sumy

0

0

0

0

Z

Y

X

Z

Y

X

*

0

0

1

0

Z

Y

X

Z

Y

X

*

0

1

0

1

Z

Y

X

*

Z

Y

X

0

1

1

1

Z

Y

X

*

Z

Y

X

1

0

0

0

Z

Y

X

Z

Y

X

*

1

0

1

0

Z

Y

X

Z

Y

X

*

1

1

0

1

Z

Y

X

*

Z

Y

X

1

1

1

0

Z

Y

X

Z

Y

X

*

Rozwiązanie w postaci sumy iloczynów:

.

)

(

)

(

)

(

)

(

Z

Y

Y

X

X

X

Z

Y

Z

Z

Y

X

Z

Y

X

Z

Y

X

Z

Y

X

Z

Y

X

A

Rozwiązanie w postaci iloczynu sum:





)

(

)

(

)

(

)

(

)

(

)

(

Z

Y

X

Z

Y

X

Z

Y

X

Z

Y

X

Z

Y

X

Z

Y

X

A





 

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

Z

X

X

X

Y

Z

X

Y

X

Y

X

Y

Y

Z

X

Z

Z

Y

X

Z

Z

Y

X

.)

(

Z

X

Y

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

pomocy 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 wersji

dla dwóch zmiennych wejściowych (może być ich więcej):

A

B

B

A

B

A

Z

)

(

0

0

1

0

1

0

1

0

0

1

1

0

A

B

B

A

B

A

Z

)

(

0

0

1

0

1

1

1

0

1

1

1

0

X

AG

Z

AG

OR

Y

OR

X

Z

AG

Y

A

B

B

A

B

A

Z

B

A

Z

NOR

NAND

background image

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ą to

poniższe schematy:

Tylko bramki NOR

Tylko bramki NAND

W praktyce nie ma potrzeby stosowania powyższych schematów. Jak już wcześniej

zauważyliśmy, wszystkie wyrażenia algebry Boole’a dają się sprowadzić do jednej z dwóch postaci

kanonicznych: sumy iloczynów bądź iloczynu sum. W pierwszym z tych przypadków zamiast

stosować układ bramek typu And-to-Or można użyć układu Nand-to-Nand zastępując w pierwszym

układzie wszystkie bramki bramkami Nand. W przypadku układu typu OR-to-And ten sam efekt

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

NOR

NOR

B

A

A

B

B

A

B

A

 

 

B

A

B

A

A

NOR

A

B

NOR

B

NOR

A

NOR

A

A

A

A

A

A

A

NAND

B

A

A

B

B

A

B

A

NAND

NAND

 

 

B

A

B

A

A

A

B

B

NAND

NAND

NAND

background image

8

Przykłady

a)

b)

OR

B

A

AG

D C

AG

E

B

A

E

D

C

B

A

E

D

C

NAND

B

A

NAND

D C

E

 

 

B

A

B

A

E

D

C

B

A

E

D

C

B

A

 

E

D

C

E

D

C

NAND

B

A

AG

OR

B

A

D

C

F E

AG

G

D

C

G

F

E

D

C

B

A

AG

NAND

NAND

B

A

D

C

F E

G

B

A

D

C

NAND

G

F

E

 

 

G

F

E

D

C

B

A

G

F

E

D

C

B

A

NAND

background image

9

c)

d)

OR

B

A

AG

D

C

F E

G

B

A

D

C

)

(

)

(

)

(

G

F

E

D

C

B

A

OR

OR

G

F

E

B

A

D

C

F E

G

B

A

D

C

G

F

E

 

 

 

 

G

F

E

D

C

B

A

G

F

E

D

C

B

A

NOR

NOR

NOR

NOR

NOR

B

A

D C

E

 

 

B

A

B

A

 

E

D

C

B

A

E

D

C

B

A

 

E

D

C

E

D

C

NOR

NOR

A

B

A

OR

B

AG

D CE

 

E

D

C

B

A

OR

E

D

C

background image

10

Układy zintegrowane

background image

11

background image

12


Wyszukiwarka

Podobne podstrony:
Algebra Boole'a
Algebra Boole'a 2
ALGEBRA BOOLE
Algebra Boole
Prawa logiczne w algebrze Boole'a
Podstawy algebry Boole
Algebra Boole, Informatyka
F1-18 Algebra Boole'a 2
F1-17 Algebra Boole'a 1
Prawa logiczne w algebrze Boole'a
F1 17 Algebra Boole'a 1
Zerówki, ściąga elektronika, Algebra Boole'a - zbiór B, wyróżniony jego podzbiór O i I oraz operacje
ALGEBRA BOOLE’A; SYNTEZA UKŁADÓW KOMBINACYJNYCH
Algebra Boole'a
Algebra Boole'a 2
Prawa logiczne w algebrze Boole a
Algebra Boole a

więcej podobnych podstron