Vai al contenuto
coden

Processi decisionali di Markov: stati, azioni, ricompense ed equazioni di Bellman

Un MDP su un mondo a griglia con un dirupo, il ritorno e lo sconto, la funzione di valore e l’equazione di Bellman, l’iterazione dei valori e l’iterazione delle politiche scritte da zero, come lo sconto, lo scivolamento e il costo del passo cambiano il comportamento ottimo, e un controllo con la simulazione.

11 minuti Matěj Žalmánek 2026-10-16

Serie Basi di IA Parte 47 di 52
  1. Mappa dell’intelligenza artificiale: che cos’è ciascuna cosa e come si incastra tutto
  2. Breve storia dell’intelligenza artificiale: da Turing ai modelli linguistici
  3. Dati, modello, addestramento, inferenza: i concetti di base su un unico esempio
  4. Come leggere la notazione matematica: simboli, indici, sommatorie e quantificatori
  5. Insiemi e relazioni: i mattoncini con cui si costruiscono le definizioni nell’IA
  6. Funzioni e applicazioni: perché ogni modello di IA è una funzione
  7. Logica e dimostrazioni: le regole con cui si ragiona nell’IA
  8. Grafi e alberi: la struttura su cui poggiano la ricerca e le reti neurali
  9. Algebra lineare per l’apprendimento automatico: vettori, matrici e perché l’IA soprattutto moltiplica
  10. Derivate, gradiente e regola della catena: come un modello capisce in quale direzione imparare
  11. Discesa del gradiente: come impara un modello
  12. Che cos’è la probabilità: dal lancio di un dado agli assiomi di Kolmogorov
  13. Probabilità condizionata e teorema di Bayes: come cambiare una stima quando scopri qualcosa di nuovo
  14. Variabile aleatoria e funzione di ripartizione: una sola funzione che dice tutto sulla distribuzione
  15. Funzione di densità e funzione di massa: perché una variabile continua ha probabilità zero in un punto
  16. Valore atteso, varianza e covarianza: dove si trova una distribuzione, quanto è larga e che cosa è legato a che cosa
  17. Panoramica delle distribuzioni di probabilità: Bernoulli, binomiale, Poisson, uniforme, normale ed esponenziale
  18. Legge dei grandi numeri e teorema del limite centrale: perché le medie si comportano in modo così prevedibile
  19. Statistica e stima dei parametri: massima verosimiglianza, MAP e intervalli di confidenza
  20. Teoria dell’informazione: entropia, entropia incrociata e divergenza KL — da dove vengono le funzioni di perdita
  21. Ricerca nello spazio degli stati: BFS, DFS, UCS e A* con animazioni
  22. Giochi e avversari: minimax, potatura alfa-beta e Monte Carlo tree search
  23. Soddisfacimento di vincoli: backtracking, propagazione dei vincoli e AC-3 su un sudoku e una mappa delle regioni ceche
  24. Logica e sistemi basati sulla conoscenza: concatenazione in avanti e all’indietro, risoluzione e sistemi esperti
  25. Pianificazione: STRIPS, il mondo dei blocchi, euristiche dal rilassamento e pianificazione negli agenti IA
  26. Ricerca locale e ricottura simulata: un commesso viaggiatore tra i capoluoghi di regione cechi
  27. Algoritmi genetici: popolazione, incrocio, mutazione e selezione su uno zaino per l’escursione
  28. Strategie evolutive e programmazione genetica: dalla regola di un quinto alla legge di Keplero
  29. Ottimizzazione con colonie di formiche: come una traccia di feromone trova un percorso breve
  30. Ottimizzazione a sciame di particelle: inerzia, esperienza propria ed esperienza dello sciame
  31. Neuroevoluzione: evoluzione dei pesi e della forma delle reti neurali e l’algoritmo NEAT
  32. Insiemi fuzzy e funzioni di appartenenza: come scrivere «un po’ caldo»
  33. Logica fuzzy e probabilità: perché «un po’ caldo» non significa «probabilmente caldo»
  34. Logica fuzzy: t-norme, implicazioni e regole SE–ALLORA
  35. Controllo fuzzy: Mamdani e Sugeno, dal ventilatore al pendolo inverso su un carrello
  36. Clustering fuzzy: l’algoritmo fuzzy c-means e i punti tra i cluster
  37. Sistemi neuro-fuzzy (ANFIS): regole fuzzy che imparano dai dati
  38. Catene di Markov: matrice di transizione, distribuzione stazionaria e PageRank
  39. Modelli di Markov nascosti: l’algoritmo di Viterbi e il casinò disonesto
  40. Reti bayesiane: perché l’erba è bagnata e che cosa significa per l’irrigatore
  41. Filtro di Kalman: come stimare da misure imprecise dove si trova un’auto e a che velocità va
  42. Tipi di apprendimento automatico: supervisionato, non supervisionato, semi-supervisionato e altri
  43. Prompt, contesto e RAG: come dare a un modello le informazioni giuste
  44. Autoencoder variazionali (VAE): immagini nuove da uno spazio latente continuo
  45. Reti generative avversarie (GAN): il falsario contro il detective
  46. Modelli di diffusione: come il rumore puro diventa un’immagine
  47. Processi decisionali di Markov: stati, azioni, ricompense ed equazioni di Bellman
  48. Q-learning e DQN: imparare il valore delle azioni, dalla tabella alla rete neurale
  49. Policy gradient e PPO: imparare direttamente la politica
  50. Come funziona un agente IA: un modello linguistico in un ciclo con strumenti
  51. Programmare con agenti IA: incarico, test e controllo
  52. Valutazione e sicurezza dei sistemi di IA: come misurare e come sorvegliare

