Hugo alias Exploze
of Prolog and Artificial inteligency

Jednim z predmetu zkoumani umele inteligence je aplikace heuristik. Typickym a oblibenym predstavitelem moznosti jejich vyuziti jsou tzv. hry pro dva hrace s uplnou informaci. Jedna se o bezne hry typu sachy, dama, piskvorky, kdy oba hraci znaji cele postaveni hracich objektu, jde o to vymyslet vlastni strategii, odhadnout tahy protihrace a hlavne zvitezit.

Hra, ktera je predmetem meho projektu, se v literature nazyva Exploze, dlouhym vyvojem od raneho mladi az do dneska se ji rika Hugo. Prodelala nekolik vyvojovych etap od Papiru pres Basic a C az do posledni podoby zpracovavane v Prologu, konkretne chodici pod Eclipse v 3.5.1.

Abychom dlouho neslapali kolem horke kase a abyste vedeli vo co go strucna pravidla.

Zde je Dosova verze (napsana v Borland C) napsana dlouho pred tim nez jsem si zapsal Umelou inteligenci.

Vlastni program v Prologu. Umoznuje snadnou modifikaci kombinace hracu (moznosti: clovek, nahoda, algoritmus minimax ci alfabeta). V teto verzi je velikost hraciho pole omezena na 4x4, bezne se hraje na 6x6. Algoritmus minimax a alfabeta vyuziva zanoreni do 3 urovne (modifikovatelne), tzn. uvazuje kam muzu hrat ja, kam potom protihrac a kam znovu ja, tedy 3 tahy dopredu. Algoritmus alfabeta prorezava strom vsech moznosti, ktery generuje minimax.

Heuristiky jsou patrne na konci programu. Jde o to ohodnotit cisly 0-30000 libovolnou situaci na hraci plose. Dlouhym zkoumanim se mi zda, ze nejvyhodnejsi strategii je jednoduche dosazeni co nejvetsiho poctu punt'u a obsazenosti herne vyhodnych rohu. Take neni spatna obranna strategie: ziskat co nejvice punt'u, ale rozlozit je na co nejvice policek.

BUG: Hm, priznam to. Porad to jeste nefunguje docela, obcas se skrze alfabetu nebo minimax propasuje jako nejvyhodnejsi policko, kam tahnout, pole na kterem stoji protihrac, nebo se promenne Xp,Yp vubec nenainstancuji. Pokud by se nekomu v Prologu sbehlejsimu podarilo tyto chyby odtranit, budu rad kdyz mi na nize uvedenou adresu napise...


dotazy a pripominky armon@fi.muni.cz

Jan Stambera, LDS 13 Obora, Brno 635 00, tel. 793253