Vytvořte počítačový program, který umí hrát šachy.
Počítačový program by měl být schopen vypočítat legální tahy v šachu na základě pozice na šachovnici a pravidel šachu. Program by měl být schopen také vyhodnotit pozici a vybrat nejlepší tah na základě určitých kritérií hodnocení. Měl by být schopen sledovat své předchozí tahy a být schopen znovu hrát hru v grafickém rozhraní pro uživatele. Kromě toho by měl být schopen hrát proti lidskému protihráči a používat herní strom k přemýšlení dopředu a hledání výhodných tahů.