Krijo një program kompjuterik që mund të luajë shah.
Programi kompjuterik duhet të jetë në gjendje të llogarisë lëvizjet legale të shahut bazuar në pozicionin e tabelës dhe rregullat e shahut. Programi gjithashtu duhet të jetë në gjendje të vlerësojë pozicionin dhe të zgjedhë lëvizjen më të mirë bazuar në disa kritere vlerësimi. Ai gjithashtu duhet të jetë në gjendje të mbajë gjurmët e lëvizjeve të tij të luajtura më parë dhe të jetë në gjendje të ri-luaj lojën në një ndërfaqe grafike për përdoruesin. Për më tepër, programi duhet të jetë në gjendje të luajë kundër një kundërshtari njerëzor dhe të përdorë një pemë loje për të menduar përpara dhe për të kërkuar lëvizje të favorshme.