Stato, transizione, traiettoria
Per predire dove va un sistema non serve la sua storia intera: ne basta un riassunto. Quel riassunto si chiama stato, e questo capitolo spiega come trasforma una storia in una geometria che si può guardare.
Perché questo capitolo
Sezione intitolata “Perché questo capitolo”Prova a descrivere cosa sta facendo un sistema che cambia nel tempo. La via istintiva è raccontarne la storia: “ha fatto questo, poi quello, poi quest’altro”. Funziona come resoconto, ma è inservibile per la cosa che davvero interessa, cioè predire il futuro. La storia è troppo lunga, e quasi tutta irrilevante. Per sapere dove andrà una pallina che rotola in una valle non serve sapere da quale cima è partita due ore fa: bastano la sua posizione e la sua velocità adesso.
Quel “bastano” è il punto di tutto il capitolo. Esiste, per quasi ogni sistema, una quantità minima di informazione che, se la conosci al presente, ti permette di predire l’evoluzione futura senza dover conoscere nient’altro del passato. Quella quantità minima ha un nome: si chiama stato. Trovare lo stato giusto di un sistema vuol dire trovare esattamente ciò che va ricordato e ciò che si può buttare via.
Per chi costruisce sistemi AI il concetto non è una curiosità astratta: la parola “stato” è ovunque, e quasi sempre indica questa stessa idea. Lo “stato” di un Markov Decision Process nel reinforcement learning. Lo “stato nascosto” di una rete ricorrente. Lo “stato” dei modelli a spazio di stato come S4 e Mamba. La KV-cache di un transformer, descritta come una forma di stato. Lo “stato dell’agente”, cioè la sua memoria e il suo contesto.
Sono tutte declinazioni dello stesso concetto, ma con un avvertimento importante: alcune sono la stessa cosa nel senso formale stretto, altre sono solo somiglianze utili. Avere il concetto pulito serve a vedere quali sono quali, ed è qui che si gioca la differenza fra una buona intuizione e un’analogia che inganna. Una parte centrale di questo capitolo è proprio imparare a distinguere, caso per caso, quando “stato” è la stessa cosa e quando è solo una metafora comoda.
C’è poi un secondo guadagno, geometrico. Una volta che hai lo stato, la dinamica di un sistema smette di essere una storia che scorre nel tempo e diventa una forma che si può disegnare: una traiettoria in uno spazio. Sistemi che sembrano diversissimi rivelano la stessa struttura quando li guardi così. Un agente che entra in un loop e una pallina che cade in una valle sbagliata sono, geometricamente, la stessa cosa. Questo capitolo costruisce quella vista.
E c’è un terzo guadagno, diagnostico, che vale per chi mette sistemi in produzione. Quando qualcosa va storto, la domanda istintiva è “cosa è andato storto in questo istante”. La vista per stato e traiettoria suggerisce una domanda diversa e spesso più produttiva: “da quale stato sono partito, e la regola di transizione mi stava già portando lì”. Un sistema che fallisce raramente fallisce per un evento isolato; più spesso era già su una traiettoria che puntava al fallimento, e l’evento visibile è solo il punto in cui la traiettoria ha incrociato il muro. Saper distinguere “lo stato iniziale era sbagliato” da “la regola è sbagliata” da “l’input esterno ha spinto il sistema fuori rotta” è esattamente ciò che la rappresentazione in spazio di stato rende possibile.
Contesto
Sezione intitolata “Contesto”L’idea di stato nasce due volte, da due tradizioni diverse, e per capirla conviene visitarle entrambe. Ma prima vale la pena dire cosa c’era prima, perché il concetto di stato non è nato nel vuoto.
La meccanica di Isaac Newton, nel Seicento, aveva già un’idea implicita di stato: dato dove sono e come si muovono adesso i corpi di un sistema (le loro posizioni e velocità), le leggi del moto determinano tutto il futuro. Il marchese di Laplace, matematico francese, ne diede nel 1814 la formulazione estrema e famosa: un’intelligenza che conoscesse posizione e velocità di ogni particella dell’universo potrebbe calcolare l’intero futuro e l’intero passato. È il “demone di Laplace”, e dentro di esso c’è già, in nuce, l’idea di stato: il presente — se descritto in modo abbastanza completo — contiene il futuro. Quello che mancava era il modo di studiare questa idea quando le equazioni non si lasciano risolvere, e il modo di trasformarla in uno strumento ingegneristico. Le due nascite che seguono colmano esattamente queste due lacune.
La prima nascita è nella matematica della fine dell’Ottocento. Henri Poincaré (1854-1912), matematico e fisico francese fra i più influenti del suo tempo, stava lavorando intorno al 1890 al problema dei tre corpi: prevedere il moto di tre masse che si attraggono per gravità — per esempio Sole, Terra e Luna. Il problema a due corpi era risolto da Newton da due secoli. Quello a tre corpi resisteva, e Poincaré scoprì perché: le equazioni non hanno una soluzione esprimibile con una formula chiusa.
Di fronte a quel muro, Poincaré fece una mossa che ha cambiato la matematica. Se non puoi calcolare la traiettoria esatta, smetti di cercarla — e studia invece la geometria qualitativa dell’insieme di tutte le traiettorie possibili. Non “dove sarà il pianeta fra mille anni”, ma “che forma ha l’insieme di tutti i destini possibili del sistema”: ci sono orbite chiuse? ci sono punti di equilibrio? le traiettorie vicine restano vicine o divergono? Nel suo memoir sul problema dei tre corpi (pubblicato su Acta Mathematica nel 1890, e poi sviluppato nei tre volumi Les Méthodes Nouvelles de la Mécanique Céleste, 1892-1899) compare anche la prima descrizione matematica di un comportamento che oggi chiamiamo caotico. Poincaré sposta l’attenzione dal calcolo della singola traiettoria alla forma dell’insieme di tutte: è la nascita del pensiero per “spazio degli stati”.
La seconda nascita è ingegneristica, e arriva settant’anni dopo. Rudolf E. Kalman (1930-2016), ingegnere e matematico ungherese-statunitense, intorno al 1960 porta questo modo di pensare dentro la teoria del controllo, la disciplina che studia come governare un sistema — un aereo, un impianto chimico, un razzo.
La teoria del controllo classica, fino ad allora, lavorava nel dominio della frequenza, con uno strumento chiamato funzione di trasferimento. Era comodo per sistemi semplici, a un ingresso e un’uscita, ma diventava inadeguato per i sistemi multivariabili e tempo-varianti che l’industria aerospaziale, in piena corsa spaziale, stava rendendo urgenti. Serviva un altro linguaggio.
In una serie di lavori del 1960 Kalman riformula tutto attorno a un vettore di stato interno e a un’equazione che descrive come quel vettore evolve. Negli stessi anni introduce le nozioni di controllabilità e osservabilità (quanto dello stato posso governare con gli input, quanto posso ricostruire dalle misure — temi del capitolo osservabilita-controllabilita (in preparazione)) e il filtro che porta il suo nome. Il 1960 è spesso indicato come l’anno di nascita della teoria moderna dei sistemi.
Il filo che lega le due nascite: Poincaré fornisce il modo di pensare — la geometria nello spazio degli stati — e Kalman lo trasforma in un formalismo operativo — il vettore di stato che evolve secondo una regola.
Questo capitolo eredita da entrambi, e i sistemi AI ereditano da questo capitolo: il vocabolario qualitativo (traiettorie, attrattori, bacini) viene da Poincaré, il formalismo (stato come vettore, regola di transizione) viene da Kalman. I capitoli precedenti della Parte IX — Sistema, ambiente, confine, stato: il vocabolario di base e Sistemi aperti, chiusi, dissipativi — hanno già usato la parola “stato” in modo informale. Qui la rendiamo precisa.
L’intuizione
Sezione intitolata “L’intuizione”Prima di qualsiasi formula, due modi distinti di afferrare cos’è lo stato. Il primo parte da una domanda pratica: cosa va salvato. Il secondo da un’immagine geometrica: un paesaggio con una pallina. Conviene tenerli entrambi, perché il primo dice cosa è lo stato e il secondo dice come si comporta.
Primo angolo: il salvataggio del videogioco
Sezione intitolata “Primo angolo: il salvataggio del videogioco”Immagina di dover mettere in pausa un sistema, andartene, e farlo riprendere da qualcun altro — magari su un altro computer — senza che nulla si accorga dell’interruzione. Cosa scrivi sul foglietto da consegnare?
Non scrivi la cronologia di tutto ciò che è successo: sarebbe lunghissima e in gran parte inutile. Scrivi il minimo che serve a ripartire. In un videogioco, un buon file di salvataggio contiene la posizione del personaggio, il suo inventario, i progressi sbloccati, la salute. Non contiene la registrazione di ogni partita giocata fino a quel momento. Se il salvataggio basta a riprendere il gioco indistinguibile da come l’avevi lasciato, allora hai catturato lo stato.
Lo stato è esattamente questo: il riassunto minimo e sufficiente. Minimo, perché tutto ciò che è ridondante — derivabile dal resto — va escluso. Sufficiente, perché se togli ancora qualcosa il sistema non riprende più uguale. Lo stato è il punto preciso in mezzo fra “troppa informazione” (la storia intera) e “troppo poca” (un futuro che diventa impredicibile).
Un esempio rende netta la frontiera. Considera un pendolo. Se descrivi il suo stato solo con la posizione — l’angolo rispetto alla verticale — non basta: lo stesso angolo può essere attraversato mentre il pendolo va verso destra o mentre va verso sinistra, e i due futuri sono diversi. La posizione da sola non determina l’evoluzione.
Aggiungi la velocità: ora lo stato è la coppia (angolo, velocità angolare), e da questa coppia il futuro è completamente determinato. La velocità era la “memoria” che mancava. Lo stato giusto del pendolo sono due numeri, non uno e non tre — uno è troppo poco, tre sarebbe ridondante.
Questo “il futuro dipende solo dallo stato presente” ha un nome tecnico: proprietà di Markov dello stato. Dato lo stato adesso, il passato non aggiunge nulla alla predizione del futuro. La parola rimanda alle catene di Markov, dove la stessa idea compare nella sua forma più pulita: il prossimo nodo dipende solo dal nodo corrente.
C’è un punto sottile, e ignorarlo è una delle confusioni più comuni. La proprietà di Markov non è una proprietà del sistema fisico: è una proprietà della scelta delle variabili di stato. Il pendolo “non è markoviano” se descritto solo dalla posizione, ed “è markoviano” se descritto da posizione e velocità. Lo stesso sistema, due descrizioni, due risposte.
Quasi ogni sistema diventa markoviano se includi abbastanza nello stato: trovare un buon stato vuol dire trovare quel set minimo di variabili che rende il futuro leggibile dal presente. Quando senti dire che un sistema “non rispetta Markov”, la traduzione quasi sempre corretta è “lo stato con cui lo stiamo descrivendo è incompleto”.
Secondo angolo: il paesaggio e la pallina
Sezione intitolata “Secondo angolo: il paesaggio e la pallina”Il primo angolo dice cosa contiene lo stato. Il secondo dice come si muove, e lo fa con un’immagine.
Pensa allo spazio di tutti gli stati possibili come a un paesaggio: una superficie con valli, colline, versanti. Ogni punto del paesaggio è uno stato possibile del sistema. Il sistema, a ogni istante, è una pallina posata da qualche parte su quel paesaggio.
La dinamica — la regola che dice come il sistema evolve — è la pendenza del terreno. In ogni punto, il paesaggio ha una pendenza che spinge la pallina in una certa direzione. Lascia andare la pallina e seguila: il percorso che traccia mentre rotola è la traiettoria del sistema.
In questa immagine ogni concetto del capitolo trova un posto fisico. Il fondo di una valle è uno stato in cui la pallina, una volta arrivata, resta: un equilibrio stabile, un attrattore. La cima di una collina è anch’essa uno stato di quiete, ma instabile: posa la pallina esattamente in cima e in teoria resta, ma il minimo spostamento la fa precipitare.
I due versanti che scaricano in due valli diverse sono i bacini di attrazione: l’insieme dei punti di partenza che portano a un dato attrattore. Il crinale che li separa è il confine fra i bacini — da che parte del crinale posi la pallina decide il suo destino. Tutta la dinamica del sistema, in questa metafora, è già scritta nella forma del terreno.
Questa immagine rende visibile una cosa che la storia raccontata a parole nasconde: in un sistema, dove parti conta. Due palline posate a un centimetro di distanza, ma su lati opposti di un crinale, finiscono in valli diverse. La traiettoria non è decisa solo dalla regola: è decisa dalla regola più lo stato iniziale.
Va detto subito un limite di questa metafora, per onestà. Il paesaggio con la pallina che rotola in discesa è fedele per un’ampia classe di sistemi — quelli “dissipativi”, che perdono energia e si calmano — ma non per tutti. Alcuni sistemi hanno traiettorie che girano in tondo per sempre, o che si avvolgono su forme che non sono né valli né cime. La metafora del paesaggio è un ottimo punto di partenza; più avanti nel capitolo la integreremo con i casi che non ci stanno dentro.
Terzo angolo: lo stato come compressione della storia
Sezione intitolata “Terzo angolo: lo stato come compressione della storia”C’è un terzo modo di vedere lo stato, più astratto dei primi due ma utile a chi pensa in termini di informazione. Lo stato è il risultato di una compressione della storia: una funzione che prende l’intera sequenza degli eventi passati e la riduce a un oggetto piccolo, conservando solo ciò che serve a predire il futuro e scartando il resto.
La parola tecnica per questa idea, presa dalla statistica, è statistica sufficiente: una quantità calcolata dai dati che cattura tutta l’informazione rilevante per uno scopo, così che, una volta che hai quella quantità, i dati grezzi non ti servono più. Lo stato è una statistica sufficiente della storia rispetto allo scopo “predire il futuro”.
Un esempio che rende l’idea concreta è il saldo di un conto corrente. La storia completa di un conto è la lista di tutte le transazioni, lunga quanto la vita del conto. Ma per sapere quale sarà il saldo dopo il prossimo movimento non serve quella lista: basta il saldo corrente, un solo numero.
Il saldo è la compressione della storia delle transazioni — perde l’informazione su quando e perché il denaro si è mosso, e conserva l’unica cosa che conta per la predizione, quanto ce n’è ora. Migliaia di transazioni collassano in un numero senza perdita, perché tutto ciò che la storia aveva di predittivamente utile è già dentro quel numero.
Questo angolo chiarisce perché lo stato è minimo e sufficiente insieme: minimo perché la compressione butta via tutto il superfluo, sufficiente perché la compressione non butta via nulla di utile. È anche l’angolo che rende leggibile il ponte verso l’AI: l’hidden state di una rete ricorrente e lo stato di un modello a spazio di stato sono, per costruzione, tentativi di comprimere una sequenza in un vettore di taglia fissa. La domanda “questa architettura ricorda abbastanza?” è la domanda “questa compressione è davvero sufficiente, o sta scartando qualcosa che serviva?”.
La meccanica
Sezione intitolata “La meccanica”Adesso i tre oggetti del titolo — stato, transizione, traiettoria — in forma precisa, più lo spazio in cui vivono.
Lo spazio degli stati
Sezione intitolata “Lo spazio degli stati”Lo spazio degli stati (in inglese state space) è l’insieme di tutte le configurazioni che il sistema può assumere. Ogni stato è un punto; lo spazio è la collezione di tutti i punti.
Per il pendolo lo stato è la coppia (angolo, velocità angolare), quindi lo spazio degli stati è un piano: due assi, uno per ciascuna delle due variabili. Per un punto materiale che si muove nello spazio fisico tridimensionale, lo stato è (posizione in 3D, velocità in 3D): sei numeri, e lo spazio degli stati ha sei dimensioni. In generale, se lo stato è fatto di variabili reali, lo spazio degli stati è (un sottoinsieme di) , lo spazio dei vettori a componenti.
Il numero ha un significato concreto: è il numero di variabili indipendenti necessarie a fissare completamente lo stato, cioè i gradi di libertà del sistema. È una misura di quanta memoria serve a descrivere il sistema istante per istante. Un pendolo ha due gradi di libertà; un saldo di conto corrente ne ha uno.
Non tutti gli spazi degli stati sono continui. Una catena di Markov a stati discreti ha per spazio degli stati un insieme di punti separati — finito o numerabile. Gli scacchi hanno per spazio degli stati l’insieme di tutte le configurazioni legali della scacchiera: discreto, finito, ma con un numero di elementi stimato attorno a . Discreto o continuo, l’idea è la stessa: lo spazio degli stati è la mappa di tutto ciò che il sistema può essere.
Un esercizio utile è imparare a contare le dimensioni di uno spazio degli stati a partire dalla descrizione del sistema, perché è la prima cosa che si fa quando si modella. Due masse collegate da una molla che oscillano lungo una linea: ciascuna ha una posizione e una velocità lungo quella linea, quindi quattro numeri, spazio degli stati a quattro dimensioni. Un termostato che può essere acceso o spento e una temperatura ambiente: uno stato misto, una variabile discreta (acceso/spento) e una continua (la temperatura). Una rete neurale ricorrente con un vettore nascosto di 512 componenti: lo spazio degli stati ha 512 dimensioni. Contare le dimensioni è contare quanti numeri indipendenti servono per dire “ecco esattamente dov’è il sistema adesso”.
Una nota terminologica utile, perché si incontrano due nomi per lo stesso oggetto. In meccanica classica lo spazio degli stati — costruito con posizioni e velocità (o momenti) — si chiama tradizionalmente spazio delle fasi (in inglese phase space). Nella teoria del controllo, dopo Kalman, si chiama spazio di stato. Stesso concetto, due tradizioni. In questo capitolo useremo “spazio degli stati”, ma quando incontri “ritratto di fase” o “spazio delle fasi” sai che si parla della stessa cosa.
La transizione: la regola che fa cambiare lo stato
Sezione intitolata “La transizione: la regola che fa cambiare lo stato”Avere lo stato e lo spazio degli stati non basta. Serve la regola di transizione: la funzione che dice come lo stato cambia. Qui le strade si dividono in due, a seconda di come si modella lo scorrere del tempo.
Tempo discreto. Il tempo avanza a passi: . La dinamica è una funzione di transizione:
In parole povere: lo stato al passo successivo, , è una funzione dello stato corrente e dell’input corrente . Il simbolo è lo stato (un vettore nello spazio degli stati); è l’input, cioè tutto ciò che entra nel sistema dall’esterno e ne influenza l’evoluzione; è la regola. Se il sistema non riceve input — si dice allora autonomo — la regola si semplifica in . Per generare la traiettoria si applica ripetutamente: dallo stato iniziale si ottiene il secondo, dal secondo il terzo, e così via. Questo è il modello naturale per il software, le simulazioni, i giochi a turni, e — punto centrale per noi — per i Markov Decision Process e le reti ricorrenti.
Conviene vedere la cosa con numeri, perché la formula è astratta ma il meccanismo è banale. Prendi il sistema autonomo più semplice possibile: lo stato è un singolo numero e la regola è . Parti da .
Il passo successivo è . Poi . Poi , poi , poi . La traiettoria è la sequenza e si vede a occhio dove sta andando: si avvicina a senza mai superarlo.
Quel è il punto fisso del sistema — è il valore che soddisfa — ed è un punto fisso stabile, perché qualunque punto di partenza ci converge. In sei moltiplicazioni e cinque addizioni hai generato una traiettoria e trovato un attrattore. Iterare una funzione di transizione non è più complicato di così; il resto del capitolo è capire che forma assumono queste traiettorie quando la funzione è più ricca.
Tempo continuo. Il tempo scorre senza scatti. La regola non può più dire “dove sarà lo stato al prossimo passo”, perché non esiste un prossimo passo. Dice invece, per ogni stato, in che direzione e quanto velocemente lo stato si sta muovendo in quell’istante. La regola è un’equazione differenziale:
In parole povere: la velocità di variazione dello stato, , è una funzione dello stato corrente. Qui non restituisce un nuovo stato, restituisce un vettore-velocità: per ogni punto dello spazio degli stati, assegna una freccia che dice dove e quanto in fretta il sistema si muove se si trova lì. L’insieme di tutte queste frecce è il campo vettoriale del sistema. La traiettoria è la curva che si ottiene “seguendo le frecce”: parti da uno stato iniziale e lasciati trasportare dal campo. Questo è esattamente l’oggetto del capitolo ODE a intuizione per dinamiche e controllo: un’equazione differenziale è precisamente “una regola che dice come cambia lo stato”, e risolverla vuol dire trovare la traiettoria.
Tempo discreto e tempo continuo sono due modi di scrivere la stessa idea: il sistema ha uno stato, una regola governa come cambia. Quale dei due si usa dipende dal sistema e da cosa è comodo. Software, giochi, MDP: discreto. Fisica, circuiti elettrici, controllo classico: continuo. Si passa dall’uno all’altro per discretizzazione: il modo più semplice è il metodo di Eulero,
che in parole dice “il prossimo stato è quello attuale più un piccolo passo nella direzione indicata dal campo vettoriale”. Vale la pena tenere a mente questa formula: più avanti vedremo che è esattamente così che un modello a spazio di stato continuo come S4 viene reso eseguibile su un computer, che lavora per forza a passi discreti.
Stato e uscita: ciò che il sistema è e ciò che mostra
Sezione intitolata “Stato e uscita: ciò che il sistema è e ciò che mostra”C’è una distinzione che Kalman mise al centro della sua formulazione e che vale la pena anticipare, perché previene un fraintendimento. Lo stato è ciò che il sistema è internamente. L’uscita (in inglese output) è ciò che il sistema mostra all’esterno, ciò che si può misurare. Non sono la stessa cosa.
Nella forma completa della rappresentazione in spazio di stato, accanto all’equazione di transizione c’è una seconda equazione, quella di uscita: , l’uscita è una funzione dello stato. Spesso non è invertibile — l’uscita rivela solo una parte dello stato. Un termometro fuori dalla finestra misura una temperatura; lo stato del sistema atmosferico ha milioni di variabili. L’uscita è una finestra stretta su uno stato grande.
Questa distinzione apre la domanda — centrale per Kalman e per il capitolo osservabilita-controllabilita (in preparazione) — di quanto dello stato si possa ricostruire a partire dalle sole uscite osservate. È anche la domanda che torna, in forma pratica, quando si fa debugging di un sistema AI: i log sono l’uscita, non lo stato; ciò che vedi non è ciò che il sistema è. Tenere separati i due concetti — stato interno e uscita osservabile — è una delle abitudini mentali più utili che la teoria dei sistemi insegna.
La traiettoria
Sezione intitolata “La traiettoria”La traiettoria (o orbita) è la curva che lo stato traccia nello spazio degli stati mentre il sistema evolve. È la storia del sistema vista come geometria.
La differenza con il grafico temporale a cui si è abituati merita attenzione, perché confonderli è un altro errore comune. Un grafico temporale mette il tempo su un asse e una variabile sull’altro: è un segnale, “valore in funzione del tempo”. La traiettoria nello spazio degli stati non ha il tempo su nessun asse: gli assi sono le variabili di stato, e il tempo è il parametro nascosto che fa scorrere il punto lungo la curva.
Il vantaggio della vista nello spazio degli stati è che cattura la struttura della dinamica indipendentemente da quando le cose accadono. Due sistemi che fanno la stessa identica cosa, ma uno al doppio della velocità dell’altro, hanno la stessa traiettoria — percorsa più o meno in fretta.
Un comportamento periodico, qualunque sia il suo periodo, appare sempre come una curva chiusa. La forma conta, la velocità con cui la si percorre è un dettaglio separato. È per questo che la traiettoria è l’oggetto giusto su cui ragionare quando interessa il che cosa fa il sistema, e non il quando lo fa.
Le traiettorie hanno una proprietà che vale la pena enunciare, perché è alla base di tutto ciò che segue. In un sistema deterministico e autonomo — regola fissa, nessun input casuale — due traiettorie non si intersecano mai. Il motivo è diretto: se due traiettorie si incrociassero in un punto, da quel punto il sistema avrebbe due futuri diversi, e questo contraddice il determinismo, perché lo stato (cioè il punto) determina il futuro in modo univoco. C’è un solo modo in cui una traiettoria può “raggiungere” un’altra: avvicinarvisi sempre di più senza toccarla mai, per esempio avvolgendosi attorno a un ciclo o tendendo a un punto.
Il ritratto di fase
Sezione intitolata “Il ritratto di fase”Una singola traiettoria racconta un solo destino, quello a partire da un dato stato iniziale. Spesso interessa di più la mappa completa: cosa succede a partire da qualunque punto. Quella mappa è il ritratto di fase (in inglese phase portrait).
Il ritratto di fase si ottiene disegnando il campo vettoriale su tutto lo spazio degli stati, insieme a un campionario di traiettorie tipiche. È lo strumento qualitativo che Poincaré introdusse: invece di calcolare una soluzione, si guarda la geometria di tutte. La convenzione di lettura è standard: i punti di equilibrio si segnano come pallini pieni se stabili e come cerchietti vuoti se instabili; le traiettorie si disegnano come curve con frecce che indicano il verso in cui scorre il tempo.
Guardando un ritratto di fase si legge a colpo d’occhio dove il sistema va a finire, da qualunque punto parta. È una mappa completa dei destini, non una previsione singola. Il valore di questa vista è che cattura tutto in una sola immagine: dove sono gli equilibri, quali sono stabili, da quali zone il sistema scivola verso quale destino. Domande che, a partire dalle formule, richiederebbero un calcolo separato per ogni stato iniziale, dal ritratto di fase si rispondono guardando. È per questo che Poincaré poté studiare un sistema che nessuno sapeva risolvere: rinunciò ai numeri e tenne la forma.
Punti fissi: gli stati che non cambiano
Sezione intitolata “Punti fissi: gli stati che non cambiano”Un punto fisso (o equilibrio) è uno stato che, una volta raggiunto, non cambia più. La definizione precisa dipende dal tempo. In tempo discreto, un punto fisso è uno stato tale che : applicare la regola lo lascia dov’è. In tempo continuo, è uno stato tale che : la velocità è nulla, il campo vettoriale si annulla, niente spinge il sistema. In entrambi i casi: lascia il sistema in e ci resta.
Trovare i punti fissi è quindi un esercizio diretto: si scrive l’equazione che li definisce e la si risolve. Riprendi il sistema numerico di prima, . Il suo punto fisso è il valore tale che . Risolvendo: , cioè , cioè . Confermato dal fatto che la traiettoria che avevamo calcolato — — si avvicinava proprio a 6. Un sistema può avere zero punti fissi, uno, diversi, o infiniti; trovarli tutti è il primo passo per disegnarne il ritratto di fase, perché i punti fissi sono lo scheletro attorno a cui si organizza tutto il resto della dinamica.
Stabilità: cosa succede se lo perturbi
Sezione intitolata “Stabilità: cosa succede se lo perturbi”Sapere che uno stato è di equilibrio non basta: la domanda decisiva è cosa succede se il sistema viene spostato di poco da lì. Da qui la distinzione fra equilibri stabili e instabili.
Un equilibrio è stabile (si dice anche attrattivo, o “pozzo”) se, spostando leggermente il sistema da lì, il sistema ci ritorna. È la pallina sul fondo della valle: dalle un colpetto e risale dal versante, poi ridiscende. Un equilibrio è instabile (“sorgente”) se una piccola perturbazione cresce e il sistema se ne va. È la pallina in cima alla collina, o una matita in equilibrio sulla punta: in teoria resta, in pratica il minimo disturbo la fa precipitare.
Esistono casi intermedi che vale la pena nominare. Un centro è un equilibrio attorno a cui le traiettorie girano in orbite chiuse, senza né avvicinarsi né allontanarsi: è il caso del pendolo ideale senza attrito, che oscilla per sempre con la stessa ampiezza. Una sella è un equilibrio attrattivo lungo una direzione e repulsivo lungo un’altra: il sistema sembra avvicinarsi, poi devia e se ne va — è la geometria di un crinale fra due valli.
Per i sistemi lineari la stabilità di un equilibrio si legge da una quantità precisa: gli autovalori della matrice che descrive la dinamica. Senza entrare nei dettagli — che appartengono al capitolo Autovalori e autovettori a intuizione e a equilibrio-stabilita (in preparazione) — la regola è: autovalori con parte reale negativa indicano contrazione, quindi stabilità; con parte reale positiva indicano espansione, quindi instabilità.
Attrattori: dove il sistema va a finire
Sezione intitolata “Attrattori: dove il sistema va a finire”Un attrattore è l’insieme di stati verso cui il sistema tende a lungo termine, una volta che il transitorio iniziale si è esaurito. È “dove il sistema si stabilizza”. Ce ne sono tre tipi principali, ed è qui che la metafora del paesaggio va ampliata.
Il primo tipo è il punto fisso attrattore: il sistema converge a un singolo stato e si ferma. Il pendolo con attrito ne è l’esempio: oscilla con ampiezza sempre minore e finisce verticale, fermo. Nello spazio degli stati la traiettoria è una spirale che si avvolge verso il punto centrale. Questo è il caso che il paesaggio con la pallina cattura perfettamente: il punto fisso è il fondo della valle.
Il secondo tipo è il ciclo limite: il sistema converge non a un punto ma a un’orbita periodica isolata, una curva chiusa. Il battito cardiaco, un oscillatore elettronico, un orologio a pendolo — dove una piccola spinta a ogni oscillazione compensa l’attrito — convergono tutti a un’oscillazione stabile.
“Isolata” è la parola chiave e segna la differenza con il centro del pendolo ideale: un ciclo limite è robusto, perturbalo e ci ritorna; un centro è fragile, perturbalo e passi a un’orbita diversa. Il ciclo limite è il primo comportamento che la metafora della pallina-in-discesa non cattura: non c’è nessuna valle in cui rotolare, c’è un giro che si ripete.
Il terzo tipo è l’attrattore strano: il sistema converge su un insieme di geometria frattale, che non è né un punto né una curva chiusa. La traiettoria resta confinata in una regione limitata, ma non si ripete mai e dipende in modo estremamente sensibile dalle condizioni iniziali — due partenze quasi identiche divergono col tempo. È la firma geometrica del caos deterministico. L’esempio canonico è l’attrattore di Lorenz, emerso da un modello atmosferico semplificato studiato dal meteorologo statunitense Edward Lorenz nel 1963, la cui forma a doppia ala di farfalla è diventata l’immagine simbolo del caos.
Bacini di attrazione
Sezione intitolata “Bacini di attrazione”Se un sistema ha più di un attrattore, lo spazio degli stati si divide in bacini di attrazione. Il bacino di un attrattore è l’insieme di tutti gli stati iniziali che, lasciati evolvere, finiscono in quell’attrattore. I bacini tappezzano lo spazio degli stati senza lasciare buchi; i confini fra bacini sono le linee spartiacque, e da che parte dello spartiacque parti decide a quale attrattore arrivi.
Nei sistemi lineari i bacini sono semplici — di solito ce n’è uno solo, l’intero spazio. Nei sistemi non lineari i confini fra bacini possono essere complicati, perfino frattali: vicino al confine, condizioni iniziali quasi identiche finiscono in attrattori diversi. È la versione drammatica del “dove parti conta”.
I bacini di attrazione sono il concetto che rende operativa l’idea di “stato iniziale che conta”. Quando un sistema ha più destini possibili, la domanda “dove finirà” non ha una risposta unica: ha una risposta che dipende da dove parti. E poiché il punto di partenza è lo stato iniziale, governare un sistema con attrattori multipli vuol dire, in pratica, una di due cose. O si sposta lo stato iniziale dentro il bacino dell’attrattore desiderato — la traiettoria poi ci arriva da sola. O si modifica la regola di transizione, ridisegnando la mappa dei bacini, così che lo stato in cui ci si trova ricada nel bacino giusto. Questa biforcazione — agire sullo stato o agire sulla regola — è la stessa che ritroveremo, in forma concreta, quando parleremo di un agente AI bloccato in un loop.
Sistemi lineari e non lineari
Sezione intitolata “Sistemi lineari e non lineari”C’è una divisione che attraversa tutta la teoria dei sistemi dinamici, e che spiega perché alcuni sistemi sono noiosi e altri sorprendenti: la divisione fra sistemi lineari e non lineari.
Un sistema è lineare se la sua regola rispetta la sovrapposizione: la risposta alla somma di due input è la somma delle due risposte, e moltiplicare un input per un numero moltiplica la risposta per lo stesso numero. In termini di spazio di stato, una dinamica lineare ha la forma , dove è una matrice — cioè una trasformazione che scala e ruota i vettori, senza piegarli.
I sistemi lineari hanno una vita povera, e questo dal punto di vista dell’analisi è un pregio: sono completamente comprensibili. Un sistema lineare ha al più un equilibrio (l’origine); non ha cicli limite isolati; non ha caos; non ha attrattori multipli.
Il suo destino è interamente scritto negli autovalori della matrice : o tutto converge verso l’origine, o tutto diverge all’infinito, o si oscilla in modo neutro. Lo spazio degli stati è un unico bacino. I sistemi lineari si risolvono in forma chiusa, ed è per questo che la teoria del controllo lineare è una teoria completa e potente.
I sistemi non lineari hanno una vita ricca: equilibri multipli, bacini multipli con confini complicati, cicli limite, e due fenomeni che meritano un nome anche se qui restano un cenno.
Una biforcazione è un cambiamento qualitativo del ritratto di fase quando si varia con continuità un parametro: un equilibrio stabile che a un certo valore del parametro diventa instabile, due equilibri che compaiono dal nulla, un ciclo limite che nasce. Il caos è comportamento deterministico — la regola è fissa e senza casualità — eppure impredicibile a lungo termine, perché errori microscopici sullo stato iniziale si amplificano in modo esponenziale. I dettagli di biforcazioni, classificazione della stabilità e caos appartengono ai capitoli equilibrio-stabilita (in preparazione) della Parte IX e nonlinearita-tipping-points (in preparazione) della Parte XV; qui basta sapere che esistono e da dove vengono.
Il punto da portare via è netto: tutta la ricchezza di comportamento dei sistemi reali — e dei sistemi AI — viene dalla non linearità. Non è un dettaglio tecnico.
Una rete neurale è costruita apposta per essere non lineare: se ogni suo strato fosse una trasformazione lineare, l’intera rete, per quanto profonda, collasserebbe in una singola matrice — un singolo sistema lineare, con tutta la povertà di comportamento che questo comporta. Le funzioni di attivazione non lineari sono esattamente ciò che impedisce quel collasso. È un caso in cui un risultato astratto della teoria dei sistemi spiega una scelta di progetto onnipresente nel deep learning.
Quattro esempi concreti ed eterogenei: due fisico-numerici (un pendolo, un sistema preda-predatore), uno in codice, uno scenario reale di un sistema AI.
Esempio 1 — Il pendolo, fisico e numerico
Sezione intitolata “Esempio 1 — Il pendolo, fisico e numerico”Il pendolo è l’esempio-laboratorio della teoria dei sistemi dinamici, perché con due soli numeri di stato mostra quasi tutto.
Lo stato è la coppia : l’angolo rispetto alla verticale e la velocità angolare . Lo spazio degli stati è un piano (a rigore un cilindro, perché e sono lo stesso angolo). La dinamica, in tempo continuo, è una coppia di equazioni: la prima dice che l’angolo cambia con velocità (per definizione di velocità angolare), la seconda dice che la velocità cambia per effetto della gravità e, se c’è, dell’attrito.
Due casi, due ritratti di fase. Pendolo ideale, senza attrito: l’energia si conserva, il pendolo oscilla per sempre con la stessa ampiezza. Nello spazio degli stati la traiettoria è una curva chiusa attorno al punto — il pendolo in basso, fermo. Quel punto è un centro: equilibrio circondato da orbite chiuse.
Pendolo con attrito: a ogni oscillazione un po’ di energia si perde, l’ampiezza cala. La traiettoria è una spirale che si avvolge verso , che ora è un punto fisso attrattore: il pendolo finisce verticale e fermo. Lo stesso sistema, cambiata una sola cosa — la presenza dell’attrito — passa da un centro a un attrattore.
C’è anche un secondo punto fisso, sia con attrito sia senza: , il pendolo dritto in alto, in equilibrio sulla testa. È un punto fisso instabile — una sella. In teoria il pendolo può stare lì; in pratica il minimo disturbo lo fa cadere. Lo stesso sistema, due equilibri di natura opposta: questo è già un comportamento che un sistema lineare non potrebbe avere.
Esempio 2 — Prede e predatori, un ciclo nello spazio degli stati
Sezione intitolata “Esempio 2 — Prede e predatori, un ciclo nello spazio degli stati”Il secondo esempio mostra un sistema non lineare con un comportamento che il pendolo non ha: un’oscillazione che non viene da una valle. È il modello di Lotka-Volterra, formulato indipendentemente dal matematico statunitense Alfred Lotka (1925) e dal matematico italiano Vito Volterra (1926) per descrivere la dinamica di due popolazioni, una preda e un predatore — per esempio lepri e linci.
Lo stato è la coppia (numero di prede, numero di predatori): due numeri, uno spazio degli stati bidimensionale. La regola di transizione, in tempo continuo, dice in prosa due cose semplici. Le prede, lasciate sole, si moltiplicano; ma più predatori ci sono, più prede vengono mangiate. I predatori, senza prede, si estinguono; ma più prede ci sono, più predatori sopravvivono e si riproducono. Sono due equazioni differenziali accoppiate: la variazione di ciascuna popolazione dipende da entrambe.
Cosa disegna questo sistema nello spazio degli stati? Una curva chiusa. Le prede aumentano, i predatori — con un ritardo — aumentano a loro volta, poi le prede calano perché sono troppo predate, poi i predatori calano perché restano senza cibo, poi le prede ricominciano a crescere: il ciclo si chiude e ricomincia. Sul grafico temporale si vedono due onde sfasate; nello spazio degli stati si vede un’orbita chiusa percorsa all’infinito.
Questo esempio aggiunge due cose al pendolo. Primo: mostra un’oscillazione che non nasce da nessuna “valle” — non c’è un fondo verso cui rotolare, c’è un giro. È il comportamento che la metafora della pallina-in-discesa non riesce a rappresentare, e per questo l’esempio vale la pena.
Secondo: rende concreto cosa vuol dire “accoppiato e non lineare”. Le due variabili di stato si influenzano a vicenda, e il prodotto prede × predatori — quante prede incontrano quanti predatori — è un termine non lineare. Togli quel termine e l’accoppiamento sparisce, le due popolazioni diventano indipendenti, l’oscillazione svanisce. La ricchezza è esattamente nella non linearità, come anticipato.
Esempio 3 — Un sistema discreto in codice
Sezione intitolata “Esempio 3 — Un sistema discreto in codice”In codice, un sistema dinamico in tempo discreto è semplicemente una funzione che mappa uno stato nel successivo, applicata in un ciclo. La struttura si traduce quasi parola per parola.
def step(state, input_): """Una transizione: dallo stato corrente al successivo.""" return f(state, input_)
def trajectory(state0, inputs): """Genera la traiettoria iterando la transizione.""" state = state0 history = [state] for u in inputs: state = step(state, u) history.append(state) return historyTutto il contenuto del capitolo è in queste righe. state è il vettore di stato, e contiene per definizione tutto ciò che serve a calcolare il passo successivo: la funzione step riceve state e input_, e nient’altro — nessun accesso alla storia.
Questo non è un dettaglio implementativo, è il cuore della proprietà di Markov resa codice. Se per calcolare il prossimo stato step avesse bisogno di guardare history, vorrebbe dire che lo stato è stato scelto troppo povero, che viola la proprietà di Markov, e la cura sarebbe arricchirlo finché step non basta a sé stesso. trajectory è la traiettoria: la sequenza di stati che il sistema attraversa.
Questa struttura non è un esempio didattico isolato. È la forma di un simulatore, di un game loop, di un interprete che esegue istruzioni una alla volta, e — come vedremo fra poco — di una rete ricorrente che consuma una sequenza token per token.
Ogni volta che vedi un loop che aggiorna una variabile state a partire da se stessa e da un input, stai guardando un sistema dinamico in tempo discreto. È uno dei pattern più diffusi nel codice, e averlo riconosciuto come tale permette di portarci sopra tutto il vocabolario del capitolo.
Esempio 4 — Un agente che entra in loop
Sezione intitolata “Esempio 4 — Un agente che entra in loop”Uno scenario che chiunque lavori con agenti AI ha visto: l’agente entra in un loop. Rilegge gli stessi file, riprova la stessa azione fallita, gira a vuoto. La teoria dei sistemi dinamici offre un modo preciso di descriverlo, e con un avvertimento sulla classe dell’affermazione che chiariremo subito dopo.
Vista come sistema dinamico, la sessione di un agente ha uno stato — il suo contesto, la memoria di lavoro, i task aperti, i risultati dei tool già chiamati — e una traiettoria, la sequenza di stati che attraversa mentre lavora.
Un agente che gira a vuoto è una traiettoria intrappolata. O in un ciclo limite comportamentale: la stessa sequenza di azioni che si ripete identica, l’agente che rilegge gli stessi file e ritenta la stessa mossa. O in un bacino di attrazione sbagliato: uno stato da cui ogni azione disponibile riporta a stati simili, senza via d’uscita verso il completamento del task. In entrambi i casi non è “un errore”, è una struttura della dinamica.
Questa rilettura cambia la domanda del debugging. Invece di “perché l’agente ha sbagliato questa azione”, la domanda diventa “in quale bacino è finito, e come lo si sposta fuori”.
E le due leve per spostarlo fuori sono esattamente le due leve di un sistema dinamico. Si cambia lo stato — ripulendo o ristrutturando il contesto, così che la traiettoria riparta da un altro punto, magari nel bacino giusto. Oppure si cambia la regola — aggiungendo un tool, un vincolo, un controllo che modifica come l’agente transita da uno stato al successivo. Spesso la seconda è più efficace della prima, perché agisce sulla causa e non sul sintomo.
Avvertenza sulla classe di questa affermazione: si tratta di un’analogia, non di un’identità formale. La sessione di un agente non ha un campo vettoriale scrivibile, né una funzione di transizione analizzabile — la “regola” è un LLM. “Ciclo limite” e “bacino di attrazione” qui sono immagini guida, non strumenti di calcolo. Il valore dell’analogia è che importa il vocabolario giusto e sposta la domanda diagnostica nel punto utile; il limite è che non si può dimostrare nulla, si può solo ragionare meglio. La prossima sezione rende esplicita questa distinzione caso per caso.
Applicazioni pratiche
Sezione intitolata “Applicazioni pratiche”Il concetto di stato non è un prestito decorativo dalla fisica: è presente, sotto vari nomi, nell’ossatura dei sistemi AI moderni. Ma “presente” significa cose diverse in casi diversi, e la differenza fra identità formale e analogia va dichiarata, non lasciata implicita. Vediamo i casi in ordine, dal più letterale al più lasco.
Lo stato in un MDP — identità formale
Sezione intitolata “Lo stato in un MDP — identità formale”Un Markov Decision Process — il framework standard del reinforcement learning, oggetto del capitolo MDP come framework per il decision making — è, alla lettera, un sistema dinamico in tempo discreto a spazio di stato. Ha uno stato , ha un input (l’azione scelta dall’agente), e ha una transizione che, rispetto al nostro , ha solo una differenza: è resa probabilistica, , perché l’ambiente può essere incerto. La transizione stocastica è il tema dei capitoli Processi stocastici e dinamiche casuali e Catene di Markov.
La cosa importante: la “M” di MDP — Markov — è esattamente la proprietà di Markov dello stato discussa in questo capitolo. Non c’è nessuna analogia in gioco. Il reinforcement learning è teoria dei sistemi dinamici applicata al controllo sotto incertezza, e i suoi algoritmi — l’equazione di Bellman, il Q-learning — sono modi di trovare buone regole di scelta dell’azione su quel sistema dinamico.
Questa identità ha una conseguenza pratica diretta per chi applica il reinforcement learning a un problema reale. La decisione progettuale più importante, prima ancora di scegliere l’algoritmo, è cosa mettere nello stato. Considera un agente che deve raccomandare contenuti a un utente. Se lo stato è solo “l’ultimo contenuto mostrato”, la proprietà di Markov è violata: il comportamento dell’utente dipende anche da cosa ha visto prima, dalla sua sazietà, dall’ora del giorno. Un MDP con uno stato che viola Markov produce un apprendimento instabile, perché l’algoritmo cerca una regola che dipenda solo dallo stato, ma lo stato non basta a determinare la dinamica. La cura non è cambiare algoritmo: è arricchire lo stato finché torna a essere un riassunto sufficiente. Tutto il capitolo, qui, smette di essere teoria e diventa la checklist di chi disegna un sistema RL.
L’hidden state di una RNN — identità formale, con un limite
Sezione intitolata “L’hidden state di una RNN — identità formale, con un limite”Una rete neurale ricorrente (RNN), l’architettura classica per le sequenze, calcola a ogni passo : il vettore , chiamato stato nascosto (hidden state), è lo stato; è l’input (il token corrente); è la funzione di transizione, con pesi appresi durante il training. Questa è letteralmente la forma — il game loop dell’Esempio 3, con che è una rete neurale.
Il limite va dichiarato. Nei sistemi fisici lo stato è garantito sufficiente: posizione e velocità del pendolo determinano davvero il futuro. L’hidden state di una RNN, invece, è un riassunto appreso e approssimato del passato. Può dimenticare informazione che sarebbe stata rilevante — è il famoso problema del vanishing gradient, che le architetture LSTM e GRU mitigano ma non eliminano del tutto.
Quindi: stesso formalismo della funzione di transizione, ma la proprietà di Markov dello stato qui è un obiettivo che il training cerca di raggiungere, non una garanzia matematica. È un caso interessante perché mostra che lo stesso schema formale — un vettore di stato che evolve per una regola — può essere abitato sia da un sistema dove lo stato è esatto sia da uno dove lo stato è una approssimazione imperfetta.
I modelli a spazio di stato S4 e Mamba — identità formale, prestito dichiarato
Sezione intitolata “I modelli a spazio di stato S4 e Mamba — identità formale, prestito dichiarato”I modelli a spazio di stato (in inglese State Space Models, SSM) come S4 (Gu, Goel e Ré, ICLR 2022) e Mamba (Gu e Dao, 2023) — un’architettura per sequenze alternativa al transformer — prendono nome e formalismo direttamente dalla rappresentazione in spazio di stato di Kalman. Usano un’equazione di stato continua della forma , , esattamente la struttura della teoria del controllo lineare, e la discretizzano per renderla calcolabile — la discretizzazione di cui abbiamo parlato nella sezione sulla meccanica.
Qui la classe dell’affermazione è filiazione, non analogia: gli autori citano esplicitamente la teoria dei sistemi lineari e ne usano la matematica, inclusa una scelta specifica della struttura della matrice (l’inizializzazione chiamata HiPPO).
Le differenze rispetto a un sistema di controllo classico sono due: le matrici non sono date ma apprese, e in Mamba sono rese dipendenti dall’input — il modello “decide” quanto memorizzare in base a cosa sta leggendo. I dettagli architetturali appartengono al capitolo ssm-mamba (in preparazione) della Parte XXII; qui conta sapere che il nome “spazio di stato” in S4/Mamba non è una metafora, è il concetto di questo capitolo applicato per intero.
La KV-cache di un transformer — analogia parziale, non identità
Sezione intitolata “La KV-cache di un transformer — analogia parziale, non identità”Un transformer durante la generazione di testo mantiene una KV-cache: le chiavi e i valori (key e value, oggetto del capitolo kv-cache (in preparazione) della Parte XXVIII) calcolati per tutti i token già visti, conservati per non doverli ricalcolare a ogni nuovo token. Si può descrivere la KV-cache come “una forma di stato”: è l’informazione che il modello porta avanti per produrre il token successivo.
Ma questa è un’analogia, e va marcata come tale, perché la KV-cache non è uno stato nel senso stretto del capitolo. Le differenze decisive sono due.
Primo: non è minimale. La KV-cache cresce linearmente con la lunghezza della sequenza — ogni token aggiunge la sua coppia chiave-valore — mentre lo stato nel senso stretto, come l’hidden state di una RNN o di un SSM, è un vettore di dimensione fissa, un riassunto compresso. Secondo: la “transizione” non è una funzione fissa applicata a uno stato di taglia costante; è un’attention su una cache che si allunga a ogni passo.
La KV-cache è “stato” nel senso lasco di “ciò che il sistema porta avanti”, ma non nel senso preciso di “vettore minimo che soddisfa la proprietà di Markov”. È la differenza fra portarsi dietro un riassunto e portarsi dietro l’archivio intero.
Questa distinzione non è pedanteria: è anche il motivo per cui SSM e transformer hanno profili di costo diversi. Uno stato a taglia fissa costa una memoria costante per token generato; una cache che cresce costa una memoria che aumenta con la lunghezza. Capire che cos’è davvero uno stato minimale spiega il trade-off.
Lo stato di un agente e il context — analogia di lavoro
Sezione intitolata “Lo stato di un agente e il context — analogia di lavoro”L’ultimo caso è il più lasco e il più utile da maneggiare con cura. Un agente AI in esecuzione ha qualcosa che chiamiamo naturalmente “stato”: la sua memoria di lavoro, il contesto corrente, i task aperti. Il “context” di un LLM è lo stato in questo senso — ciò che riassume la storia rilevante per decidere la prossima azione — e la traiettoria di una sessione è la sequenza di stati che l’agente attraversa.
È un’analogia potente: importa il vocabolario di questo capitolo dentro la pratica degli agenti, e permette di parlare di attrattori comportamentali, di stati assorbenti (un errore da cui non si esce più), di traiettorie che divergono. Ma porta gli stessi limiti già visti per la KV-cache, amplificati. Lo stato di un agente non è minimale: il context contiene molto rumore. Non è a dimensione fissa: cresce, e va gestito attivamente con tecniche di compaction ed eviction — il tema di context-window-management (in preparazione) nella Parte XXIX. E la regola di transizione è un LLM, non una funzione analizzabile.
Le tecniche di gestione della memoria agentica — decidere cosa tenere nel context e cosa scartare — sono, viste con la lente di questo capitolo, il tentativo pratico di costruire un buono stato: minimo ma sufficiente. La compaction è una ri-compressione dello stato che cerca di non perdere informazione predittivamente utile. I capitoli state-management-agenti (in preparazione) e memoria-agentica (in preparazione) della Parte XXXVIII sviluppano il tema.
Dove si rompe
Sezione intitolata “Dove si rompe”Il concetto di stato e la rappresentazione in spazio di stato sono potenti, ma hanno bordi precisi. Conoscerli evita di applicare lo strumento dove non regge.
Lo stato minimale può essere impossibile da trovare. La teoria garantisce che un buono stato esiste; non garantisce che tu sappia quali variabili lo compongono. Per un sistema fisico ben capito, come il pendolo, lo stato è ovvio. Per un sistema reale complesso — un mercato, un’organizzazione, il comportamento di un utente — quali variabili catturino davvero “tutto il passato rilevante” è una domanda aperta, spesso senza risposta pulita.
Scegliere lo stato è un atto di modellazione, e modelli diversi scelgono stati diversi. Non c’è una procedura meccanica che, dato un sistema, restituisca il suo stato minimale: c’è il giudizio di chi modella. Quando in un MDP applicato a un problema reale l’apprendimento è instabile, la causa prima è quasi sempre questa — lo stato scelto viola Markov, perché qualcosa di predittivamente rilevante è stato lasciato fuori.
La maledizione della dimensionalità. Lo spazio degli stati di un sistema con molte variabili è enorme, e cresce esponenzialmente col numero di variabili. Per un pendolo si può disegnare il ritratto di fase su un foglio. Per un sistema con migliaia di variabili di stato — una rete neurale, un’economia — lo spazio degli stati non è visualizzabile e non è esplorabile per enumerazione. Gli strumenti qualitativi (attrattori, bacini) restano concettualmente validi, ma diventano oggetti che non si possono più disegnare né calcolare per forza bruta. Il vocabolario sopravvive, la pratica del “guardare il ritratto di fase” no.
Lo stato può non essere finito-dimensionale. Tutto il capitolo ha assunto che lo stato sia un vettore di numeri. Esistono sistemi il cui stato vero è una funzione intera, non un vettore finito: i sistemi con ritardo (dove l’evoluzione dipende non solo dallo stato adesso ma da quello di un intervallo di tempo passato) hanno bisogno di tutta la “storia recente” come stato. La rappresentazione in spazio di stato finito-dimensionale è un’idealizzazione che funziona benissimo per moltissimi sistemi e si rompe per altri.
Determinismo e rumore. La proprietà “le traiettorie non si intersecano” e l’idea stessa di traiettoria come curva ben definita valgono per sistemi deterministici. Quando la transizione è stocastica — come negli MDP — non c’è più una traiettoria, c’è una distribuzione di traiettorie possibili. I concetti si trasferiscono (si parla di attrattori in senso probabilistico, di distribuzioni stazionarie), ma la geometria pulita del ritratto di fase si annebbia. Va tenuto presente quale dei due mondi si sta abitando.
L’errore di scivolare fra le classi. Il fraintendimento più costoso, e l’abbiamo affrontato esplicitamente nelle Applicazioni pratiche, è trattare tutte le occorrenze della parola “stato” come la stessa cosa. Lo stato di un MDP è un sistema dinamico nel senso pieno: identità formale. La KV-cache è “stato” solo in senso lasco: analogia. Lo stato di un agente è un’analogia di lavoro, utile ma senza campo vettoriale dietro.
Chi ragiona come se la KV-cache fosse un vettore di stato minimale alla Kalman arriva a conclusioni sbagliate sui costi di inferenza. Chi tratta lo “stato di un agente” come un MDP rigoroso si aspetta garanzie che non ci sono. La lente della teoria dei sistemi è preziosa proprio perché costringe a dichiarare, ogni volta, se si sta facendo matematica o si sta usando una metafora.
I sistemi lineari ingannano per semplicità. Chi impara la rappresentazione in spazio di stato sui sistemi lineari — l’unico caso completamente risolvibile — rischia di costruirsi un’intuizione troppo ordinata: un equilibrio, un destino, niente sorprese. I sistemi che contano davvero, in fisica come in AI, sono non lineari, e lì valgono equilibri multipli, bacini, cicli, biforcazioni, caos. L’intuizione lineare è un buon punto di partenza e una cattiva guida se la si crede generale.
Sei confusioni frequenti, in breve
Sezione intitolata “Sei confusioni frequenti, in breve”Oltre ai limiti strutturali appena visti, ci sono fraintendimenti puntuali che ricorrono quando si applica questo vocabolario. Vale la pena nominarli uno per uno.
-
Confondere stato e storia. Lo stato non è “tutto ciò che è successo”: è il riassunto minimo e sufficiente. Tenere la storia intera è sovrabbondante; tenerne meno dello stato rende il futuro impredicibile. Lo stato è il punto esatto in mezzo.
-
Credere che la proprietà di Markov sia una proprietà del sistema. È una proprietà della scelta delle variabili. Un sistema che “non è markoviano” lo è quasi sempre perché lo stato è stato scelto troppo povero; aggiungendo le variabili mancanti si recupera Markov.
-
Scambiare il grafico temporale per la traiettoria. Il grafico temporale ha il tempo su un asse. La traiettoria nello spazio degli stati ha il tempo come parametro nascosto lungo la curva. Un’oscillazione periodica è un’onda nel primo, una curva chiusa nella seconda.
-
Pensare che “punto fisso” significhi “stabile”. Un punto fisso è solo uno stato che non cambia. Può essere stabile o instabile. Una matita in equilibrio sulla punta sta a un punto fisso, ma instabile.
-
Trattare la KV-cache come stato in senso stretto. La KV-cache non è un vettore minimale a taglia fissa: cresce con la sequenza. È “stato” solo in senso lasco. Confonderla con l’hidden state di una RNN o di un SSM porta a ragionamenti sbagliati sui costi.
-
Aspettarsi comportamenti ricchi da sistemi lineari. Cicli isolati, attrattori multipli, caos: nessuno di questi esiste in un sistema lineare. La ricchezza è sempre, senza eccezioni, un effetto della non linearità.
Collegamenti
Sezione intitolata “Collegamenti”- Sistema, ambiente, confine, stato: il vocabolario di base — introduce informalmente la parola “stato”; questo capitolo la rende precisa e ne fa il centro della dinamica.
- Sistemi aperti, chiusi, dissipativi — un sistema aperto ha input nella sua regola di transizione; lo “stato stazionario” di quel capitolo è un equilibrio di questo.
equilibrio-stabilita(in preparazione) — il capitolo successivo della Parte IX: approfondisce attrattori, classificazione della stabilità e biforcazioni, qui solo introdotti.osservabilita-controllabilita(in preparazione) — quanto dello stato si può misurare e quanto governare: le altre due nozioni che Kalman introdusse insieme alla rappresentazione in spazio di stato.- ODE a intuizione per dinamiche e controllo — l’equazione è la dinamica in tempo continuo; il campo vettoriale è lo stesso oggetto visto da lì.
- Processi stocastici e dinamiche casuali — cosa succede alla traiettoria quando la transizione è probabilistica invece che deterministica.
- Catene di Markov — la proprietà di Markov dello stato nel suo caso più pulito, a stati discreti.
- MDP come framework per il decision making — un MDP è un sistema dinamico a spazio di stato con azioni: identità formale, non analogia.
- Bellman e programmazione dinamica e Q-learning e DQN — il reinforcement learning come controllo di un sistema dinamico a spazio di stato.
- Autovalori e autovettori a intuizione — la stabilità di un equilibrio lineare si legge dagli autovalori della matrice della dinamica.
ssm-mamba(in preparazione) — S4 e Mamba prendono nome e matematica direttamente dalla rappresentazione in spazio di stato di questo capitolo.kv-cache(in preparazione) — la KV-cache descritta come una forma di stato, con la distinzione fra analogia e identità.state-management-agentiememoria-agentica(in preparazione) — lo stato di un agente e la sua gestione: l’analogia di lavoro sviluppata in pratica.
Per andare oltre
Sezione intitolata “Per andare oltre”- Steven H. Strogatz, Nonlinear Dynamics and Chaos (Westview Press, 1994; 2a ed. 2015). Il testo di riferimento per costruire l’intuizione su ritratto di fase, punti fissi, stabilità, cicli limite e caos senza richiedere analisi avanzata. Il modello di stile a cui questo capitolo guarda.
- June Barrow-Green, Poincaré and the Three Body Problem (American Mathematical Society / London Mathematical Society, 1997). La ricostruzione storica del lavoro di Poincaré e della nascita dei sistemi dinamici come campo.
- Rudolf E. Kalman, i lavori del 1960 sulla teoria del controllo (in particolare “A new approach to linear filtering and prediction problems” e i contributi su controllabilità e osservabilità). Le fonti primarie della rappresentazione in spazio di stato moderna.
- Albert Gu, Karan Goel, Christopher Ré, “Efficiently Modeling Long Sequences with Structured State Spaces” (ICLR 2022, arXiv:2111.00396), e Albert Gu, Tri Dao, “Mamba: Linear-Time Sequence Modeling with Selective State Spaces” (arXiv:2312.00752, 2023). I due paper che riportano la rappresentazione in spazio di stato dentro il deep learning, con il prestito esplicito dalla teoria del controllo.
- “State space (controls)” e “Attractor” su Wikipedia. Voci concise e affidabili per la definizione formale di stato, le equazioni di stato in tempo discreto e continuo, e la tassonomia degli attrattori.