Comments (4)
Suppose that move A has 1000 visits but move B only has 1 visit, but the pattern bonus is configured so that move A is extremely penalized and should barely be searched at all and move B should get a huge bonus.
If we don't clear the search tree, then even after updating the utilities, it will still be the case that move A has 1000 visits and B has only 1 visit, and the evaluation of the parent will incorrectly be biased by the heavily penalized evaluation of A, because A has a lot more visits. It will take at least 999 more visits for B to catch up and become the most visited move.
If we clear the search tree, then when redo the search, instead B will be preferred from the very start and won't have to do a lot of visits to catch up.
from katago.
KataGo only runs new playouts after updating stats. The word "would" refers to the fact that we are choosing to clear the search in this case rather than updating stats, i.e. we would update all the stats (before running playouts), except that we entirely clear the search tree instead.
from katago.
Thanks for your answer! However sorry that I forgot to mention that I am not only confused by "would" but also the sentence after it:
but the problem is the playout distribution will still be matching the old probabilities without a lot of new search, so clearing ensures a better distribution.
I notice that getPatternBonus() is called when updating the stats of the nodes:
KataGo/cpp/search/searchupdatehelpers.cpp
Line 313 in 4dfed3e
If all the stats would be updated before a playout is run, including the avoidRepeatedPatternUtility which would be updated into the utility during the update, why the playout distribution is considered to match the old probabilities without a lot of new search? This is the reason why I wrongly thought that updating stats and running new playouts would do simultaneously.
from katago.
Thanks again! It's a lesson to me that visits/weights would affect the playout distribution...
from katago.
Related Issues (20)
- 举报OmnipotentEntity在discord群任意踢人 HOT 22
- C2664“cudaError_t cudaMalloc(void **,size_t)”: 无法将参数 1 从“float **”转换为“void ** KataGo\cpp\neuralnet\cudabackend.cpp HOT 1
- Most beautiful Go games using AI to make and find? HOT 1
- unable to load library nvinfer_builder_resource.dll HOT 2
- Some rating games between 28b and b18c384nbt-s9821054208-d4269405333 are suspicious HOT 2
- Cannot reproduce b28 rating game resign conditions HOT 2
- training speed for H200 HOT 10
- Compiled error at humansl branch on win10 VS2019 HOT 1
- Train a weight‘s weight, to predict the value of the next Katago weight HOT 3
- How to use Katago 1.14.1 with time cache? HOT 2
- Issue in training: low visit counts and strange initial conditions(board dimensions, komi settings, piece position) HOT 2
- kata-genmove_analyze with KEYVALUEPAIR not working HOT 1
- A problem building for CUDA HOT 2
- Why does lc0 ship cuda dlls with engine but katago doesn't?
- Minor document questions
- Error checks for kata-raw-human-nn HOT 1
- How to set rules to "twisted cross and eating" for beginner HOT 2
- Throwback HOT 4
- Lack of ability HOT 3
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 katago.