Warning
This page is located in archive. Go to the latest version of this course pages.

Specifikace

Podrobná specifikace toho, co musí agent umět a jak musí vypadat, aby mohl být otestován automatickým evaluačním systémem.

Kuimaze prostředí

Stáhněte si testovací prostředí kuimaze_search.zip. Doinstalujte zavislosti pomocí příkazů:

pip3 install gym numpy
sudo apt-get install python3-pil.imagetk

Ke všem metodám a funkcím ve studentském balíčku kuimaze_search.zip je k dispozici dokumentace v podsložce '/kuimaze_doc/'. Tato dokumentace je také dostupná online na Dokumentace link.

Soubor k odevzdání

  • Agent musí fungovat v Pythonu 3, který bude nainstalován na strojích pro automatické hodnocení! Jinak se může stát, že vaše kódy nebudou fungovat správně!

Odevzdávat budete ZIP archív s vaším modulem agent.py a případně se všemi moduly, které tento modul importuje. Tyto soubory musí být v kořeni archívu, archív nesmí obsahovat žádné adresáře! ZIP archív (a jen tento soubor) nahrajete do upload systému.

Třída Agent a její metody

Balíček obsahuje soubor easy_example.py, který slouží jako předloha pro vytvoření vašeho agenta a také i jako ukázka zacházení s daným prostředím. Rychlý přehled základních metod:

import kuimaze # package import
MAP = 'maps/normal/normal9.bmp'
env = kuimaze.InfEasyMaze(map_image=MAP) # create the environment
observation = self.environment.reset() # returns start_pos, goal_pos
positions_with_costs = env.expand(position) # returns [(pos, cost)] list

Vašeho agenta (v souboru 'agent.py') implementujete ve formě třídy SearchAgent (soubor '/kuimaze/searchagent.py' v kuimaze_search.zip), která bude poskytovat tyto metody:

metoda vstupní parametry výstupní parametry vysvětlení
__init__ environmnent žádné Vytvoření agenta.
heuristic_function position, goal value Metoda vrátí hodnotu přípustné heuristické funkce ze stavu position do stavu cílového stavu goal.
find_path žádné cesta Vygenerování cesty. Metoda vrací list se souřadnicemi cesty ve tvaru [(x1, y1), (x2, y2), … ]. Musí začínat z počátečního stavu a končit v cílovém stavu. Pokud žádná cesta neexistuje, vraťte None.

Visualizace

V případě úspěchu, můžete vidět na konci např.

courses/b3b33kui/cviceni/prohledavani_stavoveho_prostoru/specifikace.txt · Last modified: 2018/03/29 09:46 by svarnpet