Il matematico e filosofo George Boole (1815-1864) sviluppò l’associazione tra logica e matematica, analizzando le leggi delle operazioni mentali alla base del ragionamento, esprimendole in un linguaggio simbolico che consentisse agli operatori logici di operare come operatori algebrici, per mezzo di enunciati calcolabili. Creò quella che si definisce l’algebra booleana.
La logica booleana è alla base dell’informatica e dell’elettronica digitale, ed è fondata sulla manipolazione di variabili che possono assumere solo due valori: Vero (1) e Falso (0). Gli operatori logici booleani, di seguito dettagliati, sono applicati come ‘porte logiche’ a dispositivi elettronici, consentendo di costruire le operazioni di base, poi riprodotte a miliardi nei moderni device, per la realizzazione dei computer e degli smartphone che conosciamo. Per precisione si tratta sia di porte fisiche, transistor* nell’hardware, sia di porte non fisiche, nelle istruzioni dei codici dei sistemi operativi e delle applicazioni.
Gli operatori fondamentali sono:
AND Restituisce vero (1) solo se tutti gli ingressi sono veri.
OR (Restituisce vero (1) se almeno uno degli ingressi è vero.
NOT (Negazione): Operatore che inverte il valore di ingresso: 1 diventa 0, e viceversa.
| A | B | AND (A*B) | OR (A+B) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Con gli operatori fondamentali si costruiscono le porte logiche:
NAND (Not-AND): Uscita falsa solo se tutti gli ingressi sono veri.
NOR (Not-OR): Uscita vera solo se tutti gli ingressi sono falsi.
XOR (Exclusive OR): Vero se gli ingressi sono diversi, falso se uguali.
Le combinazioni di queste porte e degli operatori fondamentali con un’algebra che ne consenta l’operatività permette di costruire circuiti digitali e strutture di istruzioni che elaborano e memorizzano dati.
Transistor*
I transistor sono dispositivi costituiti da materiali semiconduttori (es silicio modificato) che si comporta come “interruttore” regolando flussi di corrente sulla base di un segnale di controllo (nel senso che il suo valore determina se il flusso può passare o no).
Stato OFF. Se non c’è segnale sul controllo (valore 0) il transistor blocca il flusso (circuito aperto).
Stato ON. Se c’è segnale sul controllo (valore 1) il transistor consente il flusso (circuito chiuso).
Le porte logiche si possono così costruire:
porta AND: due transistor in serie, la corrente passa solo se entrambi sono ON (1 AND 1 = 1)
porta OR: due transistor in parallelo, la corrente passa se almeno uno dei due è ON (1 OR 0 = 1)
porta NOT: detta inverter, un singolo transistor configurato in modo da scollegare l’uscita (circuito aperto) se riceve il segnale (valore 1).