ML Atlas

09 · Wzmocnienie · 5 min czytania · aktualizacja

Proces decyzyjny Markowa (MDP) — czym są stany, akcje, nagrody i polityka?

W skrócie

MDP opisuje zadanie agenta: stany, akcje, prawdopodobieństwa przejść, nagrody i dyskonto. Na planszy 4 × 4 z poślizgiem prosta polityka jest warta −3,13.

Co to jest

Proces decyzyjny Markowa (Markov decision process, MDP) to matematyczny opis zadania, w którym agent podejmuje decyzje krok po kroku, a skutki są częściowo losowe. Na tym opisie stoi prawie całe uczenie ze wzmocnieniem. Model sformułował Richard Bellman w latach 50. XX wieku, rozwinął go Ronald Howard w 1960 roku.

MDP ma pięć składników. Stany S — możliwe sytuacje, np. pola planszy. Akcje A — co agent może zrobić. Prawdopodobieństwa przejść P(s′ | s, a) — dokąd trafi agent po akcji a w stanie s. Nagrody R — liczba, którą dostaje za przejście. Współczynnik dyskontowania γ między 0 a 1 — ile warta jest nagroda odłożona o krok.

Polityka (strategia) π to reguła wyboru akcji: w każdym stanie mówi, co zrobić. Celem jest polityka, która maksymalizuje oczekiwany zdyskontowany zwrot: G = r₁ + γ·r₂ + γ²·r₃ + … Wartość stanu V^π(s) to średni zwrot, jeśli startujemy w s i trzymamy się polityki π.

Mechanizm — dlaczego tak działa

stan, akcja, poślizg, nagroda+10−10Skrok −1, γ = 0,9stan80%20% w bokakcja: w prawoP(s′ | s, a) nie zależy od przebytej drogi.
Schemat: stan, akcja, poślizg, nagroda

„Markowa” oznacza jedno założenie: przyszłość zależy tylko od obecnego stanu i akcji, a nie od drogi, którą agent tu przyszedł. Formalnie P(s′ | s, a, cała historia) = P(s′ | s, a). Dzięki temu stan wystarcza do decyzji, a polityka może być prostą tabelką „stan → akcja”, bez pamięci.

To założenie dotyczy opisu, a nie świata. Sama pozycja samochodu nie jest stanem Markowa — bez prędkości nie przewidzisz, gdzie auto będzie za sekundę; pozycja z prędkością już tak. Projektując MDP, dokłada się do stanu to, czego brakuje do przewidywania. Gdy agent nie widzi pełnego stanu (karty przeciwnika, szum czujników), mówimy o częściowo obserwowalnym MDP (POMDP), który jest znacznie trudniejszy.

Dlaczego dyskonto γ? Po pierwsze, w zadaniach bez końca suma nagród mogłaby być nieskończona; przy γ < 1 i ograniczonych nagrodach zawsze jest skończona. Po drugie, wyraża preferencję: nagroda teraz jest pewniejsza niż za sto kroków. Przy γ = 0,9 nagroda za 10 kroków waży 0,9¹⁰ ≈ 0,35 nagrody natychmiastowej.

Kluczowa własność: wartość polityki spełnia równanie V^π(s) = R(s, π(s)) + γ · Σ P(s′ | s, π(s)) · V^π(s′). Słownie: wartość stanu to oczekiwana nagroda za najbliższy krok plus zdyskontowana średnia wartość stanów, do których trafimy. Dla ustalonej polityki to układ równań liniowych V = R + γPV, jeden na stan. Rozwiązanie V = (I − γP)⁻¹R daje wartości dokładnie, bez symulacji. Szukanie najlepszej polityki to już inne zadanie — opisuje je hasło o równaniu Bellmana i iteracji wartości.

Gdzie to się psuje. Liczba stanów rośnie wykładniczo z liczbą cech opisu, więc tabele przestają się mieścić w pamięci. Model przejść P zwykle jest nieznany i trzeba go szacować albo uczyć się bez niego (Q-learning). Nagroda jest częścią projektu: źle dobrana skłania agenta do skrótów, których nikt nie chciał.

Na przykładzie

Plansza 4 × 4. Agent startuje w lewym dolnym rogu i chce dojść do celu w prawym górnym (+10). W drugim wierszu od góry, w drugiej kolumnie, jest pułapka (−10). Każdy inny krok kosztuje −1. Podłoga jest śliska: akcja udaje się w 80% przypadków, a w 20% agent ześlizguje się w bok.

Weźmy prostą politykę: „idź w górę do górnej krawędzi, potem w prawo”. Bez poślizgu to 6 ruchów i zwrot 1,81. Z poślizgiem droga biegnie tuż obok pułapki: z lewej kolumny poślizg w prawo i z górnego wiersza poślizg w dół wpychają w nią agenta. A gdy poślizg przeniesie go do drugiej kolumny, dalsze „w górę” prowadzi prosto w pułapkę. Rozwiązanie układu równań daje wartość startu −3,13. Polityka kończy w pułapce w 34,7% przypadków, a w celu w 65,3%. Symulacja 100 000 epizodów potwierdza wynik: średni zwrot −3,14.

Własność Markowa widać na polu tuż przed celem w górnym wierszu. Akcja „w prawo” daje tam zawsze to samo: 80% cel, 10% zostaje w miejscu (ściana od góry), 10% zjazd w dół. Nieważne, czy agent przyszedł tam po 3 krokach, czy po 30. Dlatego wystarczy jedna liczba na stan.

