3/29/2017 Minimizzazione
Mappe di Karnaugh Tale tecnica di minimizzazione è basata sull’idea che la somma di due prodotti di letterali può essere sostituita da un singolo prodotto se i due prodotti iniziali differiscono per un solo letterale.
1 se il mintermine fa parte della f.n.d. Mappe di Karnaugh partiamo dalla forma canonica disgiuntiva e introduciamo apposite tabelle con 2n celle yx z 00 01 11 10 0 0 0 0 0 1 0 1 1 1 1 se il mintermine fa parte della f.n.d.
in gruppi di singoletti, coppie, quadruple…. potenze di 2 Mappe di Karnaugh raggruppiamo gli uno che stanno in celle adiacenti (adiacenti significa anche sopra e sotto o destra e sinistra e quelle poste ai lati opposti della mappa) yx z 00 01 11 10 0 0 0 0 0 1 0 1 1 1 in gruppi di singoletti, coppie, quadruple…. potenze di 2
i blocchi ottenuti sono i mintermini Mappe di Karnaugh i gruppi sono determinati in modo euristico (cioè basato su osservazioni ed esperienza anziché su una teoria) yx z 00 01 11 10 0 0 0 0 0 1 0 1 1 1 i blocchi ottenuti sono i mintermini che cerchiamo
cerchiamo un altro modo mappe di Karnaugh: metodo grafico non è possibile applicare il metodo a funzioni con più di 4 variabili in maniera semplice cerchiamo un altro modo per poter minimizzare funzioni con più variabili mappe di Karnaugh: metodo grafico
Metodo di Quine - McCluskey non è grafico determino gli implicanti primi (vedremo cosa sono) cerco il ricoprimento minimo di tali implicanti
implicanti x y z f(x, y, z) 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 1 f implica f una funzione di n variabili f rico-pre un'altra funzione g (f > g) se f vale 1 dove anche g vale 1 (ma non il vice versa) un prodotto p di m variabili (m < n) di f è un implicante per f se f > p
implicanti un implicante p è primo per f se x y z f(x, y, z) 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 1 infatti y z vale 1 un implicante p è primo per f se l'eliminazione di un letterale di p dà luogo ad un prodotto p' tale che f > p' x y z e ~x y z non sono primi: se elimino x e ~x ottengo ancora 1 è un implicante primo
implicanti sono tutti i mintermini della forma canonica congiuntiva x y z v w 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 sono tutti i mintermini della forma canonica congiuntiva sono ordinati per peso: numero di 1 nella riga e peso delle variabili w è quella che pesa di meno
implicanti due "coppie" sono unificabili se differiscono per un solo x y z v w 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 due "coppie" sono unificabili se differiscono per un solo simbolo confronto il primo con tutti gli altri, poi il secondo e cosi via... creo una nuova tabella
implicanti non unifica con nessuna per ora la ignoriamo x y z v w 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 non unifica con nessuna per ora la ignoriamo
implicanti x y z v w 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 x y z v w 1 0 0 - 0 1 0 - 0 0 1 0 - 1 0 1 0 1 - 0 1 0 1 1 - 1 1 0 - 1 1 - 1 1 1 1 1 - 1 1 A K B C D E F G H
implicanti: diamo dei nomi alle righe x y z v w 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 x y z v w 1 0 0 - 0 1 0 - 0 0 1 0 - 1 0 1 0 1 - 0 1 0 1 1 - 1 1 0 - 1 1 - 1 1 1 1 1 - 1 1 A B C D E F G H AB AC BD CD DF EG FH GH
implicanti: proseguiamo…. x y z v w 1 0 0 - 0 1 0 - 0 0 1 0 - 1 0 1 0 1 - 0 1 0 1 1 - 1 1 0 - 1 1 - 1 1 1 1 1 - 1 1 x y z v w 1 0 - - 0 ABCD AB combina con CD AC combina con DB AB AC BD CD DF EG FH GH
quali sono gli implicanti primi gli implicanti primi sono quelli che non sono stati fusi con altri: K DF EG FH GH ABCD
Selezione degli implicanti primi K A B C D E F G H K X DF X X EG X X FH X X GH X X ABCD X X X X indica che l'implicante primo DF copre D
Selezione degli implicanti primi trovare un insieme di righe di cardinalità minima tale che, per ogni colonna della tabella, vi sia almeno una riga che abbia una X in quella colonna Due tecniche: Dominanza Essenzialità
Dominanza Una riga i domina una riga j se i possiede X in tutte le posizioni di j
Essenzialità Una riga i è essenziale se è l'unica ad avere una X in una certa posizione Possiamo eliminare le righe essenziali e le relative colonne
Selezione degli implicanti primi K A B C D E F G H K X DF X X EG X X FH X X GH X X ABCD X X X X eliminiamo le righe e le colonne
Selezione degli implicanti primi K A B C D E F G H K X DF X X EG X X FH X X GH X X ABCD X X X X rimangono tre righe e due colonne
Selezione degli implicanti primi K A B C D E F G H K X DF X X EG X X FH X X GH X X ABCD X X X X FH domina GH e DF
K EG ABCD FH cioè Risultato finale La forma minima è data da (~x ~y ~z v w) (x y ~z w) (x ~y w) (x z v w)
Considerazioni conclusive sulla minimizzazione Osserviamo che siamo partiti dai letterali potrebbero esserci forme più compatte La minimizzazione è molto costosa e non sempre si riesce ad ottenere la forma minima