• LinkedIn
  • Telegram
  • FB
  • FB

Magazine Intelligenza Artificiale: l'IA è più di quello che appare

Magazine Intelligenza Artificiale: l'IA è più di quello che appare

Proprietà e limiti computazionali dell’Intelligenza Artificiale e la Macchina di Turing

macchina per calcolo

Indicherò alcune nozioni di base per la comprensione della natura dell’Intelligenza Artificiale e, in generale, delle prestazioni dei moderni computer. In particolare evidenzierò alcuni limiti teorici che sono derivati da teoremi di logica matematica e che persistono comunque si sviluppi la tecnologia in futuro.

Nel 1936 Alan Turing propose un modello di macchina di calcolo, detto “macchina di Turing”, che formalizza la nozione di calcolabilità di una funzione matematica. Tale macchina è costituita da un automa con un numero finito di stati, realizzabile con un circuito elettronico che transisce di stato in base alla temporizzazione fornita da un orologio interno. Tale automa ha una testina con cui legge o scrive un carattere di un fissato alfabeto finito in una cella di un nastro costituito da una successione lineare illimitata di celle. La testina della macchina si può spostare a destra o a sinistra lungo il nastro. Quando l’automa raggiunge uno stato, tra quelli cosiddetti “finali”, l’automa restituisce in uscita la stringa di caratteri presente nel nastro a partire da una cella prefissata.

Si dimostra che la macchina di Turing può calcolare, al variare dell’automa finito, una qualsiasi funzione calcolabile, nel senso che, data in ingresso un’opportuna codifica di un numero naturale (0, 1, 2, …), essa produce in uscita la codifica del numero naturale calcolato da quella funzione. Per esempio, esiste la macchina di Turing che moltiplica per 3 un numero.

Facciamo ora alcune importanti osservazioni.

La prima è che tutte le altre proposte fatte in letteratura per formalizzare ciò che è “intuitivamente calcolabile” (tra cui la macchina di von Neumann, la macchina di Post, la logica combinatoria, ecc.)  si dimostrano equivalenti alla macchina di Turing.

La seconda osservazione è che tutto ciò che abbiamo detto e diremo circa la computazione su numeri, si applica, dopo un’opportuna codifica, a tutte le altre entità digitalizzabili: frasi, immagini, suoni, ecc.

La terza osservazione consiste nel fatto che esiste una macchina di Turing universale, chiamiamola Univ, che è costituita da un fissato automa a stati finiti e che, data comunque una qualsiasi macchina di Turing M, calcola la stessa funzione che calcola M, a patto di scrivere nella parte iniziale del nastro della macchina Univ un’opportuna sequenza di caratteri, detta “programma”, che descrive il modo di calcolare di M.

Questo programma è il “software” che fa funzionare Univ come funziona M.

La quarta osservazione consiste nel fatto che i caratteri scritti nella zona del nastro della macchina Univ, dove sta il “programma” della macchina M, possono variare in base ai risultati intermedi che si ottengono durante il calcolo.

Come conseguenza di quest’ultima osservazione si ha che non sono necessari meccanismi “extra” da aggiungere alla macchina di Turing per avere, per esempio, un programma per giocare a scacchi che sia capace di adattarsi alle mosse fatte dall’avversario, o che migliori le proprie prestazioni in base ai risultati raggiunti nelle partite precedenti.

Anche il modello di calcolo della macchina di von Neumann (proposto nel 1945) che è alla base dei moderni computer, permette di avere programmi che possono modificare se stessi durante l’esecuzione. Alcune volte chi usa i computer può avere l’impressione che essi hanno comportamenti che rispecchiano capacità dell’intelligenza umana. Ma questi comportamenti sono determinati da meccanismi già presenti nella struttura stessa della macchina di von Neumann.

Accade in questo caso una cosa simile a quella che può accadere a una persona che guida un’automobile con la frizione automatica. Egli può credere che l’automobile sia “intelligente” e cambi marcia in modo da adattare la potenza del motore alla pendenza della strada. Ma il meccanismo della frizione automatica non ha nulla di “intelligente”: è solo una macchina che segue determinate leggi fisiche.

Foto di Markus Spiske su Unsplash

Si può dimostrare che esistono funzioni per cui non esistono programmi da dare in ingresso alla macchina di Turing universale in modo tale che essa calcoli quelle funzioni. Cioè esistono funzioni che non sono calcolabili.

Una di queste funzioni non calcolabili è la funzione che, dato in ingresso il programma relativo ad una qualsiasi macchina di Turing M e il valore i di ingresso a M, termina sempre e produce in uscita “stop” se e solo se M termina per il valore i, e produce in uscita “no-stop”, altrimenti. Questo è il risultato del teorema di Turing che afferma che la fermata di un programma non è decidibile. Tale problema, infatti, è solo semi-decidibile, cioè, dati M ed i, la macchina di Turing Univ termina e produce in uscita “stop” se e solo se M termina per il valore i.

