Funkcja boolowska (funkcja logiczna) – dowolne odwzorowanie gdzie jest podzbiorem zaś jest podzbiorem
Jeżeli funkcja boolowska jest określona dla każdego elementu zbioru (czyli), to nazywamy ją funkcją zupełną. Analogicznie, jeśli jest właściwym podzbiorem to funkcja jest nazywana niezupełną lub też nie w pełni określoną.
Liczba wszystkich-argumentowych funkcji zupełnych jest równa:
Funkcja boolowska jest matematycznym modelemukładu kombinacyjnego. Układy tego typu są używane do budowy między innymimultiplekserów,mikroprocesorów, do sterowania na przykład wyświetlaczamiLED i w wielu innych urządzeniachelektronicznych.
W opisie funkcji boolowskich używa się następujących elementów: literałów i wartości ze zbioru 0 i 1 są tutaj umownymi oznaczeniami dla wartości funkcji i nie należy ich wiązać zliczbami 0 (zero) i 1 (jeden); kreska oznacza, że funkcja nie jest dla danego wektora określona.
Literał definiuje się jako:
gdzie jest symbolem zmiennej, natomiastwskaźnikiem literału. Mając dowolne zmiennych można przedstawić je w postaci literałów:
W niektórych zastosowaniach często przedstawia się funkcję (lub jej elementy) wyłącznie za pomocą wektorówwskaźników literałów:
np.
W przypadku drugiej konwersji przypisanie poszczególnym bitom zmiennych jest czysto umowne.
Termem (wyrazem) iloczynowym/sumowym nazywamy iloczyn (np.)/sumę (np.) w którym żadna zezmiennych nie występuje więcej niż raz. Np. jeśli funkcja ma trzy argumenty i to termem jest itp.
Iloczyn nazywany jest pełnym, gdy zawierawszystkie literały; analogicznie definiuje sięsumę pełną.Miniterm jest innym określeniem dla iloczynu pełnego,maxterm dla sumy pełnej.
Jeśliminiterm (analogiczniemaxterm) zostanie przedstawiony za pomocą wektora wskaźników literałów, to wartość dwójkowa tego wektora nazywana jestindeksem dwójkowym iloczynu (sumy), natomiast wartość dziesiętnaindeksem dziesiętnym iloczynu (sumy); czasem pomija się przymiotniki „dwójkowy” i „dziesiętny”, mówiąc po prostu „indeks iloczynu (sumy)”.
W przykładach zakładamy, że funkcja ma trzy argumenty: i
Ten sposób stosowany jest w przypadku prostych funkcji, lub gdy charakteryzowane są pewne specyficzne własności funkcji. Np. „funkcja ma wartość jeden, gdy a jest różne od b, lub c jest równe b” lub „dla indeksów nieparzystych funkcja jest równa zero”.
W tablicy wypisuje się wszystkie kombinacje zmiennych wejściowych oraz odpowiadające im wartości funkcji. W pierwszej kolumnie (oznaczonej #) można wpisać odpowiednieindeksy dziesiętne.
Gdy funkcja posiada niewiele jedynek (zer), wówczas do tablicy wpisuje się tylko te wiersze dla których funkcja jest równa jeden (zero).
# | A | B | C | f |
---|---|---|---|---|
0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 1 |
2 | 0 | 1 | 0 | 1 |
3 | 0 | 1 | 1 | – |
4 | 1 | 0 | 0 | 1 |
5 | 1 | 0 | 1 | 0 |
6 | 1 | 1 | 0 | 1 |
7 | 1 | 1 | 1 | 0 |
Jest to przekształcona tablica prawdy, przedstawiona w postaci prostokątnej tablicy, gdzieindeksy dwójkowe zostały pogrupowane tak, by spełniały własnościkodu Graya.
A\BC | 00 | 01 | 11 | 10 |
---|---|---|---|---|
0 | 1 | 1 | – | 1 |
1 | 1 | 0 | 0 | 1 |
Dowolną funkcję boolowską można rozłożyć na dwa składniki w następujący sposób (jest to tak zwane twierdzenie o rozkładzie):
Postępując w ten sposób, dla wszystkich argumentów otrzymamy sum iloczynów minitermów i wartości funkcji ostałych argumentach, np.
Ponieważ iloczyn można zatem usunąć (nie pisać) wszystkie iloczyny w których funkcja ma wartość zero.
Np. jeśli funkcja przyjmuje wartości 1 dla a=1, b=0 dla pozostałych kombinacji zero, to jej kanoniczna postać sumy będzie miała postać:
Zatem w ostatecznej postaci funkcji pozostają jedynie teminitermy (iloczyny pełne) dla których funkcja ma wartość jeden. Często, w skróconej formie, opisuję się funkcję wyłącznie za pomocą zbioru ichindeksów dziesiętnych, np.: Wartość w nawiasie oznacza, że dla tego indeksu funkcja ma wartość nieokreśloną.
W polskiej literaturze kanoniczna postać sumy oznaczana jest skrótemKPS, a w angielskiejSOP.
Twierdzenie o rozkładzie ma również inną postać:
Postać wynikowa kanonicznej postaci iloczynu zawiera iloczyn wszystkichmaxtermów (sum pełnych) dla których funkcja przyjmuje wartość zero.
W polskiej literaturze kanoniczna postać iloczynu oznaczana jest skrótemKPI, a w angielskiejPOS.
Funkcja boolowska jest samodwoista, jeśli
Łatwą do zapamiętania analogią do zbioru liczb rzeczywistych jestfunkcja nieparzysta.
Powyższe zapisy niosą z sobą nadmiar informacji. W tym przykładzie możliwa jestminimalizacja funkcji czyli sprowadzenie jej do prostszej, jakkolwiek równoważnej postaci:
Oprócz minimalizacji istnieją inne ważne zagadnienia z dziedzinysyntezy logicznej –redukcja argumentów idekompozycja funkcji boolowskich. Dzięki nim możliwe jest budowanie szybszych, tańszych i mniej zawodnychukładów cyfrowych.
Najczęściej używane funkcje boolowskie:
pojęcia podstawowe | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
obraz | |||||||||||||||||||||||
przeciwobraz | |||||||||||||||||||||||
typy (rodzaje) |
| ||||||||||||||||||||||
pojęcia określone głównie dla działań jednoargumentowych | |||||||||||||||||||||||
złożenie funkcji (superpozycja) |
| ||||||||||||||||||||||
struktury definiowane funkcjami | |||||||||||||||||||||||
inne powiązane pojęcia | |||||||||||||||||||||||
twierdzenia | |||||||||||||||||||||||
uogólnienia |