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.

Źródło: Reinforcement Learning An introduction