7.1. Elnevezések, jelölések
Tegyük fel, hogy adott egy
állapothalmaz :egyX halmaz, amelynek elemeit állapotoknak mondjuk ; átmenetfüggvény :egyΓ :X (X halmazértékű leképezés, amely azt írja le, hogy az x állapotból a Γ(x) állapotok egyikébe juthatunk. E függvény gráfja :graph (Γ) ={(x, y)∈X×X:y∈Γ(x)};
hozamfüggvény :egyF: graph(Γ)→Rfüggvény, amelyreF(x, y)∈R szá-mot azxállapotból azyállapotba jutás hozadékának, profitjának, értékének, vagy pillanatnyi hasznosságának gondolunk ;
diszkont tényező :egyβ≥0valós szám.
7.1.1. (SP feladat)
A fenti négy objektum határozza meg a dinamikus programozás alapfelada-tát, amelyetszuprémum feladatnak fogunk mondani és röviden(SP) feladat-ként fogunk rá hivatkozni. Az (X, F,Γ, β) négyest dinamikus programozási alapfeladatnak, dinamikus programozásnak vagy rövidebbenprogramozásnak nevezzük.
AdottΓ :X(X mellett
megengedett út :x¯ :N→X olyan sorozat, amelyrexk+1 ∈Γ(xk)teljesül mindenk∈Nmellett. Nevezzük eztmegengedett pályának,megengedett terv-nek, vagy egyszerűbben csaktervnek vagyútnakis. A megengedett utak hal-mazátΠ-vel jelöljük. Hax¯∈Πegy út, akkorx¯k ∈Πjelöli az(xk, xk+1,· · ·) utat. Rögzítettu∈X mellettΠ(u) ={x¯∈Π :x0=u}azuállapotból induló megengedett pályák halmaza.
185
Út hasznossága :Azu: Π→Rfüggvényt azutak hasznossági függvényének, vagy azút értékének, vagy azút hasznának, vagy azút profitjának mondjuk, aholx¯∈Πútra
u(¯x) =
∞
X
k=0
βkF(xk, xk+1).
Mint az (SP) feladat egy alapfeltevése, azt tesszük fel, hogy az(X, F,Γ, β) programozás úgy van megadva, hogy a fenti sor általános értelemben konver-gens, azaz konvergál egy valós számhoz vagy tart±∞-hez.
7.2. Alapfeladat és Bellman-egyenlet
A dinamikus programozás alapfeladatát szuprémum problémának is mond-juk. Szuprémum problémán egy feladatot értünk. Azt a feladatot, hogy va-lamely rögzített állapot esetén keressük az ebből az állapotból induló utak hasznosságának felső határát.
7.2.1. definíció(Szupremum probléma. (SP)). Az(X, F,Γ, β)által megha-tározott szuprémum feladat azt jelenti, hogy rögzítettx0∈X állapot mellett keressük azufüggvény szuprémumát aΠ(x0)utak halmaza felett :
w(x0) = sup
x∈Π(x¯ 0)
u(¯x) = sup
¯x∈Π(x0)
∞
X
k=0
βkF(xk, xk+1).
A szuprémum w(x0) értékét az x0 pontból kiinduló (SP) feladat értékének fogjuk mondani, és aw:X →Rfüggvényt pedig a(SP) feladat értékfüggvé-nyének mondjuk.
Amennyiben a fenti sup helyett max írható, azaz ha létezik x¯ ∈ Π(x0), hogyw(x0) =u(¯x), akkor azt mondjuk, hogy x¯az x0 állapotból induló opti-mális út.
7.2.2. definíció (Bellman-egyenlet). Tekintsük az (X, F,Γ, β)-hoz tartozó dinamikus programozási alapfeladatot. Azt mondjuk, hogy a v : X → R függvény kielégíti a feladatBellman-egyenletét, ha mindenx0∈X mellett
v(x0) = sup
y∈Γ(x0)
{F(x0, y) +βv(y)}
7.2.3. lemma(iterációs lemma). Legyen ω:X →Rolyan függvény, amely egyx¯∈Π útra mindenk∈Nmellett teljesíti az
ω(xk) =F(xk, xk+1) +βω(xk+1) +δk
egyenleteket, valamelyδ0, δ1,· · · valós sorozat mellett. Ekkor minden n∈N
Ha a feltételi egyenlőségben az = relációt a ≤ vagy ≥ relációkra cseréljük, akkor ugyanazt kell tennünk az implikáció egyenlőségében.
Bizonyítás. Teljes indukció. n = 0-ra az állítás a feltételre egyszerűsödik k= 0esetben. Tegyük fel, hogy igaz n-re. Ekkor a feltételt alkalmazva k =
=n+ 1-re azt kapjuk, hogy
Sőt mindenn∈Nmellett fennáll a következő egyenlőség : u(¯x) =
n
X
k=0
βkF(xk, xk+1) +βn+1u(¯xn+1).
Bizonyítás. Az egynél magasabb indexű tagokból a diszkont tényező kieme-lésével, majd a szumma elcsúsztatásával :
u(¯x) =F(x0, x1) +β
Persze mindenk∈Nmellettx¯k is csak egy út, így a már bizonyított állítást
¯
xk-ra alkalmazva kapjuk, hogyu(¯xk) =F(xk, xk+1) +βu(¯xk+1). Alkalmaz-hatjuk tehát azxk7→u(¯xk)függvényre az imént bizonyított iterációs lemmát δk = 0konstansok mellett. Ezt kellett belátni.
7.2.5. állítás (optimális út jellemzése). Legyen (X, F,Γ, β) egy dinamikus programozás.
1. Tegyük fel, hogyx¯∈Π(x0)a feladathoz tartozó optimális út. Haβ >0, akkor x¯k ∈Π(xk) azxk-ból induló optimális út, továbbá az út minden xk állapotára
w(xk) =F(xk, xk+1) +βw(xk+1).
2. Megfordítva, ha egyx¯∈Πútra fennáll a fenti egyenlőség mindenk∈N mellett és
lim sup
k→∞
βkw(xk)≤0,
akkor x¯ azx0-ból induló szuprémum feladatnak optimális útja.
A 7.3.1. „fő a változatosság”-modellben látni fogjuk, hogy β > 0 fel-tétel az állítás első két pontjában nem hagyható el. Hasonlóan, a 7.3.3.
„megtakarítás”-modell azt mutatja, hogy az elegendőséghez nélkülözhetetlen a fenti többlet feltevés.
Bizonyítás. Megmutatjuk, hogyx¯1 optimálisx1-ből induló út. Ha ugyanis – indirekt – w(x1) > u(¯x1), akkor létezik y¯ ∈ Π(x1), amelyre u(¯y) > u(¯x1).
Legyen ekkor ¯z = (x0,y),¯ z¯ ∈ Π(x0). A 7.2.4. indukciós lemma és β > 0 szerint
u(¯z) =F(x0, x1) +βu(¯y)> F(x0, x1) +βu(¯x1) =u(¯x) =w(x0), ami ellentmondw(x0)felső korlát voltának. Megmutattuk tehát, hogyx¯1 az x1-ből induló optimális út. Ezt alkalmazva x¯1-re kapjuk, hogy x¯2 az x2-ből induló optimális út. Stb. Így az indukciós lemmát és az eddig igazolt állítást alkalmazva mindenk∈Nmellett :
w(xk) =u(¯xk) =F(xk, xk+1) +βu(¯xk+1) =F(xk, xk+1) +βw(xk+1).
Most nézzük a fordított állítást. A 7.2.3. iterációs lemma speciális esete szerint mindenn∈N-re
w(x0) =
n
X
k=0
βkF(xk, xk+1) +βn+1w(xn+1).
Így han→ ∞, akkorw(x0) =u(¯x) + lim supn→∞βnw(xn)≤u(¯x)≤w(x0).
Ezt kellett belátni.
7.2.6. definíció (a programozás op-függvénye). Adott (X, F,Γ, β) progra-mozás mellett egyG(x) ⊆Γ(x) halmazértékű függvénytpolicy függvénynek mondunk. Azt mondjuk, hogy azx¯∈Πmegengedett út aGpolicy függvény által generált, haxk+1∈G(xk)teljesül mindenkmellett. Hawaz(X, F,Γ, β) program értékfüggvénye, akkor a
G∗(x) ={y∈Γ(x) :w(x) =F(x, y) +βw(y)}
policy függvényt, optimal policy függvénynek, vagy1 op-függvénynek mond-juk.
Ha többet nem teszünk fel, akkor lehetséges, hogy G∗(x) =∅. Az aláb-biakban csak az eddig bizonyított állításokat fogalmazom meg a bevezetett policy függvény szóhasználatára támaszkodva.
7.2.7.
Azt igazoltuk, hogy
1. hax¯∈Π(x0)terv egy azx0állapotból induló optimális pálya ésβ >0, akkor a tervet a feladat op-függvénye generálja ;
2. hax¯ egy az op-függvény által generált pálya, éslim supβkw(xk) ≤0, akkorx¯ azx0 állapotból induló optimális út.
3. Ha tehát feltesszük, hogy azF pillanatnyi hasznosság korlátos, és 0<
< β < 1, úgyx¯ akkor és csak akkor optimális pálya, ha azt a feladat op-függvénye generálja !
7.2.8. állítás((SP) értékfüggvénye kielégíti a Bellman-egyenletet). Tekint-sük az(X, F, β,Γ) feladatot és annakwértékfüggvényét. Ekkor minden x0∈
∈X állapot esetén
w(x0) = sup
y∈Γ(x0)
{F(x0, y) +βw(y)}.
Bizonyítás. Haβ = 0, akkor minden x¯ ∈ Π(x0) mellett u(¯x) = F(x0, x1), ezért
w(x0) = sup
x∈Π(x¯ 0)
u(¯x) = sup
¯x∈Π(x0)
F(x0, x1) = sup
y∈Γ(x0)
F(x0, y).
A továbbiakban tehátβ 6= 0feltehető.
–1– Haw(x0) =−∞, akkor minden x¯ ∈Π(x0) pálya esetén −∞=u(¯x) =
=F(x0, x1) +βu(¯x1), ami csak úgy lehet, ha mindenu(¯x1) =−∞, tehát w(y) =−∞mindeny∈Γ(x0)mellett.
1hogy ne ennyire sértse nyelvérzékünket :)
–2– Haw(x0)∈R, akkor adottε >0-hoz létezikx¯∈Π(x0), amelyre w(x0)−ε < u(¯x) =F(x0, x1) +βu(¯x1)≤F(x0, x1) +βw(x1)≤
≤ sup
y∈Γ(x0)
{F(x0, y) +βw(y)}
az x1 ∈ Γ(x0)szerint. De ε tetszőlegesen kicsi lehet, emiatt a bal oldal legfeljebb akkora, mint a jobb oldal.
Most rögzítsünk egyy∈Γ (x0)állapotot. Legyenε >0. Ekkorw(y)− ε-hoz léteziky¯∈Π(y)út, amelyrew(y)−ε < u(¯y). Legyenx¯= (x0,y)¯ ∈Π(x0).
Ekkor az indukciós lemma szerint
F(x0, y) +βw(y)≤F(x0, y) +βu(¯y) +βε=u(¯x) +βε≤w(x0) +βε.
Újra kihasználva, hogyε tetszőleges, kapjuk a fordított irányú egyenlőtlen-séget.
–3– Haw(x0) = +∞, akkor tegyük fel indirekt, hogy van olyanKkonstans, amelyre mindeny∈Γ(x0)mellettF(x0, y) +βw(y)< K.Ekkor minden
¯
x∈Π(x0)-ra
u(¯x) =F(x0, x1) +βu(¯x1)≤F(x0, x1) +βw(x1)≤K, ami ellentmond aw(x0) =∞feltételnek.
Ezt kellett belátni.
7.2.9. állítás(Bellman-egyenlet megoldása az (SP) értékfüggvénye). Tegyük fel, hogy a v : X → R függvény kielégíti az (X, F, β,Γ) alap feladatának Bellman-egyenletét és mindenx¯∈Π terv esetén
n→∞lim βnv(xn) = 0.
Ekkor a Bellman-egyenletnek ez az egyetlen megoldása és ez a v megoldás egyben a szuprémum feladat értékfüggvénye.
A 7.3.2. „befektetés-megtakarítás”-modellben példát adunk olyan problé-mára, ahol a Bellman-egyenletnek több megoldása is van és ezek persze es-hetnek egybe a (SP) feladat egyértelműen meghatározott érték függvényével.
Bizonyítás. Legyen x0 ∈ X. Ekkor mindenx¯ ∈ Π(x0) mellett x1 ∈ Γ(x0), x2∈Γ(x1),· · · miatt, és mivelv kielégíti a Bellman-egyenletet
v(xk)≥F(xk, xk+1) +βv(xk+1) mindenk-ra. Így az a 7.2.3. iterációs lemma szerint
v(x0)≥
n
X
k=0
βkF(xk, xk+1) +βn+1v(xn+1).