FAV-ZCU/KMA DMA/Otázky ke zkoušce/12. Booleovské funkce.md

55 lines
2.7 KiB
Markdown
Raw Normal View History

# Booleovské funkce
**Definice**
- Booleovská funkce n proměnných je libovolná funkce $f: B^n_{2} \to B_{2}$.
Může jí být například Booleovská funkce dvou proměnných $+$ nebo $\cdot$.
Množina $F_{n}$ všech booleovských funkcí n proměnných s uspořádáním $\leq$ daným předpisem $f \leq g$, pokud pro každé $x \in B^n_{2}$ platí $f(x) \leq g(x)$, je Booleova alebra.
Základní booleovské funkce je možné kombinovat do složitějších funkcí.
## Pravdivostní tabulky
Zapisují se do tabulky, kde je jeden řádek pro každou kombinaci hodnot proměnných.
| $x$ | $y$ | $x+y$ | $x\cdot y$ |
| --- | --- | ----- | ---------- |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 |
| $x$ | $\overline x$ |
| --- | ------------- |
| 0 | 1 |
| 1 | 0 |
## Booleovské polynomy
**Booleův polynom** v proměnných $x_{1}, x_{2}, \dots, x_{n}$ je každá Booleova funkce, v proměnných $x_{1}, x_{2}, \dots, x_{n}$, která vznikne podle následujících pravidel:
1) konstanty 0 a 1, každá proměnná $x_{i}, (i=1,\dots,n)$ je Booleův polynom,
2) jsou-li $a, b$ Booleovy polynomy, potom i funkce $\overline a, a \vee b$ a $a \wedge b$ jsou Booleovy polynomy.
Dva Booleovy polynomy jsou si **rovny**, pokud definují tutéž Booleovu funkci.
### Klauzule
Polynomy ve tvaru $y_{1} \vee y_{2} \vee \dots \vee y_{n}$, resp. $y_{1} \wedge y_{2} \wedge \dots y_{n}$, kde $y_{i} = x_{i}$ nebo $y_{i} = \overline{x_{i}}$ se nazývají **spojová**, resp. **průseková klauzule v proměnných** $x_{1}, \dots, x_{n}$. Pro každé $i=1,\dots,n$ nazveme $y_{i}$ **literálem** proměnné $x_{i}$.
- $x_{1} \vee x_{2} \vee \overline{x_{3}} \vee x_{4} \vee \overline{x_{5}}$ - spojová klauzule
- $\overline{x_{1}} \wedge x_{2} \wedge x_{3} \wedge x_{4} \wedge \overline{x_{5}}$ - průseková klauzule
- $x_{1} \vee \overline{x_{2}} \wedge x_{3}$ - ani spojová, ani průseková klauzule
### Formy
O Booleově polynomu, který je **spojením průsekových**, resp. **průsekem spojových** klauzulí říkáme, že je zapsán v **disjunktivní (spojové)** resp. **konjunktivní (průsekové)** **normální formě**.
- značíme **DNF**, resp. **KNF**
Jestliže navíc každá klauzule obsahuje literály všech proměnných, potom tyto formy nazýváme úplnými formami.
- značíme **ÚDNF**, resp. **ÚKNF**
Každou nekonstantní Booleovu funkci n proměnných lze vyjádřit Booleovým polynomem n proměnných v **úplné disjunktivní i konjunktivní normální formě**.
- konstantní Booleova funkce
- 0 ... konjunktivní (kontradikce)
- 1 ... disjunktivní (tautologie)