Ta plansza ma 14 pól, na których trzeba wybrać akcję, więc różnych polityk deterministycznych jest 4¹⁴ = 268 435 456. Sprawdzanie wszystkich po kolei byłoby nierozsądne; iteracja wartości ustala najlepszą już po 7 przebiegach (wartości do 10⁻⁸ — po 33) i podnosi wartość startu do 0,019.

Jak to policzono
  • Plansza 4 × 4, wiersze liczone od góry. Start: lewy dolny róg. Cel: prawy górny róg, nagroda +10, koniec epizodu. Pułapka: wiersz 2, kolumna 2, nagroda −10, koniec epizodu. Wejście na każde inne pole (także odbicie od ściany i pozostanie w miejscu): −1; nagroda za cel i pułapkę nie zawiera kosztu kroku, a ich wartość po zakończeniu to 0. γ = 0,9.
  • Akcje: góra, prawo, dół, lewo. Zamierzony ruch z prawdopodobieństwem 0,8, każdy z dwóch prostopadłych po 0,1. Ruch w ścianę = zostaje w miejscu.
  • Polityka: w wierszach 2–4 „w górę”, w wierszu 1 „w prawo”. Wartości liczone dokładnie: numpy.linalg.solve(I − 0,9·P_π, R_π).
  • Wynik: V(start) = −3,130; prawdopodobieństwo pułapki 34,7%, celu 65,3% (z łańcucha pochłaniającego). Bez poślizgu: −1 − 0,9 − 0,81 − 0,729 − 0,6561 + 10·0,9⁵ = 1,81.
  • Kontrola: 100 000 epizodów symulacji, random.Random(0), w każdym kroku jedno random() porównywane z kumulowanymi prawdopodobieństwami (zamierzony ruch, prostopadły zgodnie z ruchem wskazówek zegara, prostopadły przeciwnie) — średni zwrot −3,144 (błąd standardowy 0,016), pułapka w 34,8% epizodów, średnio 6,1 kroku. Inna kolejność losowań zmienia ostatnie cyfry w granicach błędu.
  • Wartość 0,019, 7 i 33 przebiegi iteracji wartości: hasło o równaniu Bellmana, ta sama plansza. Polityk deterministycznych: 4¹⁴ = 268 435 456 (14 pól nieterminalnych).

W praktyce

  • Zanim wybierzesz algorytm, zapisz MDP wprost: co jest stanem, jakie są akcje, kiedy epizod się kończy, jaka nagroda i jakie γ. Połowa problemów z RL to źle zdefiniowany stan albo nagroda.
  • Biblioteka gymnasium dostarcza gotowe MDP z jednolitym interfejsem reset() i step(action); FrozenLake-v1 to śliska plansza podobna do przykładu (domyślnie ruch zamierzony i każdy z prostopadłych po 1/3).
  • Małe MDP z modelem rozwiązuje się dokładnie: wartość polityki z układu równań (numpy.linalg.solve), politykę optymalną — iteracją wartości lub polityki.
  • Typowe γ to 0,9–0,99. Im bliżej 1, tym dalej agent patrzy, ale tym wolniej zbiegają algorytmy.
  • Gdy obserwacja nie wystarcza do przewidywania, dołóż do stanu historię: kilka ostatnich klatek, prędkość, stan pamięci sieci rekurencyjnej.
  • Typowy błąd: nagroda za cel pośredni (np. za zbliżanie się) może nauczyć agenta krążenia wokół celu zamiast dojścia.

Najczęstsze pytania

Czym różni się MDP od łańcucha Markowa?
Łańcuch Markowa ma tylko stany i przejścia — nikt nie podejmuje decyzji. MDP dokłada akcje i nagrody. Gdy ustalimy politykę, MDP staje się zwykłym łańcuchem Markowa z nagrodami i dlatego jego wartości liczy się z układu równań liniowych.
Po co dyskonto, skoro epizod i tak się kończy?
W zadaniach z końcem można użyć γ = 1, o ile każda polityka kiedyś kończy epizod. γ < 1 nadal pomaga: gwarantuje skończone wartości, przyspiesza zbieżność algorytmów i nagradza szybsze dojście do celu.
Czy agent musi znać prawdopodobieństwa przejść?
Nie. Gdy model jest znany, politykę optymalną liczy się wprost (programowanie dynamiczne). Gdy nie jest, agent uczy się z doświadczenia — tak działa Q-learning. Sam MDP jest opisem problemu, a nie algorytmem.
Co zrobić, gdy stan nie ma własności Markowa?
Rozszerzyć stan o brakujące informacje albo potraktować zadanie jako POMDP, w którym agent utrzymuje rozkład przekonań o ukrytym stanie. W praktyce głębokiego RL często po prostu podaje się sieci kilka ostatnich obserwacji.

Źródła

  • Bellman, R. (1957). „A Markovian decision process”. Journal of Mathematics and Mechanics, 6(5), 679–684.
  • Howard, R. A. (1960). Dynamic Programming and Markov Processes. MIT Press.
  • Puterman, M. L. (1994). Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley.
  • Sutton, R. S., Barto, A. G. (2018). Reinforcement Learning: An Introduction, 2nd ed., MIT Press, rozdz. 3 (Finite Markov Decision Processes). http://incompleteideas.net/book/the-book-2nd.html
  • Gymnasium: dokumentacja środowiska FrozenLake, https://gymnasium.farama.org/environments/toy_text/frozen_lake/

Zobacz też