Algebra Boole`a
Transkrypt
Algebra Boole`a
Algebra Boole’a
✦ Działania na zmiennych (obiektach), które przyjmują
jedynie dwie wartości
✦ w logice formalnej „prawda” lub „fałsz” (inaczej „T” lub „F”)
✦ w systemach cyfrowych „włączony” lub „wyłączony”
inaczej „1” lub „0”
✦ Wyrażenia boolowskie powstają w wyniku
połączenia zmiennych i działań (operacji) na nich
✦ podstawowe operatory: AND, OR, NOT
Wyrażenia boolowskie
✦ Operator Boole’a można
zdefiniować przy pomocy
tabeli lub matrycy prawdy
(ang. truth table) ( inaczej
tabelki prawdziwościowej)
✦ kolumny danych wejściowych
✦ kolumna danych wyjściowych
✦ Operator AND nazywamy
koniunkcją lub iloczynem
logicznym
✦ Operator OR nazywamy
alternatywą lub sumą
logiczną
Wyrażenia boolowskie (c.d.)
✦ Operator NOT
nazywamy negacją lub
zaprzeczeniem
✦ Zapisujemy przy
pomocy kreski nad
argumentem (ē),
poprzedzamy znakiem
~ (~e) lub ¬ (¬e)
✦ Czytamy jako „nie e”
Funkcja boolowska
✦ Funkcja boolowska składa się z
✦ przynajmniej jednej zmiennej boolowskiej
✦ przynajmniej jednego operatora boolowskiego
✦ przynajmniej jednego argumentu ze zbioru {0,1}
✦ Funkcja boolowska na wyjściu daje jeden
element zbioru {0,1}
Przykład
✦ Tablica prawdy dla funkcji
boolowskiej
✦ Dla obliczenia
skomplikowanych funkcji
boolowskich wygodnie jest
rozbić ją kilka kolumn
reprezentujących
poszczególne kroki
wyliczeń
Priorytety operatorów
✦ Kolejność wykonywania
operacji
✦ 1. NOT
✦ 2. AND
✦ 3. OR
✦ Decyduje o wyborze
kolumn pośrednich przy
obliczaniu wartości
funkcji boolowskiej
Tożsamości boolowskie
✦ Komputery składają się z obwodów
implementujących funkcje boolowskie
✦ Im prostsza funkcja boolowska tym mniejszy
obwód
✦łatwiejsze w budowie, mniejsze zużycie energii i
szybsze niż obwody implemetujące złożone
funkcje
✦ Aby zredukować funkcje boolowską można
posłużyć się tożsamościami boolowskimi
Tożsamości boolowskie (c.d.)
✦ element neutralny, własności „zera” i „jedynki” (prawa
pochłaniania), idempotentność (prawa tautologii),
uzupełnienie (prawo sprzeczności i wyłączonego środka)
Tożsamości boolowskie (c.d.)
✦ przemienność, łączność, rozdzielność (drugie i
pierwsze prawo rozdzielności)
Tożsamości boolowskie (c.d.)
✦ absorpcja, prawo De Morgana, podwójne
zaprzeczenie (prawo podwójnego przeczenia)
Przykład
✦ Upraszczenie funkcji boolowskiej
✦ Wykorzystane tożsamości
Prawo de Morgana
✦ Prawo de Morgana
✦ Czasami efektywniej jest zbudować obwód
przy pomocy negacji funkcji niż
implementować ją bezpośrednio
Prawo de Morgana (c.d.)
✦ Prawo de Morgana stosuje się dla dowolnej
liczby zmiennych
✦ zestępujemy każdą zmienną jej negacją i
zamieniamy AND na OR i OR na AND
✦ Przykład
Prezentacja funkcji boolowskich
✦ Istnieje wiele równoważnych sposobów na
przedstawienie funkcji boolowskiej
✦synonimy logicznie równoważne
✦mają takie same tablice prawdy
✦ Do wyeliminowania niejasności przy
projektowaniu systemów logicznych funkcje
boolowskie zapisuje się w postaci
standaryzowanej lub kanonicznej
Prezentacja funkcji
boolowskich (c.d.)
✦ Dwie postaci kanoniczne dla wyrażeń boolowskich:
alternatywna postać normalna (ang. sum-of-products) i
koniunkcyjna postać normalna (ang. product-of-sums )
✦ W alternatywnej postaci normalnej wyrażenie boolowskie
składa się z pomnożonych (AND) zmiennych (lub
wyrazów iloczynu), które są zsumowane (OR)
✦ W koniunkcyjnej postaci normalnej wyrażenie boolowskie
składa się ze zsumowanych (OR) zmiennych (lub
wyrazów sumy), które są przez siebie mnożone (AND)
Przykład
✦ Przy pomocy tablicy
prawdy możemy
przekształcić funkcje
boolowską do
aletrnatywnej postaci
normalnej
✦ Wyszukujemy zmienne
które dają 1, grupujemy i
wstawiamy operator OR