====== AI Gym: Frozen Lake ====== Za výběr úlohy děkuji Jiřímu Valáškovi. Popis prostředí [[https://gym.openai.com/envs/FrozenLake8x8-v0/|Frozen Lake na AI Gym]]. ===== Problém ===== Je zadána 2D mapa 8x8 / 4x4 s počáteční a cílovou polohou, ledem a dírami. Úkolem je navrhnout takovou řídicí strategii, která vám umožní dostat se co nejrychleji do cíle, aniž byste spadli do díry s ledovou vodou. V mapě se pohybujete doprava, doleva, nahoru a dolů. Led může být * nekluzký, takže se pohybujeme ve směru, kam chceme, nebo * kluzký, takže se pohybujeme náhodně a do stran (chceme-li nahoru, pak p(nahoru) = 0.33, p(doleva) = 0.33, p(doprava) = 0.33, p(dolu) = 0), rozdělení těchto pravděpodobností se dá upravit, aby nebylo rovnoměrné). Simulace končí pokud jsme spadli do díry, nebo našli cíl. Hodnocení od AI GYM je * 0, pokud jsme spali do díry * 1 pokud jsme došli do cíle (možno přepsat na iverzní (1/x) manhattonovskou vzdálenost do cíle + penalizace za díry ?) Pro kluzký povrch můžeme použít N běhů a spočítat pravděpodobnost doražení do cíle. Pro nekluzký povrch je problém, že budeme mít hodnoticí funkci 0, kdykoliv jsme nedošli do cíle bez rozdílu, jak daleko jsme došli. ===== Možné reprezentace ===== * 4x4/8x8 matice/vektor (možno zadat i větší) reprezentující strategii (policy): hodnota v každé buňce říká, kterým směrem se chcete dát. * (Návrh od PP, nevím, zda je to realizovatelné:) Matice/vektor čísel představujících výhodnost políčka (jak vhodné je jít přes něj do cíle). Rozhodnutí v každém políčku je pak dáno směrem, v němž leží nejvýhodnější soused. ===== Úkoly ===== * najít co nejlepší strategii * zkusit menší/větší mapu, pokud úloha bude moc/málo těžká * zkusit změnit hodnocení a řešit i nekluzký led * zkusit různé pravděpodobnostní rozdělení sklouznutí ===== Doporučení od PP ===== * Změnit vizuální reprezentaci políček mapy, díry (''H'') nahradit třeba znakem ''.'' * Ujistěte se, že při opakovaných spouštěních používáte vždy stejnou mapu. Neinicializuje třeba AI Gym pokaždé mapu jinak? * Zafixujte si hodnotící funkci. Pokud to snadno jde, doporučuji, aby vracela detailnější hodnoty, než jen 0 a 1. Vzdálenost k cíli je dobrý kandidát. Zároveň by ale mělo platit, že delší cesta, kterou se dostanete spolehlivě do cíle, je lepší než krátká cesta, která skončí v díře blízko cíle.