Indica un intervallo di date:
  • Dal Al

Parla con me: come distinguere un software da un umano

Ogni tanto una notizia scientifica raggiunge le prime pagine di qualche quotidiano, e le reazioni nel mondo della scienza sono duplici: entusiasmo nel vedere il proprio ambito di ricerca esposto al grande pubblico; disprezzo verso un problema troppo semplice o considerato risolto da tempo, e conseguente tentativo di sminuire la portata dell’evento in ogni conversazione. Da notare che spesso entrambe le reazioni si possono manifestare nella stessa persona.

Di qualche giorno è fa la notizia che un software russo, spacciandosi per un ragazzino ucraino (ironico no?), è riuscito ad ingannare 10 persone su 30 sulla propria identità, portando gli organizzatori dell’evento a concludere che il software-ragazzino ha passato il celebre “test di Turing”.

Un ricercatore in intelligenza artificiale ha bisogno di sapere quando ha avuto successo o no, ed il test di Turing serve proprio a rilevare forme di intelligenza in un software. Ce lo eravamo chiesti ad esempio parlando del film “Her” (Lei). La proposta di Turing, forse il più celebre tra i padri dell’informatica, è di far conversare un umano simultaneamente con una macchina e con un altro umano: se non riesce a distinguere chi dei due è una macchina, allora il software è intelligente.

turingtest

Ovviamente il test si presta a diverse interpretazioni: quante volte va ripetuto? che tipo di domande? quanto tempo per ogni conversazione (5 minuti nell’esperimento di Reading)? Teniamo presente che all’epoca di Turing non esistevano le chat, le auto era già tanto se le sapeva guidare un umano, e Asimov non aveva ancora pubblicato nessuno dei suoi libri. C’è dunque chi sostiene che questo test non abbia più alcun interesse, e bisogna riconoscere che la nozione di intelligenza che cerchiamo in una macchina si è parecchio evoluta negli ultimi cinquant’anni.

Ma il test di Turing è ancora valido, per almeno due motivi. Primo: non siamo ancora stati in grado di sviluppare un software che superi versioni più forti del test di Turing (per esempio questa famosa scommessa). In intelligenza artificiale un problema cessa di essere interessante quando viene risolto, e non è proprio il caso per il test di Turing.

In secondo luogo, facciamoci una domanda: ci interessa davvero dare una definizione di intelligenza? Non proprio. Vogliamo creare macchine che funzionino. Macchine che al comando “dipingi la facciata di questa casa” sono in grado di capire di cosa stiamo parlando, di fare la necessaria pianificazione e risolvere gli eventuali problemi che potrebbe incontrare. Come facciamo a controllare tutto questo, magari in diversi ambiti? Possiamo farlo per via ipotetica con un test di Turing, chiedendo a un software cosa farebbe se gli chiedessimo di dipingere la facciata della nostra casa, e una volta passato il test tutto si riduce a un (non proprio semplice) problema di implementazione (fornire gambe, braccia e pennello al software). D’altronde il linguaggio è l’unica porta di accesso alla mente che tuttora abbiamo tra uomini, ed ha perfettamente senso utilizzarla per accedere anche alla “mente” di un software.