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
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 |
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
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
| nome | forma | dimostrazione |
|---|---|---|
| assorbimento | ||
| assorbimento (dual) | duale | |
| adiacenza (unificazione) | ||
| consenso | vedi sotto |
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
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 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à (e duali): , ; , ; ; , ; commutativa, associativa; distributiva doppia: e . Dualità: ANDOR, .
- De Morgan: , ; prova per induzione perfetta (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: assorbimento e ; adiacenza ; consenso .
- Esempio: .
- Complemento: De Morgan oppure duale + negazione dei letterali; .
- Costo: letterali; ingressi delle porte (SOP: ingressi delle AND + della OR).
- Errori: De Morgan parziale; assorbimento su termini non contenuti; .