+ 7

How to implement A.I. for tic tac toe game using java

I'm creating tic tac toe Android app and I have done with two players tic tac toe and want to implement A.I. for single player Please give me some ideas ☺

9th Apr 2019, 6:26 AM
Ramshek Rana
Ramshek Rana - avatar
6 Answers
+ 2
Import machine learning libraries brain.js or tensorflow.js Build the reward Provide the training matrix data Let the program to develop its own decision tree.
9th Apr 2019, 10:06 AM
Gordon - avatar
+ 2
What i posted was just an idea how to do it. Where the ai should place his o should be found out by you. I just want to give you the starting point from where you can start to learn finding a solution.
9th Apr 2019, 11:31 AM
Dragonxiv - avatar
+ 1
One idea to start with would be to let the ai react to your input. If user places x in square xy Then ai places o in square yx. Because tic tac toe is such a small game it can be done with such a decission tree. Which depending on the definition of ai counts as an ai.
9th Apr 2019, 9:49 AM
Dragonxiv - avatar
+ 1
The next possible idea would be to let the ai look at each row and collum and test if the user has to x in the same row or collum and the ai would then place the o so the the two x cant be finished to a 3 x win
9th Apr 2019, 9:50 AM
Dragonxiv - avatar
As far as I Inderstand your problem: you want a comouter player? So no A.I. is needed. TicTacToe has simple rules (terminating winning rule, rules for valid moves), is turn based, and so straight forward to implement. For computer player turn you've just to evaluate the current game, choose a valid move and evaluate the game again. The cleverness of your machine is choosing a valid move with best possible evaluation result. That's it. So what is learnable by your machine? The evaluation (situation -> move -> effect, e.g. win/lose e.g. with respect of following moves, e.g. lost in 2 turns). So your computer player might improve within future plays. An effective method for this special purpose/case are evolutionary algorithms that are realy simple to write.
9th Apr 2019, 12:04 PM
Daniel Adam
Daniel Adam - avatar
- 2
@Dragonxiv, could you please explain your idea with AI reacting to user’s input a little bit more? I assume xy it’s (x;y) coordinates of a square? I tried it and if user places x on (1;1), then AI tries to place o on (1;1) as well. Others responces let user place 3 xs in a row easily with no defense from AI’s side
9th Apr 2019, 10:45 AM