Search
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.
learn_policy(env)
rl_agent.py
env
HardMaze
policy
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.
kuimaze.zip
env.step(action)
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ě:
Kvalita kódu (1 body):
Můžete následovat pro Python určený PEP8. Většina editorů (jistě PyCharm) na nedostatky s ohledem na PEP8 i sama upozorňuje. Můžete se také inspirovat např. zde nebo si přečíst o idiomatickém pythonu na mediu či u pythonu.