• Nem Talált Eredményt

Determinisztikus eset

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).