U ovom radu opisani su teorijski principi šaha te je implementiran program koji na temelju aktualne situacije na šahovskoj ploči određuje najbolji potez. Heuristika programa temeljena je na pretpostavci da je svakoj situaciji na ploči moguće odrediti brojčanu vrijednost koja predstavlja kvalitetu poteza za igrača na redu. Tu vrijednost određuje statička funkcija evaluacije koja uzima u obzir broj, poziciju i mobilnost svih figura na ploči. Funkcija pretrage temeljena na minimax algoritmu stvara stablo svih okolnosti koje su moguće na ploči do određene dubine. Zbog eksponencijalne vremenske složenosti nužna je optimizacija pretrage. Objašnjene su implementacije α – β rezanja, sortiranja poteza i transpozicijske tablice koji značajno skraćuju...