51 lines
2.5 KiB
Markdown
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$.
|