It is a two player game. First we have a eight by eight matrix with a white stone on the (1,1) entry and a black stone on the (8,8) entry. Then alternatively Player 1 and Player 2 move the white stone and the black stone respectively in eight directions: east, northeast, north, etc. For example, at the start of the game, P1 can move the white stone southeast from (1,1) to (7,7), and then P2 can move the black stone west from (8,8) to (8,2). But there is one rule to follow: if you move the stone from entry A, say (2,2), to entry B, say (5,5), then the entries on the straight line from A(2,2) to B(5,5), in this case (2,2), (3,3), (4,4), (5,5), must not be any entry that has been a position for the stones before. At last, to win the game is to force your opponent into a position where he cannot move his stone any more.
Zermelo's theorem tells us that for a game of this kind, i.e. a finite two-player game of perfect information, one of the players has a winning strategy. But it can be very hard to find such a strategy even with the help of a computer. Can you find it?
Even if we can't find the winning strategy, one can at least try to program a strong AI. One try would be as follows. If it is the AI's turn to move, it calculates, for each possible choice of move, the number of moves its opponent can make afterwards; it then pick a move with the smallest such number. So this strategy bases itself upon the idea that, the situation is worse if you have less choices of moves.
But there should be many other things to consider to make the AI stronger. So can you give me some suggestions?