13.07.2015 Views

Progettazione e realizzazione di una base robotica bilanciante su ...

Progettazione e realizzazione di una base robotica bilanciante su ...

Progettazione e realizzazione di una base robotica bilanciante su ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

84 Capitolo 7. ControlloL’algoritmo fitted Q-iteration (o FQI) è un metodo <strong>di</strong> appren<strong>di</strong>mentoper rinforzo iterativo, che si basa <strong>su</strong>lla risoluzione <strong>di</strong> <strong>una</strong> sequenza <strong>di</strong> problemi<strong>di</strong> appren<strong>di</strong>mento <strong>su</strong>pervisionato. L’algoritmo, a <strong>di</strong>fferenza dei classicimeto<strong>di</strong> RL online, non interagisce <strong>di</strong>rettamente con il sistema (batch-modeReinforcement Learning) determinando <strong>una</strong> politica <strong>di</strong> controllo, che approssimail più possibile la politica ottima, eseguendo un’analisi offline <strong>di</strong>un insieme <strong>di</strong> informazioni chiamato dataset. Un dataset è composto da <strong>una</strong>serie <strong>di</strong> quadruple <strong>di</strong> forma (s t , a t , s t+1 , r t ) in cui s t in<strong>di</strong>ca lo stato attuale,a t l’azione intrapresa, s t+1 lo stato in cui il sistema si porta e r t il rinforzoimme<strong>di</strong>ato ottenuto.Alla prima iterazione l’algoritmo viene utilizzato per stimare il valoreatteso del rinforzo, ovvero:Q 1 (s, a) = E π R t |s t = s, a t = a (7.20)Ad ogni passo <strong>su</strong>ccessivo l’algoritmo utilizza l’intero dataset assieme allafunzione calcolata al passo precedente per determinare un nuovo insieme <strong>di</strong>dati <strong>di</strong> training utilizzato da un sistema <strong>di</strong> appren<strong>di</strong>mento <strong>su</strong>pervisionato,chiamato regressore, per calcolare il <strong>su</strong>ccessivo valore della funzione. Inquesto modo, ad ogni iterazione viene aumentato l’orizzonte temporale, finoa quando si raggiungono le con<strong>di</strong>zioni <strong>di</strong> arresto. In seguito è mostrato lopseudo co<strong>di</strong>ce che descrive l’algoritmo FQI.Algorithm 1 Algoritmo fitted Q-iterationrepeatN ← N + 1creare un nuovo dataset T S = (i l , o l ), l = 1, . . .,♯D utilizzando l’ultimastima Q N−1 e il dataset <strong>di</strong> partenza D, in cui:i l = (s l t, a l t) (7.21)o l= r l t + γ maxa ′ Q N−1 (s l t+1, a ′ ) (7.22)applicare l’algoritmo <strong>di</strong> regressione R al dataset T S per approssimarela nuova funzione Q N (s t+1 , a)until <strong>una</strong> con<strong>di</strong>zione <strong>di</strong> arresto viene raggiuntareturn π N (s) = argmax a∈A Q N (s, a)Le con<strong>di</strong>zioni <strong>di</strong> arresto possono essere <strong>di</strong>verse. Si può <strong>di</strong>chiarare a prioriil numero massimo <strong>di</strong> iterazioni da eseguire, definendo quin<strong>di</strong> l’orizzonte

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!