Funzioni Booleane in Forma Canonica
Nella lezione precedenta abbiamo visto che una funzione booleana può essere espressa in due forme equivalenti: come somma di mintermini oppure come prodotto di maxtermini.
Queste due forme prendono il nome di Forme Canoniche. In questa lezione studieremo le proprietà di queste due forme, come ricavare le funzioni booleane in queste forme e come convertire da una forma all'altra.
- Le funzioni booleane possono essere espresse come somma di mintermini o prodotto di maxtermini.
- La somma di mintermini è ottenuta sommando i mintermini che producono un risultato di 1 nella tabella di verità.
- Il prodotto di maxtermini è ottenuto moltiplicando i maxtermini che producono un risultato di 0 nella tabella di verità.
- Una funzione booleana in forma canonica è espressa come somma di mintermini o prodotto di maxtermini.
- Il complemento di una funzione in forma canonica può essere ottenuto invertendo i mintermini e i maxtermini.
- La conversione tra somma di mintermini e prodotto di maxtermini può essere effettuata utilizzando le proprietà dell'algebra booleana.
Prima Forma Canonica: Somma di mintermini
Nella lezione precedente, abbiamo affermato che, per
I mintermini la cui somma definisce la funzione booleana sono quelli che danno gli 1 della funzione in una tabella di verità. Poiché la funzione può essere 1 o 0 per ogni mintermine, e poiché ci sono
Risulta talvolta conveniente esprimere una funzione booleana nella sua forma somma-di-mintermini. Se la funzione non è in questa forma, può essere resa tale espandendo prima l'espressione in una somma di termini AND. Ogni termine viene quindi ispezionato per vedere se contiene tutte le variabili. Se manca una o più variabili, viene posto in AND con un'espressione come
Chiariamo questo procedimento con l'esempio seguente.
Supponiamo di avere la funzione:
Vogliamo esprimere questa funzione in forma canonica come somma di mintermini. La funzione ha tre variabili:
Questa funzione manca ancora di una variabile, quindi:
= ABC + ABC' + AB'C + AB'C'
Il secondo termine
Combinando tutti i termini, abbiamo
Tuttavia
è possibile rimuovere una di quelle occorrenze. Riorganizzando i mintermini in ordine crescente, otteniamo finalmente
Quando una funzione booleana è nella sua forma somma-di-mintermini, è talvolta conveniente esprimere la funzione nella seguente notazione breve:
Il simbolo di somma
Una procedura alternativa per derivare i mintermini di una funzione booleana è ottenere la tabella di verità della funzione direttamente dall'espressione algebrica e poi leggere i mintermini dalla tabella di verità.
Consideriamo, ad esempio, la funzione booleana data nell'esempio precedente:
La tabella di verità di
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
Questa tabella può essere derivata direttamente dall'espressione algebrica elencando le otto combinazioni binarie sotto le variabili
Dalla tabella di verità, possiamo poi prendere i cinque mintermini della funzione come 1, 4, 5, 6, e 7 a cui corrisponde un 1 nella colonna
Ricapitolando:
Funzione Booleana in Prima Forma Canonica: Somma di Mintermini
Una funzione booleana è in Prima Forma Canonica se è espressa come somma di tutti i mintermini che producono un risultato di 1 nella tabella di verità della funzione. La notazione breve per una funzione in questa forma è
Dove
Seconda Forma Canonica: Prodotto di Maxtermini
Ciascuna delle
Per esprimere una funzione booleana come prodotto di maxtermini, deve prima essere portata in una forma di termini OR. Questo può essere fatto usando la legge distributiva:
Poi qualsiasi variabile mancante
Chiariamo questo procedimento con un esempio.
Vogliamo esprimere la funzione booleana:
come prodotto di maxtermini.
Per prima cosa, bisogna convertire la funzione in termini OR usando la legge distributiva:
La funzione ha tre variabili:
Combinando tutti i termini e rimuovendo quelli che appaiono più di una volta, otteniamo finalmente
Un modo conveniente per esprimere questa funzione è il seguente:
Il simbolo di prodotto,
Ricapitolando:
Funzione Booleana in Seconda Forma Canonica: Prodotto di Maxtermini
Una funzione booleana è in Forma Canonica se è espressa come prodotto di tutti i maxtermini che producono un risultato di 0 nella tabella di verità della funzione. La notazione breve per una funzione in questa forma è
Dove
Conversione tra Forme Canoniche
Il complemento di una funzione espressa come somma di mintermini è uguale alla somma dei mintermini mancanti dalla funzione originale. Questo perché la funzione originale è espressa da quei mintermini che rendono la funzione uguale a 1, mentre il suo complemento è 1 per quei mintermini per cui la funzione è 0.
Come esempio, si consideri la funzione dell'esempio precedente:
Questa funzione, in notazione compatta, può essere scritta come:
Questa funzione ha un complemento che può essere espresso velocemente come:
Ora, se prendiamo il complemento di
L'ultima conversione segue dalla definizione di mintermini e maxtermini come visto nella lezione precedente. Dalla tabella, è chiaro che vale la seguente relazione:
Cioè, il maxtermine con pedice
L'ultimo esempio dimostra la conversione tra una funzione espressa in forma canonica somma-di-mintermini e la sua equivalente in forma prodotto-di-maxtermini.
Allo stesso modo, si può dimostrare che la conversione tra il prodotto di maxtermini e la somma di mintermini è simile.
Ora enunciamo una procedura di conversione generale. Per convertire da una forma canonica all'altra:
- Si scambiano i simboli
e ; - Si elencano quei numeri mancanti dalla forma originale. Per trovare i termini mancanti, si deve ricordare che il numero totale di mintermini o maxtermini è
, dove è il numero di variabili binarie nella funzione.
Una funzione booleana può essere convertita da un'espressione algebrica a un prodotto di maxtermini per mezzo di una tabella di verità e della procedura di conversione canonica.
Si consideri, per esempio, l'espressione booleana:
Prima, deriviamo la tabella di verità della funzione, come mostrato nella tabella seguente:
Tipo | ||||
---|---|---|---|---|
0 | 0 | 0 | 0 | Maxtermine |
0 | 0 | 1 | 1 | Mintermine |
0 | 1 | 0 | 0 | Maxtermine |
0 | 1 | 1 | 1 | Mintermine |
1 | 0 | 0 | 0 | Maxtermine |
1 | 0 | 1 | 0 | Maxtermine |
1 | 1 | 0 | 1 | Mintermine |
1 | 1 | 1 | 1 | Mintermine |
Gli 1 sotto
Poiché c'è un totale di otto mintermini o maxtermini in una funzione di tre variabili, determiniamo che i termini mancanti sono 0, 2, 4, e 5. La funzione espressa come prodotto di maxtermini è
la stessa risposta ottenuta nell'esempio di sopra.
Esempi
Proviamo a risolvere alcuni esercizi pratici per consolidare la comprensione delle forme canoniche.
Trovare un'espressione prodotto di maxtermini per:
Per prima cosa, applicando la procedura di conversione, sostituiamo il simbolo
Adesso possiamo scrivere l'espressione in forma algebrica:
Trovare un'espressione somma di mintermini per:
Sostituiamo il simbolo
Adesso possiamo scrivere l'espressione in forma algebrica:
Si identifichino i mintermini e maxtermini della tabella di verità per la funzione
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
I mintermini sono le combinazioni di variabili che producono un 1 nella funzione. Dalla tabella, i mintermini sono:
(riga 2 della tabella, corrispondente a ) (riga 4 della tabella, corrispondente a ) (riga 5 della tabella, corrispondente a ) (riga 7 della tabella, corrispondente a )
Per cui, la funzione
I maxtermini sono le combinazioni di variabili che producono un 0 nella funzione. Dalla tabella, i maxtermini sono:
(riga 1 della tabella, corrispondente a ) (riga 3 della tabella, corrispondente a ) (riga 6 della tabella, corrispondente a ) (riga 8 della tabella, corrispondente a )
Per cui, la funzione