Programma completo della serie 52 di 83 argomenti pubblicati

Cosa porterai a casa
  • Come si descrive un problema di apprendimento per rinforzo come un MDP.
  • Che cos’è il valore di uno stato e come lo calcola l’equazione di Bellman.
  • Perché piccoli dettagli nelle ricompense e nello sconto cambiano del tutto il comportamento dell’agente.

Utile sapere prima: Catene di Markov: matrice di transizione, distribuzione stazionaria e PageRank, Valore atteso, varianza e covarianza: dove si trova una distribuzione, quanto è larga e che cosa è legato a che cosa, Tipi di apprendimento automatico: supervisionato, non supervisionato, semi-supervisionato e altri

Finora i modelli della serie imparavano da esempi con la risposta giusta oppure cercavano una struttura nei dati. L’apprendimento per rinforzo è una terza strada: l’agente agisce, il mondo gli dà in cambio ricompense e punizioni, e l’agente deve capire come agire per accumularne il più possibile. Prima di metterci a imparare, ci serve un linguaggio con cui descrivere un problema del genere con precisione. Questo linguaggio è il processo decisionale di Markov. In questa parte lo costruiremo su un piccolo mondo con un dirupo e calcoleremo il comportamento migliore in modo esatto — supponendo di conoscere le regole del mondo.

Prosegue le parti Catene di Markov, Valore atteso, varianza e covarianza e Tipi di apprendimento automatico.

1. Agente, ambiente, ricompensa

Definizione — processo decisionale di Markov (MDP)

Un MDP è una quintupla (S, A, P, R, γ): un insieme di stati S, un insieme di azioni A, le probabilità di transizione P(s′ | s, a), la ricompensa R(s, a, s′) e il fattore di sconto γ ∈ [0, 1). A ogni passo l’agente nello stato s sceglie un’azione a, il mondo lo sposta a caso secondo P in s′ e l’agente riceve una ricompensa. Proprietà di Markov: lo stato successivo dipende solo dallo stato attuale e dall’azione, non dalla storia.

In parole semplici

