ftn-ai-lab / sc-2017-siit

Soft kompjuting - 2017 - Softversko inženjerstvo i informacione tehnologije
MIT License
1 stars 6 forks source link

Bot za igranje tetrisa #22

Closed greenenvy2 closed 6 years ago

greenenvy2 commented 6 years ago

Članovi tima:

sw-5/2014 Stefan Colić sw-34/2014 Luka Mihajlović

Definicija problema

Ideja je napraviti bota koji će simulacijom komandi na tastaturi (levo, desno, gore (za rotaciju figura), space (za instant drop figure)) igrati tetris preko interneta na linku https://tetris.com/play-tetris

Metodologije

Bot će biti implementiran na 2 načina. Prvi način će za trenutno stanje tetrisa i nadolazeće figure na osnovu heuristike (A*), koja će se formirati na osnovu predefinisanih vrednosti, odrediti koji je potez najbolji od svih mogućih poteza pri čemu će genetski algoritam vršiti korigovanje predefinisanih vrednosti za računanje heuristike nakon svake odigrane partije. Drugi način će koristiti reinforcement learning, tj. Q-Learning algoritam koji će u početku skroz slučajno generisati poteze, a onda sa svakom partijom će verovatnoća slučajnog poteza opadati, pri čemu će se obraćati neuronskoj mreži za sledeći potez. Prepoznavanje nadolazeće figure će se vršiti u gornja 2 reda tetrisa na osnovu boje (pošto radimo za konkretnu verziju tetrisa, svaka figura je različite boje). Za implementaciju će biti korišćen python programski jezik.

Skup podataka

S obzirom da Q-Learning algoritam koristi neuronsku mrežu, podaci koji će se koristiti za obučavanje će za liste uredjenih petorki (stanje_slagalice, akcija, rezultat, sledeće_stanje, da_li_je_igra_gotova), sračunavati odgovarajuću vrednost koja će se zajedno sa stanjem koristiti za obučavanje neuronske mreže. Ta lista petorki (Experience replay) će se popunjavati i brisati sa svakom igrom, a na kraju svake igre će se neuronska mreža obučavati kako bi se poboljšale perfomanse pri svakoj sledećoj igri.

Evaluacija

Evaluaciju ćemo vršiti na osnovu broja počišćenih linija, pri čemu možemo beležiti broj očićenih linija u svakoj partiji i pratiti napredak sa svakom igrom. Takođe možemo te rezultate i upoređivati za oba bota

Asistent

repo

https://github.com/greenenvy2/TetrisAI-DQN-GA

vdragan1993 commented 6 years ago

Tema odobrena. Ostavite link ka GitHub repozitorijumu projekta. Srećan rad.