1) Don't know the name of it - 'game board' is lines of dots. You take away dots on your turn. You win if you opponent picks up the last dot.
It's called Nim
, and it has been solved for over a hundred years.
That would be the one.
I know it's been solved (as all simple games of open knowledge have been), but it gives a bit more 'wiggle room' to work with some AI.
You can slice it, dice it , analyze it six ways from Sunday but there are only nine squares on a Tic-Tac-Toe board. Rotate the matrix and you have exactly three potential opening moves. You have a few more possibilities for moves 2 and 3 (though many will be 'blunders' leading to an instant win by the opponent), but the number is still small. I was substitute teaching a class for a week and we did a brute force solve of tic-tac-toe on the blackboard one day when I was bored (it was a photography class, and I couldn't give them the free rein with equipment they'd normally have - so there was a lot of 'down time'). It's possible we missed a few cases, and we stopped as soon as it was apparent a move was a blunder (no need to keep checking down that path), but I think we got them all.
Something like Nim isn't quite so obviously finite (I know, in reality it is) so I think it would be more fertile ground for developing your own AI algorithm. Especially since not everyone knows the solution - and if you want practice developing an AI, do it for something you don't know the solution for. See how well your AI works, where it falls short, why it loses.
It's the 'pong' thing. Pong games have been written for ever OS there is (probably even for some 'smart toasters'). If you want to start to program games, it's still a good place to start. That's how we learn. When there's a known solution we can check our work against, that's even better (usually), or maybe you make your pong game, then look at others and find three different approaches to solving the same problem - again, a good learning experience.
Tic-Tac-Toe doesn't have that kind of 'room' though: a move is either right or wrong, and clearly so. I'm hesitant to even call it AI: If you can win, play the winning move. If you need to block, block. If there's only one or two squares left, play it (or pick one) - game's a tie at that point. After that you load the matrix, compare it to the matrices in the computers list, iterating over the four rotations, and when you find a match, make the move. Done. The computer will never lose a game.