Un gioco da tavolo con il dado: sai su quale casella ti trovi (stato), scegli una mossa (azione), il dado decide dove avanzi davvero (transizione) e per alcune caselle ricevi punti (ricompensa). Come sei arrivato sulla casella non conta — l’unica cosa importante è dove ti trovi adesso.

Il nostro mondo è una griglia 6 × 5. L’agente parte a sinistra (S) e può andare in su, a destra, in giù o a sinistra. Tutta la riga in basso è un dirupo: chi ci cade riceve −10 e la partita finisce. Poco lontano dalla partenza c’è un piccolo traguardo da +1, molto più a destra un grande traguardo da +10. Due muri chiudono la strada più corta in alto. E il pavimento può essere scivoloso: con probabilità p l’agente, invece di andare nella direzione voluta, scivola in una delle due direzioni perpendicolari.

P(s′ | s, a) = (1 − p) · [s′ = passo nella direzione a] + p/2 · [s′ = passo perpendicolare a sinistra] + p/2 · [s′ = passo perpendicolare a destra]

P(s′ | s, a)
con quale probabilità l’agente, dopo l’azione a, finisce nella casella s′ — l’intera distribuzione, non solo «dove dovrebbe andare», perché il valore di una mossa si calcolerà come media su tutti i possibili punti di arrivo
(1 − p) · […]
il movimento voluto — riceve la maggior parte della probabilità; con p = 0 resta solo questo termine e il mondo è deterministico
p/2 · […]
lo scivolone di lato, in parti uguali a sinistra e a destra — è per questo che la casella accanto al dirupo è pericolosa anche se camminiamo lungo il dirupo e non verso di esso
[condizione] vale 1 se la condizione è vera, altrimenti 0. Se il movimento urta un muro o il bordo, s′ = s e i termini corrispondenti si sommano — la somma su tutti gli s′ è sempre 1. La distribuzione 0,8 / 0,1 / 0,1 (cioè p = 0,2) è anche quella del classico mondo a griglia del manuale di Russell e Norvig.
Esempio — un passo a destra lungo il dirupo

L’agente si trova sulla casella a destra della partenza (sopra c’è un muro, sotto il dirupo) e sceglie «destra», p = 0,2:

  • 0,8 — la casella successiva a destra,
  • 0,1 — il dirupo (ricompensa −10, fine),
  • 0,1 — la casella a destra della partenza (scivola in su contro il muro e resta dov’è),

in totale 0,8 + 0,1 + 0,1 = 1. La ricompensa immediata attesa di questa mossa è 0,8 · 0 + 0,1 · (−10) + 0,1 · 0 = −1: in media un passo così su dieci finisce con una caduta.

2. Ritorno, sconto e politica

Definizione — ritorno e politica

Il ritorno dall’istante t è la somma scontata delle ricompense future Gt = rt+1 + γ rt+2 + γ² rt+3 + …. Una politica (policy) π dice quale azione scegliere in ciascuno stato — in modo deterministico π(s) = a, oppure come distribuzione π(a | s). L’obiettivo è la politica con il massimo ritorno atteso.

In parole semplici

Lo sconto γ dice quanto vale di meno una ricompensa domani rispetto a oggi. Con γ = 0,9 una ricompensa fra dieci passi pesa 0,9¹⁰ ≈ 0,35, con γ = 0,5 solo 0,001. Un γ piccolo rende l’agente impaziente, un γ vicino a 1 paziente. La politica è poi semplicemente un bigino: «su questa casella vai a destra, su quella in su».

Gt = rt+1 + γ · Gt+1

Gt
il ritorno da adesso fino alla fine — il numero che l’agente vuole rendere il più grande possibile
rt+1
la ricompensa subito dopo il prossimo passo — l’unico che riceve senza aspettare, perciò senza sconto
γ
lo sconto — tutto ciò che arriva dopo viene ridotto di un fattore γ; così «più tardi» si traduce in «meno»
Gt+1
il ritorno dal passo successivo — la stessa grandezza un passo più in là; la ricorsione da cui tra poco nascerà l’equazione di Bellman
Basta raccogliere γ da tutti i termini tranne il primo: rt+1 + γ (rt+2 + γ rt+3 + …).
Teorema — con γ < 1 il ritorno è sempre finito

