Programmet må kunne gjenkjenne brettets tilstand og analysere mulige trekk. Det bør også kunne evaluere potensielle utfall og velge et trekk basert på høyest sannsynlighet for å vinne. I tillegg må programmet kunne oppdage mulige uavgjorte og svare deretter.
Lag et program som kan spille kryss og tvers mot en menneskelig spiller. 