Ecco una prima conclusione: esistono funzioni non calcolabili dalla macchina di Turing e, pertanto, anche da un qualsiasi sistema di Intelligenza Artificiale, presente o futuro.

È bene sottolineare che le mosse di una macchina di Turing universale, una volta che sia dato il programma in ingresso, sono deterministiche e non c’è alcun esercizio di libertà o di volontà nel procedere della computazione. Tutto va come in una macchina che transisce di stato seguendo leggi logiche e fisiche fissate. Non c’è alcun esercizio di libertà e volontà, dal momento che non ci sono leggi logiche e fisiche che determinano l’esercizio della libertà e della volontà.

Si noti che la nozione di calcolabilità di una funzione non viene estesa se si considerano  macchine di Turing che permettono il parallel-computing, il quantum-computing, il biological-computing, e altri meccanismi similari. Tutti questi meccanismi possono, tuttavia, migliorare notevolmente le prestazioni.

E questo miglioramento delle prestazioni può essere cruciale per taluni progetti come, per esempio, l’allunaggio di una navicella spaziale. Infatti, dalla misura della distanza della navicella dalla superficie lunare, occorre calcolare in un tempo sufficientemente breve la durata di accensione dei razzi che ne frenano la discesa, altrimenti la navicella si schianterebbe sulla superficie.

Consideriamo ora cinque livelli di intelligenza: questo ci consentirà di chiarire le relazioni tra le teorie logiche e le deduzioni che è possibile fare in esse con l’ausilio di macchine di calcolo e dell’Intelligenza Artificiale. Risultati della teoria della computazione indicheranno che alcuni di questi livelli sono realizzabili dalle macchine, altri no.

Foto di rivage su Unsplash

(1) Un primo livello di intelligenza, che chiamiamo “intelligenza procedurale”, è la capacità di applicare delle regole di deduzione per cui in un tempo finito si riesce a dimostrare se una data formula sia vera oppure no. A questo livello di intelligenza appartiene la capacità di dedurre, per esempio, che date le tre formule A, B, C, si ha che, se da A deriva B, allora da A e C deriva B. Questo livello di intelligenza, in cui le computazioni si svolgono nell’ambito di una teoria formale “decidibile”, è meccanizzabile.

(2) Un secondo livello di intelligenza, che chiamiamo “intelligenza creativa”, è la capacità di applicare delle regole di deduzione in una teoria non decidibile (tecnicamente, si dovrebbe dire “semi-decidibile”), ove data una formula qualsiasi, se essa è vera, allora si riesce a dimostrarla tale in un tempo finito, e se essa non è vera, allora non riesce a dimostrarla tale in tempo finito. A questo livello di intelligenza appartiene, per esempio, la capacità di fare sillogismi, per cui, per esempio, dalle due frasi «Ogni uomo è mortale» e «Socrate è un uomo», si riesce a concludere la frase «Socrate è mortale». Anche questo secondo livello di intelligenza è meccanizzabile.

(3) Un terzo livello di intelligenza è quello capace di “inventare nuove teorie a partire da vecchie teorie” (come, per esempio, inventare la teoria della relatività a partire dalla teoria classica della fisica, oppure inventare una geometria non-euclidea a partire dalla geometria euclidea). Questo livello di intelligenza non è né decidibile né semi-decidibile ed è, pertanto, solo parzialmente meccanizzabile.

(4) Un quarto livello di intelligenza è quello di scoprire se una teoria sia adeguata alla descrizione di una realtà fisica esterna fornita come un insieme di dati sperimentali. Questo livello di intelligenza è solo parzialmente meccanizzabile.

(5) Un quinto livello di intelligenza è quello per cui si comprende il significato “interno” delle cose (intelligenza come intus-legere) e lo si relaziona al significato “interno” di altri concetti (intelligenza come inter-legare), sicché tale l’intelligenza può essere vista come il substrato della volontà libera che indirizza le azioni ad un fine, e anche come il substrato dell’autocoscienza. Questo livello di intelligenza non è meccanizzabile, perché non esiste un modello matematico della libertà e della volontà. E poiché le prestazioni elevate non si ottengono “per caso”, non è scientificamente corretto pensare di ottenere prestazioni elevate, quali quelle proprie della volontà e dell’autocoscienza, senza un adeguato modello matematico.

Infine, consideriamo alcuni interrogativi relativi alla questione mente-cervello:

È il pensiero umano riducibile a materia? I processi mentali sono riducibili a un computer?

L’intuizione matematica è riducibile a una computazione? Indichiamo solo questo risultato che è un teorema della teoria della computazione (Kurt Gödel, 1951): “Se esistesse un programma equivalente all’intuizione matematica, non si può provare che esso sia tale e non si può provare che esso sia capace di produrre solo proposizioni vere nella teoria dei numeri naturali”.

Immagine: Foto di Mauro Sbicego su Unsplash

Esplora altri articoli su questi temi