Se ogni ricompensa è in valore assoluto al più Rmax, allora |Gt| ≤ Rmax (1 + γ + γ² + …) = Rmax / (1 − γ), anche se l’episodio non finisse mai.

Dimostrazione. La disuguaglianza triangolare dà |Gt| ≤ ∑k ≥ 0 γk |rt+k+1| ≤ Rmax ∑k ≥ 0 γk e la serie geometrica di ragione 0 ≤ γ < 1 ha somma 1/(1 − γ). ∎

Da noi Rmax = 10 e γ = 0,9, quindi |G| ≤ 10 / 0,1 = 100. Senza costo per passo è molto meno ancora: una ricompensa diversa da zero la dà solo l’ingresso in un traguardo o nel dirupo, e al massimo una volta per episodio, quindi |G| ≤ 10. Per questo γ = 1 si può usare solo dove l’episodio finisce di sicuro.

Esempio — il ritorno del percorso più corto verso il grande traguardo

Sul pavimento fermo il percorso più corto verso il traguardo +10 conta 6 passi. I primi cinque passi danno ricompensa 0, il sesto (l’ingresso nel traguardo) +10. Con γ = 0,9:

G0 = 0 + 0,9 · 0 + 0,9² · 0 + 0,9³ · 0 + 0,9⁴ · 0 + 0,9⁵ · 10 = 0,59049 · 10 = 5,9049.

Sul pavimento fermo non succede nulla di casuale, quindi questo è direttamente il valore della partenza — e il calcolo con l’iterazione dei valori nella sezione sulle politiche dà davvero 5,90. Il piccolo traguardo +1, anche a 3 passi, darebbe solo 0,9² · 1 = 0,81.

3. Il valore e le equazioni di Bellman

Definizione — funzione di valore ed equazione di ottimalità di Bellman

Il valore di uno stato sotto la politica π è il ritorno atteso quando l’agente parte da s e segue π: Vπ(s) = Eπ[Gt | st = s]. Il valore di un’azione Qπ(s, a) è la stessa cosa, ma la prima azione la scegliamo noi. I valori ottimi soddisfano l’equazione di Bellman (Richard Bellman, 1957):

V*(s) = maxa ∑s′ P(s′ | s, a) [R(s, a, s′) + γ V*(s′)],

e la politica ottima è π*(s) = argmaxa Q*(s, a), dove Q*(s, a) è l’espressione dentro il massimo.

In parole semplici

Il valore di una casella = il massimo che riesco a ricavarne. E lo si può calcolare in modo ricorsivo: da ogni mossa ottengo una ricompensa immediata più il valore (un po’ scontato) della casella dove la mossa mi porta — mediato su tutti i posti dove il dado mi può mandare. Scelgo la mossa con cui viene di più.

V*(s) = maxa ∑s′ P(s′ | s, a) [R(s, a, s′) + γ V*(s′)]

V*(s)
il miglior ritorno atteso dalla casella s — ciò che cerchiamo; compare da entrambe le parti, quindi l’equazione è una condizione che tutti i valori devono soddisfare insieme
maxa
la scelta dell’agente — l’azione la sceglie lui, e quindi prende la migliore; qui l’equazione «di ottimalità» si distingue dall’equazione per una politica fissa π, dove al posto del massimo c’è π(s)
∑s′ P(s′ | s, a) […]
la media su dove il mondo scaraventa davvero l’agente — su questo l’agente non decide, perciò un valore atteso e non un massimo
R(s, a, s′)
la ricompensa immediata per questa transizione (+1, +10, −10 o il costo del passo)
γ
lo sconto — il futuro è un passo più in là, perciò un fattore γ (come nella formula Gt = rt+1 + γ Gt+1)
V*(s′)
il miglior ritorno dal punto di arrivo — tutto il futuro riassunto in un solo numero, così non serve percorrere tutti i lunghi cammini
L’espressione dopo il massimo è Q*(s, a): il valore dell’azione a nella casella s, se poi si gioca al meglio.
Esempio — l’equazione di Bellman alla partenza (scivolamento 20 %, γ = 0,9)

