Creatività, caos e calcolatori
di Mauro Murzi

La creatività è un elemento fondamentale del comportamento intelligente. Qualsiasi sistema che aspiri al titolo di intelligente deve esibire un qualche grado di attività creativa. Non tenterò di definire il significato di "attività creativa". Mi limito a citare i criteri, peraltro vaghi e indefiniti, indicati da A. Newell, J. C. Shaw e H. A. Simon nel loro articolo I processi del pensiero creativo.

La soluzione di problemi viene detta creativa nella misura in cui sono soddisfatte una o più delle condizioni seguenti:

  1. Il prodotto del pensiero ha caratteristiche di novità e utilità [...]
  2. Il pensiero è non convenzionale, nel senso che richiede la modifica o il rifiuto di idee precedentemente accettate.
  3. Il pensiero richiede motivazione e stabilità elevate [...]
  4. Il problema, come inizialmente viene formulato, è vago e indefinito, cosicché fa parte del compito la stessa formulazione del problema.

Voglio soffermarmi in particolare sulla prima delle precedenti condizioni, sulle caratteristiche di novità del prodotto del pensiero. Il risultato di un processo creativo non deve essere facilmente prevedibile. Un sistema il cui comportamento non mostra alcuna novità, che agisce in maniera rigida e chiaramente predeterminata, non può aspirare all'etichetta di intelligente. Si può dire che una condizione necessaria (ma certo non sufficiente) dell'intelligenza è la difficoltà di prevedere l'esito del comportamento. La non prevedibilità è, forse, un sintomo di creatività e di intelligenza. Sorge quindi la domanda: il comportamento di un calcolatore è prevedibile? In caso di risposta affermativa possiamo concludere che un calcolatore non mostrerà mai un comportamento creativo.

Il comportamento di un calcolatore è prevedibile?
La risposta appare ovvia: il comportamento di un calcolatore è prevedibile. Da un punto di vista intuitivo, sembra evidente che niente di nuovo può venire da un calcolatore; in un calcolatore non vi è niente altro che quello che i progettisti vi hanno messo dentro. Come disse Lady Lovelace  a proposito della macchina analitica di Babbage: "La macchina analitica non ha la pretesa di creare alcunché. Può fare qualsiasi cosa sappiamo come ordinarle di fare". Da un punto di vista formale, un calcolatore è un sistema deterministico, regolato da precise leggi che ne determinano l'evoluzione in modo univoco. I sistemi deterministici non hanno alcuna libertà, ma il loro comportamento è rigidamente predefinito e quindi prevedibile.

Personalmente non ritengo questi argomenti corretti e credo che un calcolatore, per essendo un sistema deterministico, possa essere non prevedibile. All'argomento intuitivo si può obiettare che spesso i calcolatori esibiscono comportamenti estranei alle intenzioni dei progettisti e risultano imprevedibili per gli utilizzatori. Ma è l'argomento formale quello più importante e interessante. Un calcolatore è un sistema deterministico: è vero che un sistema deterministico è sempre prevedibile? Cos'è un sistema deterministico? Quest'ultima domanda è la prima alla quale cercherò di rispondere.

Sistemi deterministici
Un sistema deterministico ha le seguenti caratteristiche:

  1. Esiste un insieme S di grandezze fisiche che definisce tutte le restanti grandezze fisiche (le grandezze fisiche appartenenti a S sono chiamate variabili di stato; una qualsiasi assegnazione di valori alle variabili di stato si chiama stato del sistema).
  2. L'evoluzione nel tempo dello stato del sistema avviene in modo univoco e obbligato: da uno stato qualsiasi il sistema passa sempre ad un unico stato differente. La successione degli stati del sistema è fissa e quindi se il sistema si trova, dopo un certo tempo, nel medesimo stato iniziale, percorrerà ciclicamente la medesima successione, intrappolato in un ciclo senza fine.

Un paio di esempi e qualche parola di commento possono essere utili. Un esempio ben noto di sistema deterministico è costituito da due corpi celesti che si muovono soggetti soltanto al reciproco influsso gravitazionale, quale potrebbe essere il sistema Terra-Luna pensato isolato dal resto dell'universo. In questo caso l'insieme S delle variabili di stato è costituito dalla posizione e dalla quantità di moto. Tutte le altre grandezze fisiche pertinenti (energia cinetica, energia potenziale, forza) sono esprimibili mediante queste variabili di stato. In genere qualsiasi sistema studiato dalla meccanica classica soddisfa la condizione 1. Ciò non vale nel caso della meccanica quantistica nella quale non esiste un insieme di grandezze fisiche dalle quali dipendono in modo univoco le altre. Il meglio che si può fare è determinare un insieme di grandezze dalle quali dipendono le probabilità delle altre grandezze. Lo stato del sistema non è determinato dalle variabili si stato; queste ultime forniscono solo la probabilità che il sistema sia in un certo stato (a rigore non si può parlare di variabili di stato).

