Il test di Turing è un metodo escogitato da Alan Turing per determinare se un certo computer è in grado di pensare come un essere umano.

Nella versione originale, il test comprende tre terminali: due sono gestiti da esseri umani e il terzo è gestito da un computer. Ogni terminale è fisicamente separato dagli altri due. Un uomo è designato come l'interrogante, la seconda persona ed il computer sono gli intervistati. L'interrogante pone una domanda sia all'uomo che alla macchina secondo un formato specificato ed all'interno di un preciso contesto.

L'interrogante deve scoprire quale terminale è gestito dall'uomo e quale dal computer. Il test viene ripetuto più volte e se l'interrogante non individua la risposta data dall'uomo almeno nella metà delle volte, il computer viene equiparato alla mente umana.

In alcuni casi specifici, il computer può rispondere molto meglio e più velocemente di un essere umano. Google, Yahoo, AltaVista sono esempi ben conosciuti in tutto il mondo di sistemi 'intervistati' ma richiedono che la domanda sia formulata in modo rigido. L'IBM ha sviluppato il sistema Watson per rispondere alle domande di uno show televisivo - chiamato Jeopardy! - che vengono poste nell'inglese usuale. Nel 2011 ha superato due precedenti vincitori del quiz vincendo 1 milione di dollari.

Il test di Turing - sebbene ingegnoso - è stato molto criticato, perché restrittivo; cioè l'intelligenza umana è una abilità ben più poliedrica del semplice rispondere a domande. Le macchine forniscono prestazioni assai brillanti, ed il test di Turing non può considerarsi esaustivo. L''intelligenza artificiale' nel senso pieno del termine appare una meta non esattamente alla portata dei sistemi digitali.

 

 

anno 2013

213. Nell'anno di Turing ho sentito parlare del "Test di Turing",

214. Il 'layering' di un mio programma è stato criticato.

Di regola un programma viene diviso in moduli (vedi risposta risposta 198) e questi sono collegati secondo un ordine gerachico o stratificazione, in inglese layering.

La comunicazione tra uno strato e l'altro è abbastanza semplice nei programmi di calcolo i quali assumono la classica forma ad 'albero

 

Se il programma esplica una funzione comunicativa - ad esempio presenta una serie di schermate - allora è facile che i collegamenti siano più complessi con salti tra vari livelli.

Tuttavia il programmatore deve evitare strutture oltremodo intricate che finiscono per andare fuori controllo. Il rimedio più usuale consiste nel creare moduli più grandi così da semplificare il layering. Ad esempio la precedente struttura si può semplificare in quattro blocchi dove i moduli in basso racchiudono i nove precedenti.

Come esempio ricordo che i programmi di comunicazione OSI (Open System Interconnection) ed Internet sono ordinati su strati. Il famoso TCP/IP è un insieme di programmi che forniscono funzioni di trasporto e di indirizzamento di rete i quali sono disposti su due strati. 
 

  

 

anno 2013