Comments (3)
Thanks Colin for your feedback, I'll remove the reset line.
You are absolutely right that there is no need to reset the transposition table between each position resolution. The reset was there as my last version was used to generate an opening book (available here https://github.com/PascalPons/connect4/releases/tag/book).
To generate such book I solved all <12 depth position and kept the most complex positions, complexity being measured by the number of explored node. Without reseting the transposition table, the number of explored nodes (and processing time) was highly biased by the previous state of the transposition table.
Second point, be careful that the transposition table is not thread-safe. So make sure to have one instance of solver and transposition table per thread. for a batch resolution, it could be more convenient to run multiple process rather than multi-thread.
from connect4.
I actually call your solver from python via cython, so I have no choice but to make multiple processes :)
from connect4.
Thanks Colin for your feedback, I'll remove the reset line.
You are absolutely right that there is no need to reset the transposition table between each position resolution. The reset was there as my last version was used to generate an opening book (available here https://github.com/PascalPons/connect4/releases/tag/book). To generate such book I solved all <12 depth position and kept the most complex positions, complexity being measured by the number of explored node. Without reseting the transposition table, the number of explored nodes (and processing time) was highly biased by the previous state of the transposition table.
Second point, be careful that the transposition table is not thread-safe. So make sure to have one instance of solver and transposition table per thread. for a batch resolution, it could be more convenient to run multiple process rather than multi-thread.
About generating an opening book, you don't have to reset TT if all your positions set (file) you load, are with a same length.
from connect4.
Related Issues (20)
- Opening book on blank board HOT 5
- Compilation and Inputs HOT 2
- How to Generate Good Opening Book HOT 3
- Cannot compile on raspberry 3 ( g++ (Raspbian 8.3.0-6+rpi1) 8.3.0 ) HOT 2
- How to implement that in a real Connect 4 game ?
- Getting started HOT 2
- Generate a 6x9 HEIGHTxWIDTH Opening Book
- How to reproduce the benchmarks
- Predict who will win
- Using this with python
- How to create 8x8 Opening Book?
- Trying to compile on Windows with g++ doesn't work
- Not optimal Position.compute_winning_position HOT 1
- How do I download the opening book?
- key3() doesn't work correctly with __int128
- Transposition table is not cache friendly HOT 1
- Incorrect node score HOT 1
- New game solver looks better at first glance but has a lot of issues
- is there a Java version? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from connect4.