Algebra di Boole - assiomi, teoremi e complemento di una funzione
In questa pagina 7
Un circuito digitale realizza una funzione booleana; per scegliere il circuito più semplice si manipola l'espressione con le regole dell'algebra di Boole. Questa nota raccoglie le regole, mostra come si dimostrano e come si usano per semplificare e per complementare una funzione.
Che cos'è un'algebra di Boole
Un'algebra di Boole è un insieme con due operazioni, somma logica (OR, ) e prodotto logico (AND, ), più il complemento (NOT), in cui valgono la proprietà distributiva, l'esistenza di un minimo () e di un massimo () e l'esistenza del complemento. George Boole la propose a metà Ottocento per la logica; Claude Shannon (tesi di master, MIT, 1938) mostrò che i segnali in una rete di interruttori a due stati (aperto/chiuso) seguono le sue regole: da lì deriva il metodo di analisi e progetto dei circuiti digitali.
Per il nostro scopo le variabili assumono i valori e (logica binaria). Una funzione booleana è un'espressione formata da variabili, costanti e dalle operazioni AND, OR, NOT. Un'espressione si semplifica per usare meno porte (circuito più piccolo, veloce e che consuma meno).
Le identità fondamentali
Proprietà (identità fondamentali dell'algebra di Boole). Le identità vengono a coppie duali: la seconda si ottiene dalla prima scambiando AND con OR e con .
nome forma OR forma AND (duale) elemento neutro minimo e massimo idempotenza complemento doppia negazione commutativa associativa distributiva
Esempio. (seconda distributiva e complemento).
Legge di dualità: se un'identità è vera, lo è anche la sua duale. Attenzione: la seconda distributiva () non vale nell'algebra ordinaria, ma vale in quella booleana. Anche e non valgono nell'aritmetica comune.
Queste regole sono gli assiomi: tutto il resto si deduce da esse (o si controlla con la tabella di verità). L'espressione è quindi un assioma (la proprietà commutativa), non un teorema da dimostrare.
Teorema di De Morgan
Teorema (De Morgan)
Esempio. : si scambiano AND e OR e si negano i letterali.
Si estende a più variabili: (e non , un errore frequente). Forma generalizzata: per complementare un'espressione si scambiano AND e OR e si negano tutte le variabili e le costanti.
Dimostrazione per induzione perfetta (si provano tutte le combinazioni dei valori delle variabili): per
| 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 |
Le colonne e coincidono in tutte le righe. De Morgan rende la NAND e la NOR universali (Porte logiche, ritardi e porte universaliLe porte AND, OR, NOT realizzano le operazioni dell'algebra di Boole; NAND, NOR, XOR e XNOR ne derivano. Ogni funzione si descrive con la tabella di verità ($2^n$ righe). XOR a più ingressi = funzione di disparità (1 se gli 1 sono in numero dispari). Una porta reale ha ritardo di propagazione $t_G$ (diverso per 0→1 e 1→0): in un diagramma temporale l'uscita cambia $t_G$ dopo l'ingresso. NAND e NOR sono universali: bastano da sole a realizzare qualunque funzione. In VHDL: and, or, not, nand, nor, xor, xnor.Porte logiche, ritardi e porte universali →): .
Teoremi di semplificazione
Teorema (semplificazione: assorbimento, adiacenza e consenso)
nome forma dimostrazione assorbimento assorbimento (dual) duale adiacenza (unificazione) consenso vedi sotto
Esempio. : per entrambi i membri valgono , per valgono .
Assorbimento (): il secondo termine si può omettere perché ridondante. Si dimostra anche con la tabella: la colonna coincide con la colonna ().
Consenso. Nel primo termine compare insieme a , nel secondo insieme a , e il terzo () è sempre coperto da uno dei due: se e è già coperto da ; se è coperto da . Dimostrazione algebrica: si moltiplica il terzo termine per : perché e . Il teorema vale anche nella forma duale .
Esempi di semplificazione
Esempio 1. . Si raccoglie negli ultimi due termini: . Per con , : . Quindi e, applicando ancora la stessa regola con : . Controllo: l'unica combinazione che dà è ; nella forma originale dà ✓, e ogni altra combinazione dà .
Esempio 2. (consenso): da tre prodotti a due. Se i tre termini sono realizzati con porte, si risparmia una AND e un ingresso della OR.
Complemento di una funzione
Proprietà (complemento di una funzione). Il complemento ha la tabella di verità con e scambiati nella colonna dell'uscita. Per ottenerne l'espressione si hanno due vie.
(a) De Morgan. Esempio: (XOR). (XNOR) ✓.
(b) Duale e negazione dei letterali. Si scrive l'espressione duale (scambio di AND/OR e di ) e poi si nega ogni letterale. Stesso esempio: il duale di è ; negando i letterali si ottiene , uguale al risultato di (a) ✓.
Esempio. ha (De Morgan); per si ha e .
Esempio più ricco. . Per (b): duale , negando i letterali . Sviluppando il prodotto: ; l'ultimo termine contiene , quindi è assorbito () e resta . Si può controllare con la tabella di verità (16 righe, quattro variabili) che e per ogni combinazione.
Letterali e costo
Un letterale è ogni occorrenza di una variabile, diretta o negata. ha 2 termini e 4 letterali. Due criteri di costo di una forma a due livelli:
- numero di letterali (si ricava dall'espressione, ma non sempre rappresenta bene il circuito);
- numero di ingressi delle porte (gate input cost): si somma il numero di ingressi di tutte le porte del diagramma; è proporzionale al numero di transistor e connessioni, quindi più accurato. In una somma di prodotti: ingressi di ogni AND (con almeno 2 letterali) più ingressi della OR finale.
Esempio. : 2 AND a 2 ingressi OR a 2 ingressi ingressi (4 letterali); gli inverter, se contati, aggiungono un ingresso ciascuno. La forma di costo minimo non è necessariamente unica.
Errori comuni
- De Morgan sbagliato: ; vanno complementati tutti i letterali e scambiati tutti i connettivi.
- Applicare l'assorbimento a termini non contenuti l'uno nell'altro ().
- Credere che (è ).
- Dimenticare di verificare il risultato con la tabella di verità (o sostituendo valori) quando il passaggio algebrico è lungo.
Versione ripasso
- Identità (coppie duali): , ; , ; , ; , ; ; commutativa , ; associativa; distributiva e .
- Dualità: si scambiano AND e OR e e ; se un'identità è vera lo è anche la duale. Attenzione: vale nell'algebra booleana, non nell'aritmetica comune.
- De Morgan: , ; esteso: . Prova per induzione perfetta (tabella delle quattro righe). De Morgan rende NAND e NOR universali (Porte logiche, ritardi e porte universaliLe porte AND, OR, NOT realizzano le operazioni dell'algebra di Boole; NAND, NOR, XOR e XNOR ne derivano. Ogni funzione si descrive con la tabella di verità ($2^n$ righe). XOR a più ingressi = funzione di disparità (1 se gli 1 sono in numero dispari). Una porta reale ha ritardo di propagazione $t_G$ (diverso per 0→1 e 1→0): in un diagramma temporale l'uscita cambia $t_G$ dopo l'ingresso. NAND e NOR sono universali: bastano da sole a realizzare qualunque funzione. In VHDL: and, or, not, nand, nor, xor, xnor.Porte logiche, ritardi e porte universali →): .
- Teoremi di semplificazione:
- assorbimento (duale ); ;
- adiacenza ;
- consenso : si moltiplica per e si usa , .
- Esempio 1: . Si raccoglie : . Controllo: l'unica combinazione con è .
- Esempio 2: il consenso riduce tre prodotti a due, quindi si risparmia una AND e un ingresso della OR.
- Complemento: (a) De Morgan: per si ha ; (b) duale e negazione dei letterali, stesso risultato. Esempio: dà . Per si ottiene (dopo assorbimento).
- Costo: numero di letterali, oppure ingressi delle porte (SOP: ingressi delle AND più quelli della OR). Esempio : ingressi.
- Errori: De Morgan parziale (); assorbimento su termini non contenuti (); (è ); non verificare con la tabella di verità.
- Tabella (De Morgan): le colonne e coincidono in tutte e quattro le righe ().
- Assorbimento in tabella: la colonna di coincide con quella di ().
- Consenso, forma duale: .
- Verifica di : la tabella a 16 righe conferma e per ogni combinazione.
- Costo di : 4 letterali; 6 ingressi di porta (le inverter, se contate, aggiungono un ingresso ciascuna).