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ů:

# On Linux
pip3 install --user gym numpy
sudo apt-get install python3-pil.imagetk
 
# On Mac with installed Homebrew package manager
pip3 install gym numpy
pip3 install Pillow
brew install python-tk
 
# On Windows
pip3 install gym numpy
pip3 install Pillow

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.

Cena přechodu mezi dvěma sousedními políčky je vždy větší nebo rovna euklidovské vzdálenosti souřadnic těchto políček.

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.

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 = env.reset() # returns start_pos, goal_pos
positions_with_costs = env.expand(position) # returns [(pos, cost)] list

Třída Agent a její metody

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

metoda vstupní parametry výstupní parametry vysvětlení
__init__ environmnent žádné Vytvoření agenta.
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 (v závislosti na vlastnostech prostředí) např.

courses/b3b33kui/cviceni/prohledavani_stavoveho_prostoru/specifikace.txt · Last modified: 2022/02/18 08:39 by peckama2