Podręcznik
Wersja podręcznika: 1.0
Data publikacji: 01.01.2022 r.
Wykłady
W1…WN, odpowiadające w sumie ok. 10-12 godz. standardowego wykładu
1. Programowanie dynamiczne
1.1. Formalizacja elementów PD
Programowanie dynamiczne wymaga wyróżnienia etapów (ang. stages), w których są podejmowane decyzje (akcje, ang. actions) specyficzne dla konkretnych stanów (ang. states) procesu decyzyjnego. Przejścia (ang. transitions) z jednego stanu do drugiego, wiążą się z kosztem i są efektem podjętej decyzji, lub losowego zdarzenia (deterministyczne vs. stochastyczne PD).
Własność Markowa. Stan (czyli wartość) zmiennych decyzyjnych
w danym etapie
zależy tylko od stanu oraz akcji
z poprzedniego etapu
, zgodnie z funkcją przejścia
:
Proces decyzyjny spełniający tę własność jest procesem Markowa, który można przedstawić tak jak na poniższym schemacie.
Zauważmy, że w końcowym etapie T nie podejmujemy decyzji.





Proces decyzyjny spełniający tę własność jest procesem Markowa, który można przedstawić tak jak na poniższym schemacie.

Zauważmy, że w końcowym etapie T nie podejmujemy decyzji.
Własność Markowa musi być spełniona aby można było zastosować PD. Drugim warunkiem jest możliwość dekompozycji funkcji celu na stany i etapy.
Separowalność funkcji celu. Funkcja celu jest separowalna jeśli można ją zdekomponować na mniejsze funkcje, operujące na zmiennych i parametrach odnoszących się do konkretnych etapów:

Najczesciej oznacza to addytywnosc komponentów f. celu. Inna mozliwosc to np. mnożenie, etc..

Najczesciej oznacza to addytywnosc komponentów f. celu. Inna mozliwosc to np. mnożenie, etc..
Podsumowując, dla problemów spełniających powyższe własności definiujemy następujące elementy PD:
- Etapy,
- Stany – wartości, które mogą przyjmować zmienne decyzyjne w każdym z etapów,
- Przejścia z jednego stanu do kolejnego, które są efektem podjętej decyzji,
- Funkcja Bellmana (value function), która określa w konkretnym etapie najlepszą wartość funkcji celu, osiągalną z konkretnego stanu.