Valori ottimi già calcolati dei vicini della partenza: la casella sopra la partenza V* = 3,325, la casella a destra V* = 2,260, la partenza stessa V* = 2,854; il dirupo è terminale (valore 0, ricompensa −10). Sostituiamo nel membro destro per ogni azione:

  • ↑: 0,8 · (0 + 0,9 · 3,325) + 0,1 · (0 + 0,9 · 2,260) + 0,1 · (0 + 0,9 · 2,854) = 2,854,
  • →: 0,8 · (0 + 0,9 · 2,260) + 0,1 · (−10 + 0,9 · 0,000) + 0,1 · (0 + 0,9 · 3,325) = 0,926,
  • ↓: 0,8 · (−10 + 0,9 · 0,000) + 0,1 · (0 + 0,9 · 2,854) + 0,1 · (0 + 0,9 · 2,260) = −7,540,
  • ←: 0,8 · (0 + 0,9 · 2,854) + 0,1 · (0 + 0,9 · 3,325) + 0,1 · (−10 + 0,9 · 0,000) = 1,354,

Il più grande è ↑ con 2,854, ed è esattamente V*(partenza) — l’equazione vale (la differenza nell’ultima cifra è arrotondamento). L’azione «su» conviene nonostante la probabilità del 10 % che l’agente scivoli a sinistra, urti il bordo e resti sulla partenza: per questo V*(partenza) compare anche a destra. L’azione «giù» porta all’80 % nel dirupo e risulta fortemente negativa.

4. Iterazione dei valori

Definizione — iterazione dei valori

Parti da V0 = 0 e ripeti per tutti gli stati Vk+1(s) = maxa ∑s′ P(s′ | s, a) [R + γ Vk(s′)], finché i valori cambiano. Per γ < 1 l’operatore di Bellman è una contrazione: maxs |Vk+1 − V*| ≤ γ · maxs |Vk − V*|, quindi l’errore cala almeno come γk.

In parole semplici

Al primo giro conoscono il proprio valore solo le caselle subito accanto ai traguardi. Al secondo l’informazione avanza di una casella, al terzo di un’altra. Come una notizia che passa di vicino in vicino — dopo pochi giri ogni casella sa dove conviene andare.

# iterazione dei valori
V = 0 in tutti gli stati
ripeti:
    per ogni stato non terminale s:
        per ogni azione a:
            Q[a] = ∑ su s′ ( P(s′ | s, a) · (R(s, a, s′) + γ · V(s′)) )
        V_nuovo(s) = max(Q)
    variazione = max su s |V_nuovo(s) − V(s)|
    V = V_nuovo
finché variazione ≥ 10⁻⁶
π(s) = azione con il Q[a] più grande (calcolato dal V finale)
Esempio — i primi tre giri (scivolamento 20 %, γ = 0,9)

Seguiamo due caselle della riga centrale: A subito a sinistra del grande traguardo +10 e B una casella più in là, subito a destra del piccolo traguardo +1. Sopra B c’è un muro, sopra A è libero, sotto entrambe c’è pavimento normale.

giro kVk(A)azione migliore in AVk(B)azione migliore in B
18,000→0,800←
28,000→5,832→
39,166→6,343→

Giro 1 (ovunque V0 = 0): da A il passo a destra porta con probabilità 0,8 al traguardo, cioè 0,8 · 10 = 8,000. Da B per ora non si vede niente di lontano; la cosa migliore è un passo a sinistra verso il piccolo traguardo: 0,8 · 1 = 0,800.

