Una tabella di verità è una scomposizione di una funzione logica elencando tutti i possibili valori che la funzione può raggiungere. Una tabella di questo tipo contiene tipicamente diverse righe e colonne, con la riga superiore che rappresenta le variabili e le combinazioni logiche, in una complessità crescente che porta alla funzione finale.
In una funzione logica, ci sono tre operazioni di base: NOT (chiamata anche inversione o negazione e simbolizzata -), OR (chiamata anche disgiunzione o addizione e simbolizzata +) e AND (chiamata anche congiunzione o moltiplicazione e simbolizzata *). I valori delle funzioni sono normalmente assegnati come logico 0 = falso e logico 1 = vero. Pertanto, si applicano le seguenti regole:
Se A = 0, allora -A = 1
Se A = 1, allora -A = 0
A + B = 1 tranne quando A = 0 e B = 0
A + B = 0 se A = 0 e B = 0
A * B = 0 tranne quando A = 1 e B = 1
A * B = 1 se A = 1 e B = 1
Le tabelle seguenti mostrano il processo di valutazione dei valori della funzione logica - (A + B) * - (A * B), come determinato suddividendolo in funzioni costitutive. Le due variabili logiche, A e B, sono elencate all'inizio delle prime due colonne. Tutte le possibili combinazioni di valori per A e B sono elencate in queste colonne contando in numeri binari: 00, 01, 10, 11. La colonna più a destra (in questo caso la settima) contiene la funzione da valutare (l'ultima funzione).
A | B | A + B | A * B | - (A + B) | - (A * B) | - (A + B) * - (A * B) |
? | ? | ? | ? | ? | ||
1 | ? | ? | ? | ? | ? | |
1 | ? | ? | ? | ? | ? | |
1 | 1 | ? | ? | ? | ? | ? |
Una volta impostato questo framework, i valori nella terza e quarta colonna sono determinati dalle semplici regole di addizione e moltiplicazione:
A | B | A + B | A * B | - (A + B) | - (A * B) | - (A + B) * - (A * B) |
? | ? | ? | ||||
1 | 1 | ? | ? | ? | ||
1 | 1 | ? | ? | ? | ||
1 | 1 | 1 | 1 | ? | ? | ? |
Quindi i valori nella quinta e nella sesta colonna vengono determinati negando i valori nella terza e nella quarta colonna:
A | B | A + B | A * B | - (A + B) | - (A * B) | - (A + B) * - (A * B) |
1 | 1 | ? | ||||
1 | 1 | 1 | ? | |||
1 | 1 | 1 | ? | |||
1 | 1 | 1 | 1 | ? |
Infine si determinano i valori della funzione da valutare moltiplicando i valori della quinta e sesta colonna:
A | B | A + B | A * B | - (A + B) | - (A * B) | - (A + B) * - (A * B) |
1 | 1 | 1 | ||||
1 | 1 | 1 | ||||
1 | 1 | 1 | ||||
1 | 1 | 1 | 1 |
Questa è una semplice funzione logica. Alcune funzioni hanno molte variabili di input e sono costituite da molte funzioni costitutive. Ciò può comportare una tabella con centinaia di righe e colonne. I computer vengono utilizzati per generare tabelle di verità per funzioni logiche altamente complesse.
Un'alternativa alla tabella di verità è l'uso dei teoremi booleani. Questo metodo, chiamato algebra booleana, viene utilizzato dagli ingegneri per trovare il circuito più semplice possibile che eseguirà una funzione logica desiderata. Ciò ottimizza l'efficienza del sistema riducendo al minimo il numero di operazioni che devono essere eseguite per eseguire una determinata attività.