12.07.2015 Views

Algebra Boole'a

Algebra Boole'a

Algebra Boole'a

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Wstęp do Techniki Cyfrowej...<strong>Algebra</strong> Boole’a


Po co AB?Świetne narzędzie do analitycznego opisu układów logicznych.1854r. – George Boole opisuje swój system dedukcyjny.Ukoronowanie zapoczątkowanych w starożytności prac nadusystematyzowaniem reguł wnioskowania.Różne formy definicji:1904 E. V. Huntington1938 C. E. Shannon – algebra binarnej sieci przełączającej.


Definiowanie systemu algebraicznegozbiór elementów rozważanychzbiór operacji na elementachzbiór relacji między elementamiaksjomaty charakteryzujące operacje i relacje


Definicja<strong>Algebra</strong> Boole’a – zbiór elementów (zwyczajowo oznaczony B),w którym• istnieją co najmniej dwa różne elementy,• istnieją dwa elementy wyróżnione (zakładamy, że są oneróżne)• są określone dwa operatory dwuargumentowe, oznaczonenajczęściej symbolami sumy i iloczynu (jak w zwykłej algebrze)oraz jeden operator jednoargumentowy zwany dopełnieniem~a; elementy (a + b), (a • b), ~ a należą do B – nie wychodzimypoza B,• jest określona relacja równoważności, oznaczona „=”,spełniająca warunek:dla każdego a,b,c∈B, jeśli a = b, to ~a = ~b oraz a + c = b + c i a • c = b • c


Definicja c.d.• operatory sumy logicznej, iloczynu logicznego i dopełnieniaspełniają dla wszystkich elementów zbioru B następującepostulaty (aksjomaty)(a,b,c∈B):A 1 – postulat przemienności sumy i iloczynuA 2 – postulat wzajemnej rozdzielności sumy i iloczynuA 3 – postulat o elemencie identycznościowym:• dla operatora sumy identycznościowym jest elementwyróżniony oznaczony „0”, tzn. a + 0 = a,• dla operatora iloczynu identycznościowym jest elementwyróżniony oznaczony „1”, tzn. a • 1 = a,A 4 – postulat o dopełnieniu: dla operatora sumy i iloczynuobowiązują zależności:a + ~a = 1 oraz a • ~a = 0


Przykład algebry Boole’aElementy B – podzbiory zbioru {a, b}{-} (zbiór pusty) – element wyróżniony 0{a} = e 1{b} = e 2{a,b} – element wyróżniony 1Przyjmujemy znane operatory sumy, iloczynui dopełnienia zbiorów.


Twierdzenia1. W każdej algebrze Boole’a istnieją tylko dwa różne od siebieelementy wyróżnione.2. Dla każdego elementu a∈B istnieje jeden i tylko jeden elementbędący jego dopełnieniem.3. x + x = x oraz x • x = x4. x + 1 = 1 oraz x • 0 = 05. 1 + x = 1 oraz 0 • x = 0


Twierdzenia c.d.6. Dopełnienie dopełnienia elementu a jest równe temuelementowi.7. Twierdzenie o absorpcjix + (x • y) = x oraz x • (x + y) = x8. x + (~x • y) = x + y oraz x • (~x + y) = x • y9. Prawo łączności:(a + b) + c = a + (b + c) oraz (a • b) • c = a • (b • c)10. Prawa de Morgana:~(a + b) = (~a • ~b)~(a • b) = (~a + ~b)


Interpretacja geometrycznaaa • bb~a • ~bWykres Venna dla funkcji dwóch zmiennych


Interpretacja geometryczna c.d.a • (b + c) (a • b) + (a • c)Ilustracja prawa rozdzielności mnożenia


<strong>Algebra</strong> dwuelementowaOkreślamy zbiór B={0, 1}, przy czym 0 ≠ 1.Operatory:a b a+b0 0 00 1 11 0 11 1 1a b a•b0 0 00 1 01 0 01 1 1a ~a0 11 0


Formuły boolowskieWyrażenia zbudowane ze stałych {0, 1}, oznaczeń zmiennych(literałów) oraz symboli operatorów sumy logicznej, iloczynu idopełnienia.Pierwszeństwo wykonywania działań:0 – działania w nawiasach,1 – dopełnienie (negacja)2 – mnożenie (iloczyn logiczny)3 – suma logicznaPostać afirmacyjna zmiennej – aPostać zanegowana zmiennej – ~a