Giro 2: da B verso destra si arriva in A, che ha già valore 8: 0,8 · 0,9 · 8 = 5,76, più 0,1 · 0,9 · 0,8 = 0,072 per lo scivolone in su (muro, resta in B con V1 = 0,8) e 0 per lo scivolone in giù — in totale 5,832. L’azione migliore in B è passata da ← a →: l’informazione sul grande traguardo ha viaggiato di una casella.

maxs |Vk+1(s) − Vk(s)| ≤ γk · maxs |V1(s) − V0(s)|

max |Vk+1 − Vk|
la variazione più grande al giro k + 1 — ciò che il calcolo tiene d’occhio e in base a cui si ferma; nel grafico sotto la linea verde (γ = 0,9) e quella blu (γ = 0,99)
γk
ogni giro riduce la differenza tra due stime almeno di γ volte (contrazione); dopo k giri quindi di γk volte — da qui la convergenza lenta per γ vicino a 1
max |V1 − V0|
l’ampiezza della prima variazione; con V0 = 0 è la massima ricompensa attesa per un singolo passo, da noi al più 10 — da qui il limite tratteggiato 10 · γk nel grafico
Segue dalla contrazione: |Vk+1 − Vk| = |BVk − BVk−1| ≤ γ |Vk − Vk−1|, dove B è un giro dell’iterazione (l’operatore di Bellman); e così via fino al primo giro. Per esempio per γ = 0,9 e k = 50 il limite è 10 · 0,9⁵⁰ ≈ 0,05.
10-610-410-2100 020406080 iterazione k (numero d’ordine) max |V_k+1 − V_k| (ricompensa, log.)
Iterazione dei valori su pavimento scivoloso (p = 0,2): la variazione di valore più grande a ogni iterazione γ = 0,9 (50 iterazioni)γ = 0,99 (77 iterazioni) 10 · γ^k

Con γ = 0,9 i valori si stabilizzano (variazione sotto 10⁻⁶) dopo 50 iterazioni, con γ = 0,99 dopo 77. L’errore cala più in fretta di quanto garantisca il limite γk — che vale sempre, ma in un mondo concreto tende a essere pessimistico. Più γ è vicino a uno, più lontano nel futuro deve propagarsi l’informazione e più a lungo dura il calcolo.

5. Che cosa cambiano lo sconto, lo scivolamento e il costo del passo

Ora la parte più interessante. Lo stesso mondo, solo con altre impostazioni — e la politica ottima appare del tutto diversa.

→ 5,3 → 5,9 → 6,6 → 7,3 → 8,1 ↓ 9,0 ↑ 4,8 ↑ 5,9 → 9,0 ↓ 10,0 ↓ 5,3 +1 → 9,0 → 10,0 +10 → 5,9 S → 6,6 → 7,3 ↑ 8,1 ↑ 9,0 ↑ 10,0 −10−10−10−10−10−10 il pavimento non scivola → 4,3 → 5,0 → 5,7 → 6,5 → 7,5 ↓ 8,4 ↑ 3,8 ↑ 5,0 ↓ 8,5 ↓ 9,6 ↑ 3,3 +1 → 8,2 → 9,5 +10 ↑ 2,9 S ↑ 2,3 → 4,2 ↑ 7,0 ↑ 8,4 ↑ 9,6 −10−10−10−10−10−10 scivolamento 20 %
Senza e con scivolamento (γ = 0,9): valori delle caselle, azioni ottime e percorso più probabile

Sul pavimento fermo il percorso più corto verso il grande traguardo passa rasente il dirupo: 6 passi e un valore della partenza di 5,90. Quando il pavimento scivola, il bordo del dirupo è pericoloso — ogni passo lì significa una probabilità del 10 % di cadere. La politica ottima perciò aggira i muri passando in alto: 10 passi invece di 6, ma nel dirupo cade solo il 0,7 % degli episodi. Se sul pavimento scivoloso usassimo la politica rischiosa, l’agente cadrebbe nel 30 % dei casi e il valore della partenza scenderebbe a 0,64 invece di 2,85.

