giovedì 4 giugno 2020

I Teoremi di Gödel, l'IA e... un'ipotesi di lavoro! (seconda parte)

Nel post precedente (a cui rimandiamo) abbiamo introdotto i Teoremi di incompletezza di Gödel con l'obiettivo di mostrare poi (cioè in questo post) come essi ci pongano davanti ad una disgiunzione: o la mente umana è equivalente ad una macchina di Turing per quanto complessa oppure siamo in presenza di un fenomeno completamente nuovo, mai studiato prima.
Nota: vedi anche l'articolo "La disgiunzione di Gödel" di F. Beccuti.

Introduciamo quindi quella che è stata definita Macchina di Turing: in pratica questo termine indica uno qualsiasi degli attuali computer poiché essi sono realizzazioni fisiche di questa macchina ideale e universale in grado di eseguire qualsiasi algoritmo si possa formalizzare.

Come è noto si è dimostrata la perfetta equivalenza tra ogni sistema formale S e la macchina ideale di Turing: cioè è possibile programmare un computer che produca tutti e soli i teoremi di un dato sistema S e, viceversa, qualsiasi programmazione di un computer che produce formule, può essere rappresentata da un sistema formale S che derivi gli stessi risultati.

Quindi la scommessa dell'intelligenza artificiale è proprio quella di supporre che l'insieme delle capacità cognitive del nostro cervello, in particolare il processo del pensiero razionale, possa essere completamente riprodotto ed espresso da un programma evoluto per computer.

L'obiezione più nota a questo programma di ricerca è quella del filosofo Lucas nel celebre articolo "Menti, Macchine e Gödel" (del 1961):
"Data qualsiasi macchina che sia coerente e capace di fare semplice aritmetica, c'è una formula che essa è incapace di produrre come vera - cioè la formula è indimostrabile nel sistema - tuttavia noi la possiamo vedere come vera. Perciò nessuna macchina può essere un modello completo o adeguato della mente, le menti sono essenzialmente differenti dalle macchine"*.

Questa tesi segue proprio dall'argomento di incompletezza di Gödel, in particolare dal primo teorema (vedi il precedente post), ed è confermata dal Teorema di indefinibilità di Tarski (del 1936) che afferma che non è possibile definire la nozione di verità all'interno di un sistema formale.
Nota: si può definire la nozione di verità solo facendo una meta-analisi al di fuori del sistema, ad esempio usando la logica del secondo ordine.

Quindi sembrerebbe stabilita la tesi di Lucas secondo cui le nostre capacità cognitive, in particolare quelle che determinano il pensiero razionale, sono di certo superiori a quelle di una qualsiasi macchina o computer.

Tuttavia dobbiamo ricordare che il teorema di Gödel fa in effetti una affermazione che è del tutto condizionale:
"Se S è coerente allora G non è dimostrabile".
Ma la nostra mente è veramente in grado di riconoscere se un qualunque sistema formale è coerente dato che questa proprietà non può essere provata all'interno di un qualsiasi sistema?
Nota: se S non è coerente si può dimostrare G (ma anche non-G) quindi la mente potrebbe essere un sistema incoerente e dimostrare che G è vera.

Inoltre ciò dovrebbe valere per qualsiasi sitema formale (come ad esempio sistemi più complessi che includono gli assiomi dell'infinito), perciò non è detto che la mente umana riesca sempre a riconoscere che un sistema è coerente.
Nota: la mente umana potrebbe essere un sistema coerente che non può dimostrare G (e quindi è incompleta) ma che non sa di essere coerente.

Lo stesso Gödel, che non era proprio un meccanicista, affermò nella Gibbs Lecture (del 1951), che potrebbe essere che "la mente umana (nel regno della matematica pura) [...] sia dunque equivalente ad una macchina finita che è incapace di comprendere interamente il suo funzionamento".

In definitiva, chi si occupa di intelligenza artificiale o di processi cognitivi e apprendimento, è costretto a fare una ben definita scelta o ipotesi di lavoro:
a) la mente umana non è riducibile ad una macchina di Turing che computa, quindi dobbiamo studiare le sue capacità cognitive in modo del tutto nuovo, poiché non possiamo trattarla come se fosse un oggetto computazionale**;
oppure
b) il nostro cervello funziona come un computer per quanto evoluto, tuttavia se la nostra mente è coerente, siamo costretti ad accettare che ci siano dei problemi irresolubili, come ad esempio dimostrare la sua coerenza***.
Nota: per approfondire l'interessante tema mente-cervello vedi l'ottimo articolo di Paul e Patricia Churchland "Il problema mente-cervello".

(*) Per completare il sistema S potremmo aggiungere G come assioma, si otterrebbe però un sistema S' in cui c'è una nuova formula G' indecidibile e così via, senza risolvere il problema.
(**) Qui il punto è proprio quello di voler attribuire alla mente un carattere diverso da quello computazionale (e non tanto la sua eventuale somiglianza ad un computer che è solo un modello interpretativo).
(***) Se la mente segue le leggi della fisica può senz'altro essere simulata computazionalmente; in questo contesto cervello e mente sono elementi complementari: la mente (software) è una funzione del cervello (hardware).

