Pregled bibliografske jedinice broj: 946701
Primjena strojnog učenja u šahu
Primjena strojnog učenja u šahu, 2018., diplomski rad, diplomski, Odjel za informatiku, Rijeka
CROSBI ID: 946701 Za ispravke kontaktirajte CROSBI podršku putem web obrasca
Naslov
Primjena strojnog učenja u šahu
(Data Mining for Chess)
Autori
Jokić, Jovan
Vrsta, podvrsta i kategorija rada
Ocjenski radovi, diplomski rad, diplomski
Fakultet
Odjel za informatiku
Mjesto
Rijeka
Datum
21.06
Godina
2018
Stranica
59
Mentor
Martinčić-Ipšić, Sanda
Ključne riječi
šah, evaluacija pozicija, evaluacijska funkcija, kompleksne mreže, mrežne značajke, klasifikacija pozicija, slučajna stabla, strojno učenje, Python, NetworkX, chess-py, šahovski motori, PGN
(chess, position evaluation, evaluation function, position classification, random forests, machine learning, Python, NetworkX, chess-py, chess engines, PGN)
Sažetak
Cilj ovog diplomskog rada je izgraditi model evaluacije šahovskih pozicija koji upošljava isključivo informacije esktrahirane iz mrežnih značajki pozicija šahovskih figura na ploči. Međusobni odnosi figura na šahovskoj ploči, kao i odnosi figura i polja koja okupiraju, koji opisuju određene taktičke i strateške elemente koje tipično nalazimo u tijeku šahovske partije, će se modelirati kompleksnom mrežom. Ideja je pokazati da koristeći samo određene mjere koje opisuju strukturu kompleksne mreže, u kojoj su prikazane sve pozicije u igri, možemo naučiti klasifikator pozicija koji može bolje predvidjeti krajnji ishod partije od klasične Shannonove evaluacijske funkcije. Shannonova evaluacijska funkcija kvantificira materijalno stanje na ploči obje strane, mobilnost figura, sigurnost kralja, te kvalitetu pješačke strukture. Klasifikator kao ulaz ima vektore značajki određene iz 4 tipa mreža (mreža podrške, mreža mobilnosti, pozicijska mreža, mreža praćenja) konstruiranih iz baze majstorskih partija, od kojih svaka modelira određeni aspekt igre. Vektor značajki sadrži značajke dobivene različitim mjerama strukture mreže. Postupci strojnog učenja se primjenjuju za određivanje značajki koje imaju najveću prediktivnu moć po pitanju krajnjeg ishoda partije. Za testiranje mogućih značajki koriste se slučajna stabla. Također, eksperimentalno se, pomoću Python skripte, određuju osnovne evaluacije statičkih pozicija u šahovskim partijama pomoću Stockfish šahovskog programa. Nakon toga se značajke od interesa, te pripadne evaluacijske ciljne klase (pobjeda bijelog ili crnog igrača ili remi), udružuju u ulazne vektore za finalni klasifikator pozicija čiji rezultati se uspoređuju sa Shannonovom evaluacijskom funkcijom. Pokazano je kako ovakva evaluacijska metoda daje bolje rezultate (75% točnost) od klasične Shannon evaluacijske funkcije (52% točnost) za testnu bazu partija, s naknadnom interpretacijom i diskusijom dobivenih rezultata. Za potrebe parsiranja PGN (engl. „Portable Game Notation”) formata, reprezentacije statičkih pozicija u šahu, te kreiranja mreža/grafova koji sadrže notirane poteze u tijeku šahovske partije iz baze majstorskih partija se koristi odgovarajući Python program i moduli poput NetworkX i chess-py.
Izvorni jezik
Hrvatski
Znanstvena područja
Računarstvo, Informacijske i komunikacijske znanosti
POVEZANOST RADA
Ustanove:
Fakultet informatike i digitalnih tehnologija, Rijeka
Profili:
Sanda Martinčić - Ipšić
(mentor)