Table of Contents

3. Markovské rozhodovací procesy

Vaším úkolem je implementovat metody value iteration a policy iteration pro řešení zadaného MDP.

Specifikace

V modulu mdp_agent.py implementujte funkce

  1. find_policy_via_value_iteration(problem, discount_factor, epsilon) a
  2. find_policy_via_policy_iteration(problem, discount_factor).

Funkce mají následující parametry:

Očekávaný výstup: obě funkce by měly vracet strategii (policy) reprezentovanou jako slovník, kde klíčem je buď instance třídy State nebo tuple (x,y) a hodnotou je optimální akce pro daný stav. Stačí uvažovat dosažitelné stavy a pro terminální stavy nechť je výstup None.

Modul mdp_agent.py odevzdejte do BRUTE.

Timeout: na jednotlivé běhy value/policy iteration pro danou instanci problému máte časový limit 30s.

Odevzdané řešení musí odpovídat algoritmům ze zadání. Například není možné místo algoritmu policy iteration odevzdat kód pro value iteration. V takovém případě může být celá úloha ohodnocena nula body.

Jak na to?