DAILY WIRED NEWS SCIENZA
Chi non conosce la logica booleana?
196 anni fa, nasce il matematico e filosofo che ha gettato le basi dei linguaggi di programmazione: si chiama George Boole
02 novembre 2011 di Tiziana Moriconi
Siamo dentro Silent Hill. Ci spostiamo lentamente nella nebbia, abbiamo una pistola, ma sappiamo che i bambini zombie potrebbero sbucare ovunque ed essere in troppi per i colpi che ci sono rimasti. Superare il quadro dipende da due fattori: la prontezza e la mira. Velocità e direzione corretta = hai vinto, passa al livello successivo; velocità o direzione corretta = sei morto, ricomincia il quadro. È così che ragionano i videogame e, più in generale, tutti i software, anche quelli che fanno accendere e funzionare i computer. Tutti seguono una stessa logica, quella booleana.
Il nome deriva da George Boole, matematico britannico autodidatta, venuto al mondo il 2 novembre 1815, nella cittadina di Lincoln. Il padre era un commerciante e si preoccupò di passare al figlio i rudimenti del calcolo. Il ragazzo non frequentò mai la scuola, ma ebbe modo di sapere di filosofia quanto di fisica. A 16 anni, infatti, Boole insegnava già presso una scuola privata (il padre non riusciva più a sostenere la famiglia), a 24 era autore di numerosi articoli scientifici, a 33, pur senza un diploma, aveva ottenuto una cattedra al Queen’s College di Cork, in Irlanda. A 42 anni era ormai membro della Royal Society.
I testi che lo hanno reso un idolo di tutti gli informatici e per cui è passato alla storia sono due: The matematic analysis of logic (del 1847) e An Investigations of the Laws of Thought (del 1854): saggi di matematica che non contemplano numeri, a parte due: l’“ 1” e lo “ 0” (ripresi dal sistema binario di Leibniz).
La sua algebra è, infatti, una trasposizione in simboli di ragionamenti e concetti logici, indipendenti dalle quantità. Nel suo sistema, l’ 1 assume di solito il significato di “ sì”, “ vero”, “ acceso”; lo 0, al contrario, significa “ no”, “ falso”, “ spento”.
Per Boole, sillogismi e ragionamenti potevano essere ben rappresentati come una serie lineare di opzioni. Per esempio, mettiamo di dover decidere se comprare o meno un panino. Le frasi “ Ho fame” e “ ho dei soldi” possono essere vere o false entrambe, o una vera e l’altra falsa: dal loro valore e dalla loro combinazione dipenderà la decisione. Nel caso siano entrambe vere (1 e 1) comprerò del cibo (il risultato è 1); nel caso solo una delle due sia vera (1 e 0), non comprerò alcunché (il risultato è 0). Ecco l’ algoritmo del panino in funzione di due variabili. Le varie combinazioni prendono il nome di tabella delle verità.
Quanti significati possono avere 1 e 0? “ Qualsiasi sistema di interpretazione dei simboli che non infici la verità delle relazioni è ammissibile”, scriveva Boole nell’introduzione al suo primo saggio. Quella e ( and) tra i numeri è un operatore logico (o booleano), come lo è o ( or). Ve ne sono molti altri, ben noti a chiunque abbia studiato un po’ di programmazione.
A intuire che l’algebra booleana poteva adattarsi ai circuiti elettrici fu Claude Shannon, nel 1938. Che logica binaria e circuiti elettrici = linguaggi di programmazione per calcolatori lo intuì invece qualche anno dopo Alan Turing.
(Credit per la foto: Getty Images)
Nessun commento:
Posta un commento