rego at November 20th, 2004 07:08 — #1
just wanted to know what i could represent as the training data for the computer to learn to play a game of tic-tac-toe against a human.
anubis at November 20th, 2004 07:40 — #2
maybe you could explain a little more how your AI system works ?
nomadrock at November 20th, 2004 09:55 — #3
If you wanted AI to play tic-tac-toe you would just have it check all possible solutions, there aren't many. You can use magic square techniques to speed this up, but on modern computers slow algorithms for this will go faster than the user can click.
anubis at November 20th, 2004 12:41 — #4
better yet... precompute the whole game and save it to disk. the game tree for tic tac toe is very small so you won't have a problem with space
shadowhawk at November 23rd, 2004 02:45 — #5
Well precomputing is not really much of an AI is it. It is more a lookup table. From the formulation of the question i guess that the AI used is some sort of learning AI ( NN or genetic ) for that just make a programm that creates all the game possible states and then trian it with that. It is faster to create a programm for the testdata then to make the testdata yourself.
rego at November 23rd, 2004 05:37 — #6
thank you shadowhawk that is what i meant! i will be using the back propagtion algorithm for NNs and ID3 for decision tree learning! i would be interested in using genetic learning but im not sure if it can be used for learning to play games!
shadowhawk at November 23rd, 2004 06:17 — #7
Be sure to post your game ( with code ) when it is done so other people can learn from it if they want. At least if u dont object to that. I for 1 would like to know how u solved the issue that a square in the game can be either black-white-open i only made a NN ( as a simple test ) to determine if a player had won or not.
anubis at November 23rd, 2004 16:19 — #8
for tic tac toe you would usually use some sort of minimax/negamax algorithm and running that beforehand is as much AI as it is to use it while the game is running. of course it might be far more fun to write a programm that actually learns how to play the game... i guess i just wasn't sure what the intention of the OP was so i suggested the obvious
snprbob86 at November 23rd, 2004 16:43 — #9
Anyone ever seen http://www.zillions-of-games.com/ ? very cool stuff
anubis at November 24th, 2004 05:23 — #10
i've heard of it... they have an AI that only knows about the formally stated rules of a game and tries to play by them
rego at November 24th, 2004 06:57 — #11
no problem shadowhawk i will post my game as soon as it is completed! it's gonna be completely made in Prolog!
rego at November 27th, 2004 11:24 — #12
does anyone know which of the following learning algorithms i can use to learn to play tic-tac-toe against a human?
Naive Bayes Classifier
K-Nearest neighbor algorithm
I need to use 3 of them for my project!
I was thinking candidate-elimination algorithm, Back-Propagation and Q-Learning but i don't know if these wil work!
snprbob86 at November 27th, 2004 11:48 — #13
Tic-Tac-Toe is far too simple to really get a good trial out of any more complex AI techniques. Why don't you pick something a little bit more complicated while stile simplistic in rules such as Reversi or Checkers or some other boardgame? With perfect play, Tic-Tac-Toe is always a draw... it is really quite uninteresting...
rego at November 28th, 2004 06:53 — #14
yeah i know but im already half way into the course and i cant change now - would be too much work!
nomadrock at November 28th, 2004 14:34 — #15
You need to sit down and learn what those algorithms are. Worrying about changing games is the least of your problems. If you understood the techniques you could apply them to any simple game in minutes. Try reading your textbook, and talking with your proffessor.
rego at November 30th, 2004 05:50 — #16