(Per chiarimenti su questo post vedi l'ottimo video di Francesco Berto)

martedì 2 giugno 2020

I Teoremi di Gödel, l'IA e... un'ipotesi di lavoro! (prima parte)

In questo e nel prossimo post vogliamo mostrare come i due Teoremi di incompletezza di Gödel (del 1931), sebbene non vietino in alcun modo che l'intelligenza artificiale si possa realizzare (nel senso di seguito specificato), ci impongono tuttavia di operare una scelta, o meglio un'ipotesi di lavoro.

Qui con il termine Intelligenza Artificiale (IA) intendiamo un suo aspetto peculiare, secondo cui un sistema meccanico che computa potrebbe pensare in modo umano; in effetti se si suppone che la mente umana non è altro che una macchina computazionale, la tesi dell'IA ne discende direttamente.

Quindi l'IA suppone che pensare è computare e in particolare si pone l'obiettivo di realizzare una macchina che possa pensare umanamente, in modo cioè che "il processo che porta il sistema intelligente a risolvere un problema ricalchi quello umano" (vedi Wkipedia).

Tuttavia prima di introdurre i teoremi di incompletezza, dobbiamo definire cosa si intende con sistema formale (vedi Wkipedia):
"In logica matematica la nozione di sistema formale è utilizzata per fornire una definizione rigorosa del concetto di dimostrazione"; in pratica un sistema formale è un insieme di regole per costruire dimostrazioni.
Nota: si suppone che il sistema sia corretto, cioè se gli assiomi sono veri i teoremi che si deducono con le regole di inferenza sono anch'essi veri.

In breve il problema che Gödel riesce ad esprimere in modo formale nei suoi teoremi è quello dell'autoreferenza (vedi Wikipedia) che si presenta quando una proposizione fa una affermazione su se stessa in modo circolare; un problema già noto agli antichi greci come il Paradosso del mentitore.

Si consideri quindi un sistema formale S, evoluto almeno quanto quello piuttosto semplice dell'aritmetica di Peano; Gödel riesce a formalizzare all'interno del sistema S la seguente frase G che afferma (di se stessa):
(G): G non è dimostrabile in S.
Nota: grazie alla fattorizzazione in numeri primi è possibile assegnare ad una qualsiasi frase formale un numero univoco detto numero di Gödel.

Ora se si suppone che S sia un sistema formale corretto e quindi prova solo cose vere, allora G non è dimostrabile, dunque G è vera: ma allora esiste una verità G che il sistema S non può dimostrare!
Nota: se G fosse dimostrabile allora G (che dice di non essere dimostrabile) sarebbe falsa e quindi S non sarebbe corretto perché dimostra una falsità.

Inoltre se G è vera la sua negazione non-G è falsa (per definizione di negazione), ma allora il sistema S (che prova solo cose vere) non può provare nemmeno non-G: dunque l'enunciato G è indecidibile* in S!

-> Enunciamo quindi il primo teorema di Gödel (vedi Wikipedia):
In ogni teoria matematica S sufficientemente espressiva da contenere l'aritmetica, esiste una formula G tale che, se S è coerente**, allora né G né la sua negazione non-G sono dimostrabili in S.
Nota: con coerente si intende che S non è contraddittorio, d'altra parte se il sistema è corretto è anche coerente (non dimostrando falsità).

Si ricordi che se un sistema è incoerente si può dimostrare una certa proposizione P e la sua negazione non-P ma se così fosse qualsiasi proposizione potrebbe essere dimostrata vera (vedi Wikipedia): sarebbe quindi opportuno riuscire a dimostrare in modo certo la coerenza di S.

Tuttavia Gödel riuscì a mostrare formalmente che il seguente enunciato:
"Se S è coerente allora ciò implica G" 
si può dimostrare in S. Ma allora S non può dimostrare la sua coerenza altrimenti G sarebbe dimostrabile, e ciò è escluso dal primo teorema.

-> Ecco quindi il secondo teorema di Gödel (vedi Wikipedia): 
Sia S una teoria matematica sufficientemente espressiva da contenere l'aritmetica: se S è coerente, non è possibile provare la coerenza di S all'interno di S.
Nota: la coerenza dell'aritmetica fu poi dimostrata nel 1936 in ambito metamatematico da Gerhard Gentzen grazie agli ordinali transfiniti.

Nel prossimo post mostreremo come le argomentazioni espresse nei teoremi di Gödel non siano conclusive sulla possibile realizzazione dell'IA come sopra specificato, ma ci impongano una scelta ben precisa nell'approccio alla comprensione delle nostre capacità cognitive e quindi della nostra mente.

(*) Il risultato è notevole: si dimostra l'indecibilità di una formula G nel sistema S alla quale è tra l'altro collegata la coerenza di S (vedi oltre).
(**) In realtà Gödel richiese la w-coerenza di S che è più forte della sola coerenza, ma poi Rosser dimostrò che non era necessaria.

(Per chiarimenti su questo post vedi l'ottimo video di Francesco Berto)