A notação que vou usar é de duas palestras diferentes de David Silver e também é informada por esses slides .
A equação de Bellman esperada é
vπ(s)=∑a∈Aπ(a|s)(Ras+γ∑s′∈SPass′vπ(s′))(1)
Se deixarmos
Pπss′=∑a∈Aπ(a|s)Pass′(2)
e
Rπs=∑a∈Aπ(a|s)Ras(3)
então podemos reescrever (1) Como
vπ(s)=Rπs+γ∑s′∈SPπss′vπ(s′)(4)
Isso pode ser escrito em forma de matriz
⎡⎣⎢⎢vπ(1)⋮vπ(n)⎤⎦⎥⎥=⎡⎣⎢⎢Rπ1⋮Rπn⎤⎦⎥⎥+γ⎡⎣⎢⎢Pπ11⋮Pπn1…⋱…Pπ1n⋮Pπnn⎤⎦⎥⎥⎡⎣⎢⎢vπ(1)⋮vπ(n)⎤⎦⎥⎥(5)
Ou, de forma mais compacta,
vπ=Rπ+γPπvπ(6)
Observe que os dois lados da ( 6 ) estamos ntridimensionais. Aquin = | S|é o tamanho do espaço de estado. Podemos então definir um operadorTπ:Rn→Rn Como
Tπ( v ) =Rπ+ γPπv( 7 )
para qualquer v ∈Rn. Este é o operador esperado da Bellman.
Da mesma forma, você pode reescrever a equação de otimização de Bellman
v∗( s ) =maxa ∈ A(Rumas+ γ∑s′∈ SPumass′v∗(s′) ))(8)
como o operador de otimização Bellman
T∗( v ) =maxa ∈ A(Ruma+ γPumav )( 9 )
Os operadores Bellman são "operadores", pois são mapeamentos de um ponto para outro no espaço vetorial de valores de estado, Rn.
Reescrever as equações de Bellman como operadores é útil para provar que certos algoritmos de programação dinâmica (por exemplo, iteração de política, iteração de valor) convergem para um ponto fixo exclusivo. Essa utilidade vem na forma de um corpo de trabalho existente na teoria dos operadores, o que nos permite fazer uso de propriedades especiais dos operadores Bellman.
Especificamente, o fato de os operadores Bellman serem contrações fornece resultados úteis que, para qualquer políticaπ e qualquer vetor inicial v,
limk → ∞(Tπ)kv =vπ( 10 )
limk → ∞(T∗)kv =v∗( 11 )
Onde vπ é o valor da política π e v∗ é o valor de uma política ideal π∗. A prova é devida ao teorema do mapeamento de contração .