→ 0,1 → 0,2 ↓ 0,4 → 0,8 ↓ 1,8 ↓ 3,7 ↑ 0,0 ↓ 0,9 ↓ 4,0 ↓ 8,6 ↑ 0,0 +1 → 3,6 → 8,4 +10 ↑ 0,0 S ↑ 0,1 ↑ 0,9 ↑ 1,7 ↑ 3,9 ↑ 8,6 −10−10−10−10−10−10 γ = 0,5, scivolamento 20 % → −1,3 → 0,0 → 1,4 → 3,1 → 4,9 ↓ 6,7 ↑ −2,4 ↓ 0,7 ↓ 7,0 ↓ 9,3 ↑ −3,3 +1 → 6,5 → 9,0 +10 → −2,9 S → −0,9 → 1,5 ↑ 4,4 ↑ 6,7 ↑ 9,2 −10−10−10−10−10−10 γ = 0,9, scivolamento 20 %, passo −1
Un agente impaziente e un agente a cui ogni passo costa

Con γ = 0,5 il grande traguardo è così lontano che non conviene — +10 fra 10 passi oggi pesa solo 10 · 0,5¹⁰ ≈ 0,01. L’agente va con prudenza in alto verso il piccolo traguardo. Quando invece ogni passo costa −1, conviene rischiare: l’agente va verso il grande traguardo lungo il bordo del dirupo e cade nel 27 % degli episodi. Il percorso lungo e sicuro gli costerebbe di più della perdita media dovuta alle cadute.

γscivolamentopassoil percorso vaV(partenza)simulazionecadutapassi
0,90 %0verso +105,905,900,0 %6,0
0,920 %0verso +102,852,840,7 %13,1
0,520 %0verso +10,010,010,0 %9,5
0,920 %−1verso +10−2,86−2,9026,9 %6,0
0,50 %−1verso +1−1,25−1,250,0 %3,0

La colonna «simulazione» è un controllo: il ritorno medio di 10 000 episodi secondo la politica trovata, con scivolamento casuale. Il ritorno medio differisce dal valore calcolato della partenza al più di qualche centesimo — l’equazione di Bellman calcola davvero il ritorno atteso.

La lezione per le applicazioni reali: il comportamento dell’agente non lo determina solo «qual è l’obiettivo», ma anche dettagli come lo sconto e il costo per passo. Chi progetta le ricompense progetta il comportamento — anche quello che non voleva.

6. Iterazione delle politiche

Definizione — iterazione delle politiche

L’iterazione delle politiche (Ronald Howard, 1960) alterna due passi. Valutazione: per una politica fissa π calcola Vπ risolvendo il sistema Vπ(s) = ∑s′ P(s′ | s, π(s)) [R + γ Vπ(s′)]. Miglioramento: in ogni stato scegli l’azione con il valore più grande secondo Vπ. Quando la politica smette di cambiare, è ottima.

In parole semplici

Prendo un bigino qualsiasi, calcolo onestamente quanto bene me la cavo con esso da ogni casella, e poi correggo il bigino ovunque un’altra mossa renderebbe di più. Ripeto. Il bigino migliora a ogni giro e dopo pochi giri non cambia più.

# iterazione delle politiche
π = «su ovunque»
ripeti:
    # valutazione: V^π risolvendo il sistema (da noi con sostituzioni ripetute)
    V = 0
    ripeti finché V cambia di più di 10⁻⁹:
        V(s) = ∑ su s′ ( P(s′ | s, π(s)) · (R + γ · V(s′)) )   per ogni s
    # miglioramento: in ogni stato l’azione migliore secondo V^π
    π_nuova(s) = argmax su a  ∑ su s′ ( P(s′ | s, a) · (R + γ · V(s′)) )
    cambiati = numero di stati dove π_nuova(s) ≠ π(s)
    π = π_nuova
