Problém pokrytia
Minimalizácia logickej funkcie je v skutočnosti problém pokrytia množiny: máme riadky, ktoré musíme pokryť (jednotky pri mintermoch, nuly pri maxtermoch), a množinu prvoimplikantov, z ktorých vyberáme čo najlacnejšiu sadu, ktorá pokryje všetko. Klikaním si to vyskúšajte sami.
Je rovný 1 práve v jednom riadku i. Funkciu skladáme ako súčet súčinov (SOP, ÚSNF) – pokrývame jednotky.
Je rovný 0 práve v jednom riadku i. Funkciu skladáme ako súčin súčtov (POS, ÚKNF) – pokrývame nuly.
1Pravdivostná tabuľka
Kliknutím na hodnotu f prepínate 0 → 1 → X. Stĺpec Pokrytie ukazuje, či je riadok, ktorý musíme pokryť, už pokrytý vašim výberom.
2Čo treba pokryť (kanonický zápis)
3Karnaughova mapa
Rovnaké riadky tabuľky, ale v mape susedia bunky, ktoré sa líšia v jedinom bite. Zafarbené bunky treba pokryť, farebné bodky ukazujú vybrané prvoimplikanty. Bunku môžete kliknutím prepnúť (0 → 1 → X), prechod myšou po riadku tabuľky pokrytia zvýrazní jeho skupinu.
4Tabuľka pokrytia – vyberajte prvoimplikanty
Riadky sú prvoimplikanty (najväčšie možné zoskupenia), stĺpce riadky, ktoré treba pokryť. Kliknutím na riadok ho pridáte alebo odoberiete. Stĺpec s jedinou bodkou je kritický – jeho prvoimplikant je podstatný (musí byť vo výbere vždy).
5Váš výsledok
Dualita: tá istá funkcia, dve pokrytia
Rovnaká pravdivostná tabuľka sa dá minimalizovať oboma smermi. Optimum nájdené algoritmom (vyčerpávajúce hľadanie):