AlphaZeroIncubator / AlphaZero

Our implementation of AlphaZero for simple games such as Tic-Tac-Toe and Connect4.
0 stars 0 forks source link

simple example of tic tac toe in python #8

Closed cas2247 closed 4 years ago

cas2247 commented 4 years ago

Simple python implementation of tic tac toe.

Note that this is not OOP yet but can easily be refactored!

guidopetri commented 4 years ago

Thanks for this Claire! I'll definitely use this as inspiration when writing our code. I'll just use the same branch as in this PR if that's alright - that way we can just keep stuff organized haha.

guidopetri commented 4 years ago

I'm still missing a couple of tests, but I put their definitions in so I know what to do next. I think this has all the stuff that MCTS needs @PhilipEkfeldt - would you mind double checking?

PhilipEkfeldt commented 4 years ago

Yeah I think it looks good. Like I mentioned though, we might not need to return tensors anyway if we're doing board->tensor input as a transformation outside of the game class (so we can try different transformations in experiments). For now I think this works! I will work with this and try to finish my MCTS and see that it runs. Will let you know if there are any issues, but I think we can merge this for now?

guidopetri commented 4 years ago

I want to get the three remaining tests working at least before merging :) and if you have any other test ideas please let me know, I'll do them too.

For the testing paradigm, all you need is pytest installed, and running pytest in the root folder will automatically get all the tests under tests/ and run them. The test class must start with Test, and each test name must also start with test. Should be useful for checking if MCTS works :)

guidopetri commented 4 years ago

Since the API looks good to you I'll go ahead and merge. @PhilipEkfeldt tic tac toe should work fine for your MCTS testing now :)