Logická funkce je funkce, která pro konečný počet vstupních parametrů vrací logické hodnoty.
Používá se v matematické logice, v oboru teorie řízení a číslicové techniky, v praxi pak například v mikroprocesorové technice. Parametry logické funkce jsou logické proměnné.
Přiřazuje-li logická funkce výstupní hodnoty všem kombinacím vstupních logických proměnných, pak se nazývá úplně zadaná logická funkce; v opačném případě se nazývá neúplně zadaná logická funkce. Kombinace vstupních logických proměnných, k níž není určena hodnota výstupní logické funkce, se nazývá neurčitý stav.
Pro n logických proměnných lze definovat 22n logických funkcí. Pro n logických proměnných obsahuje tabulka 2n řádků.
Počet proměnných | Počet funkcí |
---|---|
1 | 4 |
2 | 16 |
3 | 256 |
atd. |
Funkce jedné proměnné
A | f0 | f1 | f2 | f3 |
---|---|---|---|---|
0 | 0 | 0 | 1 | 1 |
1 | 0 | 1 | 0 | 1 |
f0 = 0 konstanta
f1 = x přímá proměnná
f2 = ¬x negovaná proměnná
f3 = 1 konstanta
¬ = negace
Funkce dvou proměnných
B | A | f0 | f1 | f2 | f3 | f4 | f5 | f6 | f7 | osa | f8 | f9 | f10 | f11 | f12 | f13 | f14 | f15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | " | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | * | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | " | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | * | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
osa = osa negace Za touto osou se nacházejí tytéž funkce, ale v znegovaném tvaru.
f0 = 0 konstanta
f1 = A*B (logický součin, AND)
f2 = ¬(A implikuje B)
f3 = A přímá proměnná
f4 = ¬(B implikuje A)
f5 = B přímá proměnná
f6 = ¬A*B+A*¬B nonekvivalence
f7 = A+B (logický součet, OR)
f13 = implikace
¬ = negace
pomocí daných operátorů lze realizovat tři logické funkce AND, NOT (NON)a OR
Úplný systém logických funkcí
AND a NOT
chybí OR
použijeme De Morganův zákon
OR a NOT
chybí AND
použijeme De Morganův zákon
NAND
chybí NOT, OR, AND
NOT :
AND :
OR :
NOR
chybí NOT, OR, AND
NOT :
AND :
OR :
Je-li n počet vstupních logických proměnných a m počet výstupních funkcí, bude mít pravdivostní tabulka 2n řádků a n + m sloupců. V prvních n sloupcích budou zobrazeny všechny možné kombinace vstupních logických hodnot. Pravdivostní tabulka pro funkci disjunkce (A or B) vypadá takto:
A | B | Y = A or B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |