adamstelmaszczyk / gtsa Goto Github PK
View Code? Open in Web Editor NEWGame Tree Search Algorithms - C++ library for AI bot programming
License: GNU General Public License v3.0
Game Tree Search Algorithms - C++ library for AI bot programming
License: GNU General Public License v3.0
This paper claims that MTD-f is 5-10% faster than than alpha-beta.
To be able to change 1 parameter, run X tests, and decide whether the new version is better.
Figure out where const
should be used and apply such rule consistently.
This needs more research as it's not clear to me how to add a TT to MCTS, what it will store etc.
Your gtsa header is
using namespace std;
I think you should remove it, because if I use your header the standard namespaces could clash with my own implementations (or someone might not notice it uses the wrong library)
According to Methods of MCTS and the game Arimaa adding 5 virtual visits to the newly expanded nodes improved MCTS.
Maybe Zobrist hashing will be faster than current implementation with boost::hash_combine.
Line 166 in d1f65da
Seems like there must be (visits - score) / visits for opponent
According to https://webdocs.cs.ualberta.ca/~jonathan/PREVIOUS/Courses/657/Notes/4.DAGs.pdf, roughly 25% reduction in the number of nodes examined.
Details in Exploiting Graph Properties of Game Trees.
To see if maybe some critical code was left untested.
Check out www.coveralls.io.
Currently only Python library is available. In parallel to it, mirror library will be available, in C++.
Python was chosen because of the speed and ease of development and prototyping. New features and upgrades will be always implemented and tested there first.
However, Python is unfortunately much slower than compiled C++. So, to gain probably like 10-100x speed up there will be a mirror library, a port from Python to C++. Performance is important, 100x speed up means 100x more simulations (within the time limit which always exists during competitions).
The libraries will be both in the same repository. There will be two root directories - python
and cpp
.
Right now MCTS does lots of memory allocations. If it used continuous, pre-allocated memory, caching would be better, which will probably significantly boost the overall performance.
Now on user input used in Human it will raise run-time exception in Python 2.
Have to look for input() which works in Python 2 and 3.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.