Sunteți pe pagina 1din 9

METODE ELEMENTARE DE PROGRAMARE

PROGRAMARE DINAMICĂ

Profesor univ. Student


Balas Valentina Miu Madalina
Termenul "programare dinamică "(PD) se referă la o colecţie de algoritmi care pot fi
folosiţi pentru a calcula politici optime, având dat un model de mediu ideal,
utilizând procesul de decizie Markov.

Algoritmii clasici de acest tip sunt foarte importanţi din punct de vedere teoretic
deşi, din cauza necesităţii unui model ideal al mediului şi a calculelor multiple pe
care le implică, sunt destul de inutili din punct de vedere practic

Programarea dinamică se bazează pe evaluarea şi îmbunătăţirea politicii.

Evaluarea politicii este calculul iterativ al funcţiei valoare pentru o politică dată iar
îmbunătăţirea politicii constă în găsirea unei politici mai bune atunci când se ştie
funcţia valoare a sa.
METODA MONTE-CARLO
 
Această metodă este folosită pentru estimarea funcţiei valoare şi pentru
descoperirea politicilor optime, atunci când mediul nu este cunoscut în totalitate.
Ideea de bază a metodei este învăţarea din experienţă – o secvenţă de stări,
acţiuni şi recompense rezultată din iteracţiunea reală sau simulată cu mediul.
Învăţarea din experienţă reală este uimitoare deoarece nu necesită cunoaşterea
anterioară a dinamicii mediului şi totuşi duce la comportament optim [2].

Metodele Monte-Carlo se bazează pe calculul mediei recompenselor obţinute şi


de accea ele sunt definite doar pentru sarcini episodice. Astfel se presupune că
experienţa este alcătuită din episoade, fiecaredintre acestea terminându-se în
cele din urmă, indiferent de acţiunea selectată. Doar la finele unui episod funcţia
valoare şi politica sunt schimbate [2].
Avantajele acestor metode faţă de PD sunt:
Comportamentul optim poate fi învăţat direct din interacţiunea cu mediul
nemaifiind necesară existenţa unui model al acestuia

Pot fi folosite cu simulare sau cu modele eşantion, lucru foarte util deoarece
pentru multe aplicaţii este foarte grea construirea modelului explicit al
probabilităţii tranziţiilor cerut de metodele PD.

O submulţime a stărilor, care prezintă un interes deosebit, poate fi exact evaluată


fără a fi necesară evaluarea întregii mulţimi
 
ÎNVĂŢAREA PRIN DIFERENŢA TEMPORALĂ
 
 
Ideea centrală a învăţării prin întărire este învăţarea prin diferenţă temporală,
o combinare între metoda Monte Carlo şi programarea dinamică.

La fel ca metodele Monte-Carlo aceasta se bazează pe experienţă, fără a avea


nevoie de un model al mediului.
De la PD a preluat actualizarea estimărilor pe baza estimărilor deja făcute, fără
a aştepta rezultatul final.
SARSA
 
La evaluarea Qπ(s,a) pentru politica π şi pentru toate stările s şi toate acţiunile a se
poate folosi aceeaşi metodă ca pentru estimarea lui Vπ. Teorema care asigura
convergenţa în cazul TD(0) se aplică în mod analog algoritmului pentru funcţia
acţiune-valoare:
Algoritmul SARSA este:
Iniţializează Q(s,a) arbitrar
Repetă (pentru fiecare episod):
Iniţializează s
Alege a din s folosind o politică derivată din Q (ex. ε-greedy)
Repetă (pentru fiecare pas al episodului):
Execută acţiunea a, observă recompensa r şi următoarea stare s’
Alege a din s folosind o politică derivată din Q (ex. ε-greedy)

 Q( s, a )   [r   Q( s' , a' )  Q( s, a )]
Q ( s, a ) 

ss’
aa’
Până când s este stare terminală
1.1.1.1 Q-LEARNING

Una dintre cele mai importante realizări în învăţarea prin întărire a fost apariţia
algoritmului TD făra politică, cunoscut sub numele de Q-learning (Watkins, 1989). Cea mai
simplă formă a sa este dată de:

 Q( st , at )   [rt 1   max Q( st 1 , a)  Q( st , at )]
Q( st , at )  (1)
a
Algoritmul Q-learning este:
Iniţializează Q(s,a) arbitrar
Repetă (pentru fiecare episod):
Iniţializează s
Repetă (pentru fiecare pas al episodului):
Alege a din s folosind o politică derivată din Q (ex. ε-greedy)
Execută acţiunea a, observă recompensa r şi următoarea stare s’

 Q( s, a )   [r   max Q ( s' , a' )  Q( s, a )]


Q ( s, a ) 
a'

ss’
Până când s este stare terminală