Torniamo ai due corpi celesti isolati. Nel tempo essi cambiano la posizione e la quantità di moto. Il sistema evolve nel tempo. L'evoluzione del sistema è regolata da un sistema di equazioni differenziali che ammette una e una sola soluzione compatibile con lo stato iniziale. Dopo un certo tempo, i due corpi ritorneranno a occupare le medesime posizioni, con le medesime quantità di moto, e ripeteranno esattamente la loro danza.

Un secondo esempio di sistema deterministico è costituito da una rete booleana. Si tratta di un reticolo che unisce dei nodi. I nodi possono trovarsi in due stati: 0 e 1. Lo stato di un nodo dipende da quello dei nodi ai quali è collegato, mediante semplici regole basate solo su condizioni AND (il nodo è nello stato 1 se tutti i nodi collegati sono nello stato 1), OR (il nodo è nello stato 1 se almeno un nodo collegato è nello stato 1), NOT (il nodo è nello stato 1 se il nodo collegato è nello stato 0).
La figura seguente mostra una semplice rete booleana

Ecco un esempio di evoluzione di questa rete booleana a partire dallo stato A=B=C=D=0

A

B

C

D

0

0

0

0

0

1

0

1

1

0

1

1

0

0

1

0

0

1

0

0

0

1

1

1

1

0

1

0

0

1

0

0

0

1

1

1

1

0

1

0

0

1

0

0

0

1

1

1

Si noti come la successione di stati indicata in neretto si ripete indefinitamente. In effetti una rete booleana ha un numero finito di stati e quindi, dopo un tempo sufficiente, il sistema deve tornare nel medesimo stato. A questo punto il sistema percorrerà la medesima successione di stati.

Spero di avere chiarito quale sia la natura di un sistema deterministico. La domanda alla quale volevo rispondere è: un sistema deterministico è sempre prevedibile? Adesso devo spiegare cosa significa prevedere.

La previsione
Consideriamo un sistema deterministico il cui stato iniziale è noto. Prevedere il comportamento di questo sistema significa stabilire in anticipo:

a) la successione degli stati che il sistema attraversa nel corso della sua evoluzione
b) in quale stato il sistema sarà in un tempo determinato
c) se il sistema percorrerà una serie ciclica stabile di stati

Risulterà utile un breve commento. In primo luogo si noti che le previsioni devono essere fatte in anticipo, prima che il fenomeno da prevedere sia accaduto. Se la previsione arriva dopo, siamo in presenza di una spiegazione, cioè di una rigorosa deduzione del perché qualcosa è avvenuto. Se consideriamo come esempio il sistema composto da due corpi celesti ci accorgiamo che esso è prevedibile. Possiamo infatti risolvere il sistema di equazioni che descrivono l'evoluzione del sistema e quindi risolvere i problemi a e b. Noti teoremi di meccanica celeste permettono di affrontare e risolvere il problema c.

Siamo in grado di affrontare adesso il nostro quesito iniziale.

Un sistema deterministico è sempre prevedibile?
Per rispondere a questa domanda consideriamo un sistema costituito da tre corpi celesti, isolati rispetto al resto dell'universo, soggetti solo alla forza gravitazionale. Siamo di fronte ad un sistema deterministico, retto da un sistema di equazione differenziali che ammette una sola soluzione. Rispetto al precedente sistema di due corpi celesti vi è solo un piccolo problema supplementare: nessuno è in grado di calcolare la soluzione esplicita delle equazioni del moto. Nel caso del problema dei tre corpi (così si chiama il sistema appena introdotto) la soluzione delle equazioni del moto, che pure sappiamo esistere, non può essere trovata. La conseguenza è che dobbiamo usare metodi di calcolo approssimati. Sono stati sviluppati metodi altamente sofisticati, come l'integrazione numerica mediante calcolatore e la teoria delle perturbazioni. Per quanto raffinati questi metodi introducono nei calcoli dei piccoli errori. Vediamo come esempio come procede l'integrazione numerica. Noto lo stato iniziale del sistema (posizioni e quantità di moto) si calcolano le forze che si esercitano tra i tre corpi e supponendo tali forze costanti per un breve intervallo di tempo (qui si introduce l'approssimazione poiché le forze variano in modo continuo, non discreto) si calcolano posizioni e quantità di moto dopo tale breve intervallo di tempo. I valori così ottenuti sono utilizzati come un nuovo stato iniziale al quale applicare l'integrazione numerica. Questo nuovo stato iniziale è noto solo con una certa approssimazione. I metodi approssimati hanno un effetto simile a quello che si verifica quando le condizioni iniziali sono note con un certo grado di approssimazione. Al fine della prevedibilità del sistema si pone il seguente problema: variazioni piccole delle condizioni iniziali producono variazioni piccole della storia futura del sistema? Oppure variazioni piccole dello stato iniziale possono avere conseguenze tali da produrre una storia evolutiva completamente diversa? Due stati iniziali simili (molto vicini) generano evoluzioni simili (vicine a meno di un certo piccolo errore calcolabile) oppure generano evoluzioni divergenti?

