Hra "Cihličky": Na šachovnici 8x8 polí se náhodně objevují a mizejí cihličky. Úkolem agenta je posbírat co nejvíc cihliček. Agent se pohybuje po šachovnici ve čtyřech základních směrech a cihličku sebere, pokud vstoupí na políčko, na kterém se cihlička nachází. V jednom kroku udělá nejprve tah agent a pak se objevují a mizejí cihličky. Agent tedy jistě může v příštím kroku sebrat cihličku, která je od něj vzdálena jedno políčko.
Během hodiny jsme vytvořili tři skupiny po pěti studentech. Každá představovala jednoho agenta. Úkolem skupiny bylo vymyslet algoritmus pohybu agenta (dostatečně jednoduchý, aby jej byli schopni sami v reálném čase spočítat). Následně všichni tři agenti hráli "proti sobě" na jediné šachovnici.
V průběhu hry byly algoritmy podrobeny několika zkouškám — byla měněna dynamika prostředí, bzlo testováno podplánování a přeplánování (k vysvětlení se dostaneme později při výkladu BDI), reakce na nové příležitosti apod. Dvě skupiny dodržely zadání; jejich algoritmy plánovaly vždy jen následující krok. Jedna skupina se chovala opravdu agentově — odhalila, kde se pohybují druzí dva agenti a řídila se podle toho. Chcete-li se svěřit se svým algoritmem, prosím zde do komentářů — budu jen rád.
Užitkové funkce: Nad běhy nebo nad stavy, přiřazují jim reálná čísla. Agent nemá zadaný konkrétní algoritmus, jeho úkolem je maximalizovat užitkovou funkci (užitkovost). Užitkové funkce nad běhy podporují dlouhodobé cíle, ale bývá obtížné je počítat, a někdy i jen definovat. K tomu, jak užitkovost maximalizovat, se dostaneme příští hodinu.
Nebyli jste na přednášce?
Přijďte příště.
Čtení
žádné
Domácí úloha
Definujte užitkovou funkci nad běhy hry Cihličky. Uvažujte jen jednoho agenta (objevování a mizení cihliček je tedy opravdu náhodné, rovnoměrné). Funkce by se měla dát dobře (rychle, jednoduše, ...) spočítat. Neexistuje jen jedno správné řešení. Počet posbíraných cihliček není správné řešení. Odpovědi do mailu.