Curcio Medie

Si sente dire spesso che i calcolatori, o le calcolatrici, sono «stupidi», in quanto non sono altro che macchine molto veloci in grado di eseguire operazioni piuttosto elementari.

Ricostruzione della macchina calcolatrice progettata nel 1623 dallo scienziato tedesco Wilhelm Schickard.


Altre volte, invece, gli impiegati negli uffici che utilizzano computer, di fronte a un disguido o a un errore a danno dell’utente, si giustificano dicendo che «è colpa del calcolatore». In tutte e due le affermazioni c’è qualcosa di vero, ma anche qualcosa di profondamente sbagliato; infatti, si attribuiscono al calcolatore delle qualità umane, quali la stupidità o la colpa, che non possono essere attribuite a una macchina.
Il computer, infatti, è la realizzazione fisica di un automa e, quindi, è un dispositivo organizzato e programmato dall’uomo per rispondere in modo deterministico agli stimoli (input) che gli provengono dall’esterno, sulla base dello stato in cui si trova.

Gli errori che commette un automa-computer sono sempre frutto di una cattiva programmazione o errata immissione di dati da parte dell’uomo.
Inoltre, il modo di funzionare di un automa esecutore è diverso da quello dell’uomo; l’uomo, nei suoi ragionamenti, fa spesso ricorso a esperienze precedenti, elabora i dati che gli provengono dai sensi, ricorre all’immaginazione, prova sentimenti e dolore, ha delle intenzioni.
Il calcolatore, invece, fin dalle prime idee di progettazione, è stato pensato per essere un «freddo calcolatore» che non si fa influenzare né dalle ansie, né dai sentimenti.
Tuttavia, quando il logico Alan Turing (1912-1954) negli anni Trenta si pose il problema di determinare quali fossero le azioni elementari che una macchina dovesse essere in grado di eseguire per poter fare le operazioni aritmetiche e logiche elementari, partì da un’analisi di quali sono i materiali e le abilità minimi che un uomo utilizza per calcolare.

I materiali e le abilità necessari a calcolare
Immagina di progettare una macchina che faccia un semplice calcolo, supponendo che essa non abbia alcuna intelligenza, né conoscenza dei numeri, né delle tabelline o di altri concetti che tu hai imparato alle scuole elementari o anche prima. Questa macchina sarebbe una specie di «schiavo calcolatore», un esecutore, il quale avrebbe bisogno di alcuni materiali e abilità (le più elementari) che anche l’uomo possiede.
Vediamo quali:

a) un alfabeto di simboli. Come base minima per codificare i numeri sono sufficienti due soli simboli, la cifra 0 e la cifra 1. Con i due simboli 0 e 1 è anche possibile elaborare una codifica tale che diverse stringhe di 0 e 1 rappresentino diverse lettere dell’alfabeto oppure i diversi segni delle operazioni matematiche. Di fatto tutti i calcolatori utilizzano una codifica, detta Ascii (American Standard Code for Information Interchange, «Codice americano standard per l’interscambio di informazioni») che traduce ogni carattere alfabetico o numerico in una stringa di 7 bit;

Esiste anche un utilizzo artistico del codice Ascii, che permette di produrre immagini mediante la composizione dei 95 caratteri Ascii.

b) un foglio da cui leggere o su cui scrivere. Possiamo pensare a un foglio di quaderno a quadretti su cui scriviamo in un ben determinato ordine i numeri dell’addizione da svolgere. Nelle prime ipotesi di costruzione di una macchina teorica per calcolare, Turing ridusse al minimo questo «materiale»; anziché un foglio si può infatti pensare che sia sufficiente un nastro diviso in tante celle (come se fossero i suoi quadretti), su ognuna delle quali venga letto o scritto un simbolo e che scorra verso sinistra o verso destra come il nastro di una cassetta per registrare (il nastro dovrebbe però avere una lunghezza infinita).

Per fare le addizioni si può mettere una barretta a seguito di un’altra, come facevano i carcerati per il calcolo dei giorni.

c) una testina in grado di leggere e scrivere uno dei simboli dell’alfabeto;

d) la capacità del nastro di muoversi di un passo per volta verso sinistra o verso destra.

Turing mostrò che con questi pochissimi materiali e con queste scarsissime abilità, una macchina potrebbe essere programmata in modo tale da saper calcolare tutto ciò che risulta calcolabile; da queste idee e da successive invenzioni tecniche si è via via arrivati all’odierno elaboratore.

GLOSSARIO

Programma. Sequenza di istruzioni comprensibili da un esecutore per effettuare un calcolo.

Stringa. Successione finita di caratteri di un determinato alfabeto.