Sjakk er velegnet for programmering fordi problemet er skarpt definert, både når det gjelder lovlige trekk og det endelige målet (sjakk matt). Problemet er å utvikle algoritmer som kan evaluere stillinger og velge det beste trekket i enhver situasjon. Dette er utfordrende fordi antall mulige stillinger er svært høyt. I midtspillet har en sjakkspiller typisk 30–40 lovlige trekk å velge mellom, men det kan være så få som null (ved sjakk matt eller patt) og det kan være så mange som 218. Antall mulige stillinger og partier blir derfor svært høyt. Det er beregnet at antall lovlige stillinger i sjakk er mellom 10 og 10 (en påvisbar øvre grense).