This is an AI built on Cuda and MPI. It uses tree search algorithms to play the single player game 2048.
- filename cmd param
timelimittrack sizescleanup commentssave all moves that have been calculated to viz latersave initial game stateopen initial game state to useCompare two moves files so we can check two aisMaybe make sonething that can run through a set of moves and check it makes sense? - probably not just - watch the vidtest runnerchange string to int
Visulizer
- HTML5 thing
- open saved files
- playback move decisions
Gamemanager
- fix main file
- use better prng maybe mt19937_64
add stopping conditiongamestate must contain legal moves internally so we can return it.get this working as a way for the ai to play the game i.e. a function which is the game and allows the ai to inject a move.fix printout to only show one board per state ... its also a bit weird (might be ssh)setup random game state to make proper resultsadd commandline arguments like board sizeget this to handle any size board !!!!
Serial Ai Tree Search
- Hook into game and play it as demo
- Better Demo?
make a tree from the gamestatessearch tree until 2048have backtrack
Cuda Ai Search
-
Show increased size for less time?
-
build a tree on device
-
use array method
-
cudaCheckError on 2048 ifdef code
-
fix commandline params
-
fix curand issues
-
fix tree stats issues
-
check the profile results for more errors
-
make better use of available threads
-
use device properties
MPI Ai Search
- ????? ;(
- fix commandline params
- fix timing correctly
- https://github.com/huoyao/cudasdk/blob/master/6_Advanced/cdpQuadtree/cdpQuadTree.cu
- https://devtalk.nvidia.com/default/topic/581609/build-or-send-a-tree-on-to-the-gpu/?offset=8
- http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#dynamic-global-memory-allocation-and-operations
- http://stackoverflow.com/questions/14417318/cuda-new-delete
- http://stackoverflow.com/questions/18442018/how-to-pass-tree-struct-with-cuda
- https://en.wikipedia.org/wiki/Binary_tree#Arrays
-
http://kawahara.ca/how-to-run-an-ipythonjupyter-notebook-on-a-remote-machine/
-
http://robots.stanford.edu/cs221/2016/restricted/projects/prithvir/final.pdf
-
http://stackoverflow.com/questions/22342854/what-is-the-optimal-algorithm-for-the-game-2048
-
http://stackoverflow.com/questions/5278580/non-recursive-depth-first-search-algorithm
-
http://www.programming-techniques.com/2012/07/depth-first-search-in-c-algorithm-and.html