Mówi się tak na wszystkie algorytmy RL, które mogą być użyte do znalezienia optymalnego policy, gdy znany jest dokładny model środowiska.
Jest to metoda wykorzystująca Bootstrapping (RL).
Przykład algorytmu:
Asynchronous dynamic programming
Pod tą nazwą kryją się algorytmy, które nie wymagają wielokrotnego przeglądnięcia wszystkich stanów. Dzięki tego typu algorytmom niektóre stany możemy aktualizować częściej, a inne rzadziej (lub nawet wcale). Co więcej, dzięki takim algorytmom może aktualizować np. tylko te stany w których znajduje się agent i aktualizować je po każdym jego ruchu, więc możemy uczyć się w czasie rzeczywistym!
Przykład algorytmu:
Złożoność algorytmu
Dynamic programming znajduje optymalną politykę w czasie wielomianowym względem liczby stanów i akcji. Generalnie jest skuteczny i w miarę szybki (tak piszą w książce). W dużych problemach można użyć asynchronous dynamic programming.