Search
Student musí vytvořit třídu implementující rozhraní ui.SolutionInterface.
Třída tedy musí implementovat metody
1) Metoda solveMDP(Envirinment environment) je volána platformou a studentovi předkládá všechny stavy prostředí tak, že student zavolá metodu environment.getAllStates(). Student obdrží seznam objektů, které implementují rozhraní ui.StudentStateInterface. Toto rozhraní zamlžuje studentovi veškeré informace o stavu (jako pozici, druh stavu apod.), protože k řešení úlohy tyto informace nejsou potřebné. Student může eventuálně nastavit vlastnost prostředí – pravděpodobnost, že akce vyvolá předpokládaný následek – tak, že na začátku metody solveMDP(Envirinment environment) zavolá metodu environment.setProbabilityOfCorrectTransition s hodnotou pravděpodobnosti. Zároveň může student pro získané stavy zjistit jejich ohodnocení (reward) např. takto:
StudentStateInterface stateA = environment.getAllStates().get(0); // prvni stav double reward = environment.getReward(stateA);
Student také může zjistit pravděpodobnost přechodu ze stavu A do stavu B za použití nějaké konkrétní akce (v tomto případě akce jdi na sever) např. takto:
StudentStateInterface stateB = environment.getAllStates().get(1); // druhy stav environment.getTransitionProbability(stateA, Action.GO_NORTH, stateB);
Předpokládá se, že v metodě solveMDP(Environment environment) budou všechny náročné výpočty.
2) Jakmile skončí metoda solveMDP(Environment environment) se svými výpočty, platforma začne volat metody getActionForState(StudentStateInterface state) a metodu getValueForState(StudentStateInterface state) a zobrazí jejich výsledky.
3) Metoda getActionForState(StudentStateInterface state) vrátí pro daný stav jednu z možných akcí (z výčtu ui.Action). Stavy lze na shodnost porovnávat pomocí ==, protože platforma studentovi předkládá v metodě getActionForState(StudentStateInterface state) stejné instance stavů, jako ty instance, které student získal z prostředí pomocí environment.getAllStates().
4) Metoda getValueForState(StudentStateInterface state) vrátí pro daný stav hodnotu. Tato hodnota je závislá na použité metodě řešení. Pro porovnávání stavů platí totéž jako v bodě 3).