Le risposte a queste domande si trovano negli scritti del matematico, fisico, ingegnere minerario e filosofo francese Jules Henri Poincaré: esistono condizioni iniziali nelle quali una piccola variazione produce un comportamento del sistema totalmente diverso. Questo fenomeno, noto come dipendenza sensibile dalle condizioni iniziali, è all'origine del caos deterministico. Un sistema deterministico può dipendere in modo così rilevante dalle condizioni iniziali da risultare non prevedibile: ogni minimo errore si amplifica al punto da rendere inattendibili le previsioni. In tal caso potrebbero non esistere cicli stabili: una piccola alterazione non verrebbe smorzata ma esaltata, portando il sistema in una nuova configurazione. Così si esprime Poincaré:

"Una causa minima, che ci sfugge, determina un effetto considerevole, del quale non possiamo non accorgerci: diciamo allora che questo effetto è dovuto al caso. Se conoscessimo con esattezza le leggi della natura e lo stato dell'universo all'istante iniziale, potremmo prevedere quale sarà lo stato di questo stesso universo ad un istante successivo. Ma quand'anche le leggi naturali non avessero per noi più segreti, potremo conoscere lo stato iniziale soltanto approssimativamente. Se ciò ci permette di conoscere lo stato successivo con la stessa approssimazione, non abbiamo bisogno d'altro, e diremo che il fenomeno è stato previsto, che esistono leggi che lo governano. Ma non sempre è così: può succedere che piccole differenze nelle condizioni iniziali generino differenze grandissime nei fenomeni finali; un piccolo errore a proposito delle prime genererebbe allora un errore enorme a proposito di questi ultimi. La previsione diventa impossibile; siamo di fronte al fenomeno fortuito."

(Poincaré: Il caso (1907), tr. it. in Geometria e caso, Bollati Boringhieri, 1995, pp.107-108)

Il caos
Il caos deterministico, scoperto alla fine dell'Ottocento da Poincaré, è stato a lungo dimenticato, per essere riscoperto negli anni sessanta dallo studioso di meteorologia Edward Lorenz, che studiava un modello molto semplice dei moti dell'atmosfera. Cito dalla voce Caos nella Enciclopedia Treccani delle scienze fisiche.

Questo modello vene utilizzato da E. Lorenz per mostrare che i moti dell'atmosfera non possono essere descritti con precisione fissata oltre un tempo in pratica breve, anche se da un punto di vista matematico i moti obbediscono a un'equazione strettamente deterministica, eventualmente anche semplice.
La rilevanza di questi risultati per le previsioni metereologiche è notevole e pone gravi dubbi di principio sull'affidabilità delle previsioni su scale di tempo lunghe (rispetto a qualche giorno): il caos sui moti dell'atmosfera pone invero limiti essenzialmente invalicabili.

Torniamo alla domanda iniziale: un sistema deterministico è sempre prevedibile? Ora possiamo rispondere in modo negativo: esistono sistemi deterministici imprevedibili a causa del caos deterministico, nonostante il loro comportamento sia rigorosamente predeterminato. E i computer? Sono soggetti al caos deterministico?