Funkcje boolowskieZbiór {F} par uporządkowanych , będący podzbioremiloczynu kartezjańskiego {X} × {Y}, przy czym x ∈ {X}, y ∈ {Y};-dla każdego x ∈ {X} istnieje y ∈ {Y} takie, że (x, y) ∈ {F},-jeśli (x, y 1 ) ∈ {F} i (x, y 2 ) ∈ {F}, to y 1 = y 2 .Zmienne x i y mogą być w ogólnym przypadku wektorami –zmiennymi wielowymiarowymi. Dla każdego z n wyjść układulogicznego o m wejściach funkcję boolowską możnazdefiniować jako odwzorowaniezbioru {0, 1} × ... × {0, 1} = {0, 1} m w zbiór {0, 1}.Reguły zapisu odwzorowania:- tablica wartości logicznych (tablica prawdy)- formuła boolowska (postać analityczna funkcji)


Przykład formuły boolowskiejPrzykładowo: y = ~x 1 •~x 2 + x 1 •x 2oznacza, że y = 1, gdy x 1 = x 2 = 0 lub x 1 = x 2 = 1(w pozostałych przypadkach y = 0).x 1 x 2 y0 0 10 1 01 0 01 1 1Na podstawie A 2 , A 1 i Tw.8:y = (~x 1 •~x 2 )+ x 1 •x 2 = (~x 1 •~x 2 + x 1 ) • (~x 1 •~x 2 +x 2 ) == (x 1 + ~x 2 ) • (~x 1 +x 2 )Formuła pierwsza – suma „jedynek” funkcjiFormuła druga – iloczyn „zer” funkcji (zamiana postaci zmiennych –zeru odpowiada afirmacyjna, jedynce zanegowana)


Pełna suma, pełny iloczynPełny iloczyn – iloczyn złożony ze wszystkich zmiennychfunkcji, przy czym literał każdej zmiennej występuje tylko raz.Przyjmuje wartość 1 tylko dla jednej kombinacji wartościzmiennych.Pełna suma – sumazłożona ze wszystkich zmiennych, przyczym literał każdej zmiennej występuje tylko raz. Przyjmujewartość 0 tylko dla jednej kombinacji wartości zmiennych.Suma wszystkich pełnych iloczynów funkcji jest zawszerówna jedności. Iloczyn wszystkich pełnych sum funkcji jestzawsze równy zeru. Dla m zmiennych można utworzyć 2 mpełnych iloczynów lub pełnych sum.


Mintermy i makstermyMinterm –pełny iloczyn uporządkowany zgodnie ztabelą poniżej.Maksterm –pełna suma uporządkowana zgodnie ztabelą poniżej.ln x m-1 ,...,x 1 , x 0 minterm maksterm0 0, ..., 0, 0 ~x m-1 •...•~x 1 •~x 0 m 0 x m-1 +...+x 1 +x 0 M 01 0, ..., 0, 1 ~x m-1 •...•~x 1 •x 0 m 1 x m-1 +...+x 1 +~x 0 M 12 0, ..., 1, 0 ~x m-1 •...•x 1 •~x 0 m 2 x m-1 +...+~x 1 +x 0 M 2... ... ... ... ... ...k=2 m -1 1, ..., 1, 1 x m-1 •...•x 1 •x 0 m k ~x m-1 +...+~x 1 +~x 0 M k


Postać kanoniczna funkcji boolowskiejKażdą funkcję boolowską binarną możnaprzedstawić:- w postaci sumy mintermów(wskaźnik dotyczy tych mintermów, dla których wartość funkcji jestrówna 1)- w postaci iloczynu makstermów(wskaźnik dotyczy tych makstermów, dla których wartość funkcjijest równa 0)Powyższe postaci funkcji noszą nazwękanonicznych.ff= ∑i= ∏im iM i


