Filosofia dell'informatica/La nascita dell'informatica: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Corretto: "riguardo alla" |
m Bot: Correggo errori comuni (tramite La lista degli errori comuni V 1.0) |
||
Riga 103:
In questo saggio, Turing descrive quello che è passato alla storia come il [[w:Test di Turing|test di Turing]], ossia un criterio per determinare se una macchina sia in grado di pensare. Il test consisteva in questo: se si riesce a programmare un calcolatore in modo che sappia conversare, su qualsiasi argomento gli venga proposto, tanto bene che nemmeno un interlocutore mediamente intelligente saprebbe dire se sta parlando con una persona o una macchina, allora si doveva ammettere che quel calcolatore mostrava una certa intelligenza. Tuttavia siamo ancora lontani dal saper produrre un programma di questo tipo, e molti sono convinti peraltro che un simile comportamento non sarebbe di per sé intelligente. Turing e von Neumann furono mossi a paragonare il calcolatore al cervello umano per un’ottima ragione: sapendo che gli esseri umani sono capaci di pensare secondo schemi molto diversi, ipotizzarono che la nostra capacità di fare tante cose diverse sia dovuta alla presenza, nel nostro cervello, di un calcolatore universale.
In questo articolo del 1950, Turing lanciò la domanda se una macchina possa pensare: il cosiddetto test di Turing, prende spunto dal “gioco dell’imitazione”
Questa versione del gioco consente di affrontare il problema se le macchine possano pensare evitando di definire i termini “macchina” e “pensare”, il cui significato è difficile da precisare. L’utilità di questo esperimento concettuale sta non tanto nella risposta che esso consente di fornire al problema (non è scontato che la fornisca), quanto nella possibilità di analizzare concetti come mente, pensiero, intelligenza.
Il gioco dell’imitazione presuppone che le risposte di una donna siano distinguibili da quelle di un uomo; ma anche che l’uomo sia in grado di simularle. Non bisogna dimenticare tuttavia che il gioco è a tre: l’identificazione di A e B è demandata a un giudice. Se il giudice è in gamba può prendere la decisione corretta nonostante gli sforzi di A per sviarlo.
Riga 111:
Quella di Turing, in un certo senso, è una provocazione filosofica, che ci costringe a fronteggiare e analizzare le nostre convinzioni in materia di pensiero. Se una macchina può sostenere una conversazione come farebbe un essere umano, possiamo dire che pensa.
Per Turing, se una macchina riesce nel gioco imitativo, dobbiamo concludere che in un qualche senso
Oltre metà dell'articolo originale di Turing è dedicato a rispondere alle principali obiezioni a questa posizione:
Riga 169:
Nel ''Draft'' il nome di Turing non viene mai citato, ma la sua influenza è chiara: più di una volta von Neumann afferma che l’EDVAC dovrà essere di carattere generale, e lascia intendere che il cervello umano deve parte delle sue notevolissime capacità al fatto di saper funzionare come un calcolatore universale. Von Neumann si rendeva conto che i princìpi base della progettazione dei calcolatori elettronici si fondavano sulla logica. I calcolatori creati dopo la seconda guerra mondiale erano profondamente diversi dai precedenti calcolatori automatici poiché erano pensati come apparati universali capaci di eseguire qualsiasi processo simbolico.
Il carattere provvisorio del First Draft era testimoniato dai riferimenti a sezioni inesistenti. Secondo il documento l’EDVAC era una macchina che aveva come obiettivo l’esecuzione di calcoli secondo procedure espresse attraverso istruzioni univoche e non ambigue. L’innovazione principale rispetto all’ENIAC consisteva nella memorizzazione del programma che veniva poi eseguito senza un ulteriore intervento umano. Gli “Organi” della macchina dovevano essere: Centro Aritmetico (CA), Centro Logico o Centro Centrale (CC), Memoria (M), Unità di Input (I), Unità di Output (O). Inoltre era previsto un organo che trasferiva i dati esterni in R, che doveva essere la parte della memoria che ospitava i dati esterni e preparava i dati output. Von Neumann intendeva distinguere chiaramente istruzioni e dati, tanto che la prima cifra di ogni “parola” doveva indicare se si trattava di un dato, indicato con “0”, o di un’istruzione indicata con “1”. Nel caso delle istruzioni, una volta riconosciute come tali non era possibile modificarne il contenuto vero e proprio, ma solo la parte dedicata all’indirizzo delle variabili. Normalmente le istruzioni venivano eseguite in successione
Tuttavia una macchina reale poteva solo avvicinarsi a quella universale e ideale di Turing: era importante che essa avesse una memoria molto grande, corrispondente al nastro potenzialmente infinito di Turing, nella quale potessero coesistere istruzioni e dati. D’altro canto, i programmi da eseguire venivano memorizzati, per la prima volta, dentro la macchina. Ma l’aspetto veramente rivoluzionario di questi calcolatori era il loro carattere generale e universale, mentre il programma memorizzato era semplicemente un mezzo.
Riga 205:
Durante la [[w:Seconda guerra mondiale|Seconda guerra mondiale]] anche in Gran Bretagna si diffuse l’esigenza di calcoli su lunga scala. Di questo progetto, si occupò l’NPL che sviluppò una divisione apposita (Mathematics Division) per centralizzare tutte le risorse da impiegare per lo sviluppo di nuovi strumenti di calcolo. John Womersley ne fu il primo responsabile e si occupò, in primo luogo, dell’arruolamento del team di collaboratori che lo avrebbe assistito nel progetto di costruzione di un calcolatore elettronico; pensò immediatamente a Turing.
La proposta di Turing era strutturata in due parti: una “Descriptive Account” e un “Technical Proposal”. In questo documento venivano descritti sia gli aspetti ingegneristici, sia gli aspetti riguardanti la programmazione. L’idea di fondo era quella di ridurre al minimo la complessità parte tecnologica e lasciare che i problemi fossero risolti dalla programmazione. Per Turing la memoria era l’elemento fondamentale, e le dimensioni previste andavano da 50 a 500 linee di ritardo a mercurio. Ogni linea doveva avere la capacità di 1024 cifre che dovevano circolare a 1024 millisecondi. Per garantire l’efficienza della macchina la memoria non doveva essere soltanto grande, ma anche facilmente accessibile; proprio per questo il modello a nastro della “Macchina Universale” non poteva essere adottato senza modifiche. Turing quindi inventò un metodo di programmazione che ottimizzava l’accesso ai dati contenuti nelle linee di ritardo. Se prima le istruzioni venivano codificate in fila dentro una stessa linea di ritardo
L’esperienza della “Macchina Universale” spingeva Turing a considerare prioritaria la definizione del sistema di programmazione della macchina che avrebbe guidato e controllato le sue operazioni.
Il metodo di programmazione si basava sula trasformazione delle operazioni complesse in una lunga successione di passi semplici. Le uniche azioni eseguibili direttamente dall’hardware erano:
|