Reti boolene
Una rete booleana è un interessante esempio di computer. Cosa sappiamo sul comportamento delle reti booleane? In primo luogo un po' di terminologia. La successione degli stati attraversati dalla rete booleana si chiama traiettoria della rete. Poiché la rete ha un numero finito di stati, il sistema deve tornare in uno stato già attraversato e, da questo punto, percorrerà ciclicamente la medesima successione di stati. Cicli di questo tipo si chiamano attrattori. L'insieme degli stati che evolvono in un dato attrattore si chiama bacino d'attrazione. Un attrattore è stabile se il sistema entrato nell'attrattore e sottoposto ad una piccola perturbazione rimane in quel bacino d'attrazione. Indichiamo con N il numero dei nodi della rete e con K il numero medio dei collegamenti di un nodo. Considereremo due tipi particolari di reti booleane, quelle K=N (ogni nodo è connesso con tutti gli altri) e K=2 (ogni nodo è connesso con solo due altri nodi). Il numero degli stati diversi è 2N. La lunghezza media di un attrattore varia a seconda del tipo di rete: per reti K=N risulta radice(2N) mentre per reti K=2 vale radice(N).

La tabella seguente illustra il comportamento di una rete K=N, per valori diversi di N, riportando la lunghezza media di un attrattore e il tempo impiegato a percorrerlo nell'ipotesi che il sistema attraversi 109 stati al secondo (109 stati/sec = 1000 Mhz).

Nodi

Lunghezza media di un attrattore

Tempo impiegato a percorrere l'attrattore

10

10

10-8 sec

100

1015

106 sec » 11 giorni

200

1030

1021 sec » 30.000 miliardi di anni

Si consideri un calcolatore con soli 200 byte nel quale il valore di ciascun byte dipende dagli altri 199 medianti semplici funzioni booleane. Un tale calcolatore potrebbe impiegare 30.000 miliardi di anni prima di tornare al medesimo stato. Il suo comportamento non è per nulla prevedibili e privo di novità.

Perché allora i calcolatori sembrano stupidi? Perché di fatto esiste un basso livello di interconnessione: di solito un byte dipende da pochi altri byte (K<<N); anzi tipicamente K=2. Ecco la tabella per K=2.

Nodi

Lunghezza media di un attrattore

Tempo impiegato a percorrere l'attrattore

100

10

10-8 sec

200

14

10-8 sec

106

1000

10-6 sec

109

3 · 104

3 · 10-5 sec

1018

109

1 sec

Un calcolatore con 109 byte (1 gigabyte) ritornerebbe al medesimo stato dopo un tempo brevissimo: apparirebbe "congelato", immobile, in un eterno stato stazionario privo di qualsiasi novità. E' tuttavia evidente che un calcolatore in genere non è così stupido: perché? Perché di solito un calcolatore non è un sistema isolato ma interagisce con l'ambiente esterno, rappresentato dagli esseri umani che lo usano. Queste interazioni svolgono il ruolo di perturbazioni casuali che alterano l'evoluzione deterministica rendendo accessibili stati normalmente non permessi. E' quello che a una scala ben maggiore avviene nel cervello.

Il cervello è probabilmente un sistema deterministico che a causa delle continue interazioni con l'ambiente può accedere a stati altrimenti proibiti, sperimentando gli effetti del caos deterministico, risultando quindi imprevedibile e anche creativo.

Queste considerazioni suggeriscono che un calcolatore potrebbe esibire una qualche forma di comportamento creativo (o almeno di comportamento con novità) a condizione di

a) disporre di un alto grado di interconnessione
b) interagire con l'ambiente

Non conta la velocità di elaborazione o la quantità di memoria: bisogna avere molte connessioni interne e dei buoni organi di senso.

Nota bibliografica
Sui fondamentali contributi di Poincaré allo studio del problema dei tre corpi e alla scoperta del caos deterministico si può consultare di Umberto Bottazini, Poincaré: il cervello delle scienze razionali, collana "i grandi della scienza", n. 7 febbraio 1999, editore Le Scienze.

Sul caos e sulle sue applicazioni in specifici campi scientifici si veda:

Siti internet dedicati al caos:
Making Order Out of Chaos

Uno studio pioneristico sulla creatività nell'uomo e nelle macchine è l'articolo di Newell A., Shaw J. C. e Simon H. A. (quest'ultimo premio Nobel per l'economia nel 1978) intitolato I processi del pensiero creativo (1962), reperibile nell'antologia a cura di Somenzi e Cordeschi, La filosofia degli automi, Boringhieri, 1994, pp. 204-249.

Sulla natura delle teorie deterministiche:
Nagel E., La struttura della scienza, Feltrinelli, 1984 (edizione originale inglese 1961), in particolare il capitolo 10 intitolato Causalità e indeterminisimo nelle teorie della fisica.