Postać normalna funkcji i jejdopełnieniePostać normalna –postać, w której formuła boolowskaokreślająca funkcję jest wyłącznie sumą iloczynów zmiennych(postać normalna dysjunkcyjna – alternatywna) bądźiloczynem ich sum (postać normalna koniunkcyjna).Dopełnienie funkcji można znaleźć posługując się rozwinięciempraw de Morgana (tw. 10) na większą liczbę zmiennych.W szczególności:~(x n-1 • ... • x 1 •x 0 ) = ~x n-1 + ... + ~x 1 + ~x 0~(x n-1 + ... + x 1 + x 0 ) = ~x n-1 • ... • ~x 1 •~x 0(dowodzenie oparte na iteracyjnym stosowaniu twierdzeń 9 i 10)


Funkcje boolowskie dwóch zmiennychx y f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 70 0 0 0 0 0 0 0 0 00 1 0 0 0 0 1 1 1 11 0 0 0 1 1 0 0 1 11 1 0 1 0 1 0 1 0 1symbol/operacja0 x•y x/y(x•~y)xy/x(~x•y)y XOR x+yf 2 – funkcja zakazu yf 4 – funkcja zakazu xf 6 –ALBONazwy funkcji pochodzą z rachunku zdań;wówczas 1 określa się jako „prawda,0 jako „fałsz”.


Funkcje boolowskie dwóch zmiennychx y f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 150 0 1 1 1 1 1 1 1 10 1 0 0 0 0 1 1 1 11 0 0 0 1 1 0 0 1 11 1 0 1 0 1 0 1 0 1symbol/operacjaf 9 – równoważnośćf 11 – implikacja x ← yf 13 – implikacja x → yNOR XNOR ~y x+~y ~x ~x+y NAND 1W teorii układów logicznych operatoryimplikacji i zakazu nie odgrywają większej roli.


Najważniejsze operatory jedno- i dwuargumentoweBramki logiczne – nazwa używana z uwagina dwustanowy charakter pracy (włącz-wyłącz).


Systemy funkcjonalnie pełneZestawy operatorów, pozwalające tworzyćpoprawne formuły boolowskie, zawierające,obok nazw zmiennych i elementów 0, 1,symbole odpowiednio zdefiniowanychoperatorów.Najbardziej naturalny test:czy w oparciu o dane operatory możnaskonstruować operatory AND, OR, NOT?


Systemy funkcjonalnie pełne c.d.NANDNORimplikacja, 0implikacja, NOTimplikacja, 1zakaz, 1zakaz, NOTXOR, AND, 1XOR, OR, 1XNOR, AND, 0XNOR, OR, 0AND, NOTOR, NOT


Test pełności NAND i NOR


Realizacje bramkowe funkcji logicznychSymbole graficzne (bramki) mogą być wykorzystywane dograficznego przedstawiania formuł boolowskich.operatory przemienne i łączne mogą być reprezentowane przezbramki wielowejściowe konstruowane wprost z definicji (suma,iloczyn, XOR, XNOR);operatory przemienne NAND NOR mogą być reprezentowaneprzez bramki dwuwejściowe; dla dwóch argumentów funkcje tetożsame są z systemami AND-NOT i OR-NOT – bramkiwielowejściowe powstają jako realizacje negacjiwielowejściowego iloczynu i sumy;operatory nieprzemienne (implikacja, zakaz) nie mogą byćstosowane w układach logicznych i nie są realizowane fizycznie.


Realizacje AND-OR-NOTF= x • y • z + x • y • z + x • y F = ( x + y + z) • ( x + y + z) • ( x + y)każda postać normalna daje realizację zawierającąco najwyżej trzy poziomy bramekpoziom trzeci (negacje) może nie wystąpić


Minimalizacja formuł boolowskichNajczęstsze kryterium – minimalizacja liczbyliterałów; prowadzi do najprostszej realizacjibramkowej funkcjiMetody heurystyczne – przekształceniazgodne z twierdzeniami i aksjomatamialgebry Boole’aMetody algorytmiczne (do zastosowańkomputerowych)Metody intuicyjne• diagramy Veitch’a• tablice Karnaugh


Faktoryzacja funkcji logicznychMinimalizacja formuł boolowskichprowadzona jest w klasie formuł normalnych;otrzymane formuły minimalne są postaciaminormalnymi funkcjiFaktoryzacja – dostosowanie do wymagańtechnologicznych (ilość wejść bramek,dostępne typy bramek itp.); może zwiększyćskomplikowanie formuły

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!