Implementujte metodu learn_policy(env)
v souboru rl_agent.py
který nahrajte do Brute. env
je tentokrát typu HardMaze
. Očekávaným výstupem je policy
, slovník klíčovaný stavy, hodnoty mohou být z [0,1,2,3], což odpovídá up, right, down, left (N,E,S,W). Limit na učení na jednom postředí je 20 sekund. Nezapomeňte před odevzdáním vypnout vizualizace, viz VERBOSITY v rl_sandbox.py
.
Opět budeme používat kostičkový svět. Stahněte si aktualizovaný balík kuimaze.zip
. Vizualizační metody jsou stejné, rovněž i inicializace, ale základní filozofie práce s prostředím je odlišná. Nemáme mapu a prostředí můžeme prozkoumávat pomocí hlavní metody env.step(action)
. Prostředí-simulátor ví, jaký je aktuální stav. Hledáme co nejlepší cestu ze startu do cíle. Chceme cestu s co nejvyšším očekávaným součtem zlevněných odměn.
obv, reward, done, _ = env.step(action) state = obv[0:2]
Akci můžete získat třeba náhodným výběrem:
action = env.action_space.sample()
Součástí balíku je i rl_sandbox.py
, kde je vidět základní náhodné procházení, možná inicializace tabulky Q hodnot, vizualizace atp.
Další příklady na stránce AI-Gym. Připomeňme z přednášky, že akce je nutná, abychom se o prostředí vůbec něco dozvěděli.
Termín odevzdání úlohy lze vidět v Upload systému.
Hodnocení je rozděleno následovně:
Hodnocený výkon | min | max | poznámka |
---|---|---|---|
Kvalita RL algoritmu | 0 | 5 | Ohodnocení algoritmu automatickým evaluačním systémem. |
Kvalita kódu | 0 | 2 | Komentáře, struktura, elegance, čistota kódu, vhodné pojmenování proměnných… |
Kvalita kódu (2 body):
Můžete následovat pro Python určený PEP8. Většina editorů (jistě PyCharm) na nedostatky s ohledem na PEP8 i sám upozorňuje. Můžete se také inspirovat např. zde nebo si přečíst o idiomatickém pythonu na mediu či u pythonu.