Madeleine Birchfield wrote: ↑Sat Nov 06, 2021 2:06 pm
smatovic wrote: ↑Sat Nov 06, 2021 7:21 am
It is the effective branching factor of ~2 of modern AB engines and the serial nature of the algorithm which makes bulk evaluation/batches not fit with AB -> MCTS-PUCT of Lc0 with NN-eval batches on GPU.
So bulk evaluation/batches would work with AB on the GPU much better for games with higher effective branching factor, such as Go?
Bulk evaluation is not possible in Game Tree Search.
Please note that in GO especially at the end of long lines in reality lots of moves are forced. You can forward prune about everything and only a handful of moves are 'plausible' at most. This makes the effective branching factor much smaller than chess in practice. Only big difference is the huge length of each line in go. So where branching factor in practice is smaller in go - it's much longer lines.
Hard forward pruning is very easy in go and total impossible in chess. That effectively makes b.f. smaller in Go than in chess.
Yet that's total unrelated to bulk evaluation.
By definition bulk evaluation implies you have a much worse branching factor - which is total suicide in any game from a search perspective.
So from an absolute viewpoint seen Go is total uninteresting from a search viewpoint as less money has been poured into it than in chess. Yet if we look at past 20 years which 2 things boosted the elo of chess engines most besides the improved hardware searching deeper then it is the additional chessknowledge and perfect parameter tuning (or so you want much better tuned) chess engines.
So the past 10+ years the classic chess engines have been at a standstill there as they were perfect parameter tuned around 2005-2008 and sincethen no improved chessknowledge anymore in stockfish/fruit. The commercial incentive to improve classical searching chessprograms had disappeared completely.
Trying to massively vectorize chess or go - there is no difference between the 2 from a theoretical search viewpoint seen. Typically go programs were very bad coded compared to chessprograms yet used much more go knowledge to get the job done. A big problem in go was sales. It was tough to sell anything and get any sort of knowledge and the books that is there in go is total RUBBISH. I have a book or 10 on go there and especially the writings of a 9-dan dude from quite a long time ago is total RUBBISH.
For example a typical Japanese/Korean lemma to attack the enemy at his strongest point.
Strategical this is in both games in GENERAL seen total IDIOCY.
He mentions it this guy of course because SOMETIMES it makes sense. But grosso modo it doesn't make sense.
In short the big difference between computer chess and computer go is that computer go simply was 20 years behind computerchess.
Selling anything in Japan is very complicated. It's a very closed society there. Importing things from abroad is just not easily done. Mainly raw materials get imported.
So it is not an interesting game at all from a sales viewpoint seen.
Yet game tree search technical spoken it's exactly the same challenge. The parameter differences are: hard forward pruning is much easier - the incremental makemove and unmakemove in go is a bit harder to update the structures (knowing how many groups are alive or dead) yet effectively it is much faster in nps there than in chess. And as a result things was done more lazy in go - so ANN's were used sooner there.
Code of go programs in general is very slow code compared to chess. Very bad programmed so to speak. JAVA for example was used a lot some years ago there. And only 1 or 2 engines really used assembler (handtalk back then) yet all that was very common in chess.
So more effort was put in computerchess. Yet it's the exactly same problem from a search viewpoint seen.
Now i'm not that strong in go - some 5-dan guy totally murdered me there.
Yet i'm titled in chess. When i talked there to an expert in go,
the strategical lemma's in chess and go are pretty much the same.
You attack where your enemy is weakest and try to first chop of a finger instead of attack him at his strongest point.
Draughts and checkers there is different. This is assymetric games - that completely changes the perspective and strategic goals.
Chess and go are completely symmetric and completely similar games.
A strong chessplayer can play very strong after some practice in go. Dan level and FM level no problem.
A strong checkers player, even world champion draughtsplayers capable of perfect calculation - very weak in chess even when doing it fulltime. (we have 2 examples in Netherlands there)