finché cambiati > 0
Teorema — del miglioramento della politica

Se la nuova politica π′ sceglie in ogni stato l’azione con il Qπ(s, a) più grande, allora Vπ′(s) ≥ Vπ(s) in tutti gli stati. Se π′ non differisce da π, Vπ soddisfa l’equazione di ottimalità di Bellman, e π è quindi ottima.

Schizzo di dimostrazione. Per la scelta di π′ vale Vπ(s) = Qπ(s, π(s)) ≤ Qπ(s, π′(s)) = E[r + γ Vπ(s′)]. In Vπ(s′) sostituiamo la stessa disuguaglianza, poi di nuovo… Dopo lo sviluppo resta il ritorno atteso della politica che gioca π′ in tutti i passi, cioè Vπ′(s). ∎

Le politiche deterministiche sono in numero finito — da noi 4 azioni in 19 caselle non terminali, cioè 419 ≈ 2,7 · 1011. Nessuna può ripetersi (ogni giro migliora il valore oppure termina), quindi l’iterazione delle politiche termina sempre. In realtà bastano sorprendentemente pochi giri: da noi 6.

Sul pavimento scivoloso con γ = 0,9, partendo dalla politica «su ovunque»:

giroV(partenza) della politicapassi di valutazioneazioni cambiate
10,03667
20,111377
30,161418
40,491513
52,85421
62,85770

Dopo 6 giri la politica è la stessa dell’iterazione dei valori. I giri sono pochi, ma ognuno contiene una valutazione completa (da noi da decine a centinaia di passate sul mondo). Quale dei due metodi sia più veloce dipende dal problema; in pratica si combinano.

7. Quando non conosciamo le regole del mondo

Tutto quanto sopra presuppone che conosciamo P e R — che possiamo «guardare nelle regole». Questa è pianificazione (programmazione dinamica). Nel vero apprendimento per rinforzo l’agente è gettato in un mondo di cui non conosce le regole: deve provare, raccogliere esperienza e stimare i valori a partire da essa. L’equazione di Bellman però resta il cuore di quasi tutti i metodi — solo che al posto della media esatta su P si usa un campione da un singolo passo reale. Questo è il Q-learning, tema della prossima parte.

Lo stesso schema descrive un robot che impara a camminare, la gestione delle scorte in un magazzino, un sistema di raccomandazione e anche un modello linguistico addestrato sulle preferenze umane nella parte sull’RLHF — lì lo stato è il testo scritto finora, l’azione il token successivo e la ricompensa la valutazione della risposta.

8. Riepilogo

  • MDP = stati, azioni, transizioni casuali, ricompense e sconto; lo stato successivo dipende solo dallo stato attuale e dall’azione.
  • Il valore di uno stato è il ritorno scontato atteso; i valori ottimi soddisfano l’equazione di Bellman.
  • L’iterazione dei valori ripete l’equazione di Bellman; l’errore cala almeno come γk (da noi 50 iterazioni per γ = 0,9).
  • Lo scivolamento sposta il percorso lontano dal dirupo (caduta nel 0,7 % invece che nel 30 %), un γ piccolo porta al piccolo traguardo vicino, un costo per passo porta a rischiare.
  • L’iterazione delle politiche alterna valutazione e miglioramento; da noi 6 giri.
  • Senza conoscere le regole del mondo, i valori vanno imparati dall’esperienza — questo è l’apprendimento per rinforzo.

Vuoi provarlo con mano? Fai programmare a un agente IA questo mondo con il dirupo, con la possibilità di cambiare in modo interattivo γ, lo scivolamento e il costo del passo — e osserva quando la politica «scatta» da un percorso a un altro.

La vedi diversamente? Scrivi a support@coden-app.com.

Un Agente sul tuo computer, guidato dal telefono