AI Tic Tac Toe, Part 1 (Data Sets) - Monday Post #2
it's not monday
Yeah... but my computer broke so I just fixed it.
intro
I recently wanted to create a more advanced neural network with a purpose. You can see my last post on a basic neural network in my bio. I finally settled on the game Tic Tac Toe. I have to admit that I was influenced by War Games, one of my favorite movies.
code outline
I know that I want my code to be in Python 3 and JSON, so deciding the structure wasn't too hard. There are a couple different parts that are needed for the program to work:
- Training data (Games where the following move has been determined to be the best)
- Neural network data (Required for multiple stages of training and finally using the network)
- The training program (Uses the training data to "learn" how the game works and what moves to use)
- The final program (Creates a new network based on the processed data to create an artificial player)
Personally, I think that the hardest part will be creating the training data, so I did that first.
how it's formatted
I used a JSON file and a simple Python 3 script to input an afternoon's worth of boredom into code. It looks like this (although the code will be up on Github soon):
- Sets of "before" boards
- Board 1
- Board 2
- Board 3
- Sets of "best move" boards
- Board 1
- Board 2
- Board 3
Each board is made up of a matrix array, where each the board goes:
[0,2] | [1,2] | [2,2] |
---|---|---|
[0,1] | [1,1] | [2,1] |
[0,0] | [1,0] | [2,0] |
The final file turned out, when pretty-printed, to be over 800 lines long with just over 50 sets.
Anyway, this is just a start. Comment if you would like to see my current version of the code and don't forget to leave a like if you think what I'm doing is interesting. Follow for more content :)