FAV-ZCU/KMA DMA/Otázky ke zkoušce/13. Minimalizace Booleovských funkcí.md

51 lines
2.5 KiB
Markdown

# Minimalizace Booleovských funkcí
K minimalizaci Booleovských funkcí se využívá Quineho-McCluskeyho metoda minimalizace.
## Metoda minimalizace
**Implikantem** Booleovy funkce $f$ se nazývá **každý součin** literálů proměnných, který implikuje $f$.
- $f(x, y, z) = x \overline z + \overline y$
- cíl: vynechání některých součinů tak, že výsledek je stále roven funkci $f$
- součin literálů $p$ je implikantem funkce $f$, pokud $p \leq f$
- implikant je prostý, pokud součin vzniklý odstraněním libovolného literálu z $p$ přestane být implikantem funkce $f$
## Postup
Mějme Booleovskou funkci $f$ zadanou tabulkou.
1. Vybereme řádky, kde je hodnota $f$ rovna 1.
2. Z těchto řádků vybereme ty, které je možné dát do dvojic, ve kterých se budou lišit pouze v jedné pozici.
3. Dvojice vypíšeme a lišící se pozici nahradíme symbolem $-$.
4. Prosté implikanty nevybrané ve 2. kroce a také ty upravené zapíšeme pod sebe a přiřadíme k nim součinové klauzule podle tabulky níže.
| řádek | x | y | z | klauzule |
| ------ | --- | --- | --- | ------------------------- |
| 2. | 0 | 1 | 0 | $\overline xy\overline z$ |
| 1., 5. | - | 0 | 1 | $\overline yz$ |
| 5., 7. | 1 | - | 1 | $xz$ |
Máme vyjádření $f(x, y, z) = \overline xy\overline z + \overline yz + xz$.
### Tabulka pokrytí
Hledáme nezkratitelné vyjádření, které stále bude rovno funkci $f$.
Sloupce odpovídají jednotlivým původním vstupům, pro něž $f$ nabývá hodnoty 1, řádky odpovídají získaným prostým implikantům.
| x | y | z | 1. | 2. | 5. | 7. |
| --- | --- | --- | --- | --- | --- | --- |
| - | 0 | 1 | [ ] | | [ ] | |
| 1 | - | 1 | | | [ ] | [ ] |
| 0 | 1 | 0 | | [ ] | | |
Každý ze sloupců v tabulce musí být pokryt nějakým prostým implikantem. Vybereme nejprve ty sloupce, které jsou pokrytelné pouze jedním prostým implikantem a k nim vždy příslušný implikant.
| x | y | z | 1. | 2. | 5. | 7. | implikant |
| --- | --- | --- | --- | --- | --- | --- | -------------- |
| - | 0 | 1 | [x] | | [ ] | | $\overline yz$ |
| 1 | - | 1 | | | [ ] | [x] | $xz$ |
| 0 | 1 | 0 | | [x] | | | $\overline xy\overline z$ |
Pokrytí existuje jediné. Celkem máme tak jedno výsledné řešení, minimální
disjunktivní formu $f(x, y, z) = \overline xy\overline z + \overline yz + xz$.