Strojové učenie

Domáca úloha 4 - Reinforcement Learning


Vyberte si akúkoľvek úlohu, kde je možné použiť učenie odmenou a trestom (RL). Napríklad nejaká nie veľmi zložitá stolová hra pre jedného, príp. viacerých hráčov, alebo agent, ktorý sa pohybuje na mriežke a učí sa stratégiu, aby našiel čo najviac jedla a vyhol sa priepastiam, pričom stratégia by mala mať možnosť povedať, aká akcia je vhodná na základe stavu (ktorý môže zahŕňať aj informáciu o prostredí zo senzorov, ktoré nie sú zašumené).

1. Popíšte MDP, ktorý definuje zvolený problém. (minimálne funkcia rewardu nie je známa - bude sa len vypočítavať z aktuálnych dejov "v prostredí")

2. Vyberte si vhodný algoritmus (typicky Q-learning)

3. Naprogramujte jednoduchú simuláciu pre hru/agenta, z ktorej sa bude dať vypočítať reward po vykonaní akcií v stavoch (napr. hráč v hre vyhrá, prípadne získa alebo stratí nejaké body, agent nájde jedlo a pod.) Upresnenie: pod "simuláciou" sa nemyslí, že musíte sami programovať nejaký vlastný simulátor, alebo peknú grafickú vizualizáciu (aj keď môžete). Ide o to, aby ste mali naprogramovanú reprezentáciu stavu, akcií a aby "simulácia" dokázala vypočítať nasledujúci stav pre východiskový stav a akciu a tiež reward, stále platí, že ak využijete nejaký existujúci softvér, knižnice a pod. tak je to fajn.

4. Natrénujte riešenie (napr. nájdite ohodnotenie Q(s,a) pre maximlizačnú policy) a zmerajte jeho úspešnosť. (8 bodov)

5. Porovnajte natrénované riešenie s ľudským hráčom/riešiteľom. (2 body)

Odovzdajte - programy, ktoré ste použili, odkazy na prípadné knižnice, ak ste nejaké použili a popis riešenia s výsledkami vo forme tabuliek/grafov.

Riešenie prosím odovzdajte ako jeden zip-súbor do systému LIST ideálne do konca kalendárneho roka, ale určite do skúšky.