[Computer-go] 9x9 is last frontier?

Dan dshawul at gmail.com
Tue Mar 6 14:55:11 PST 2018


Alpha-beta rollouts is like MCTS without playouts (as in AlphaZero), and
something that can also do alpha-beta pruning.

With standard MCTS, the tree converges to a minmax tree not an alpha-beta
tree, so as you know there is a huge branching factor difference there.

For MCTS to become competitive with alpha-beta, one has to use either
alpha-beta rollouts OR as in AlphaZero's case
pick accurately, say the best 3 moves with its PUCT bias, and then search
those with MCTS that would converge to minimax (not alpha-beta).

I went for the latter (recasting alphabeta in rollouts form which can be
combined with standard MCTS as well as standard recursive alpha-beta
implementation)

The paper is here
https://www.microsoft.com/en-us/research/wp-content/uploads/2014/11/huang_rollout.pdf

If it was upto me, I would have used standard alpha-beta search with
policy/value networks to improve move sorting and evaluation resp.

It seems AlphaZero's MCTS approach hinged on the policy network accurately
picking the best n moves (while still using minmax) AND then
ofcourse not making blunders. I think what "shallow traps" are some bad
looking moves turning out to be brilliant tactically later. How the policy
nework able to identify those moves ? A full width like alpha-beta does not
miss those.

Daniel



On Tue, Mar 6, 2018 at 1:23 PM, Álvaro Begué <alvaro.begue at gmail.com> wrote:

> Sorry, I haven't been paying enough attention lately to know what
> "alpha-beta rollouts" means precisely. Can you either describe them or give
> me a reference?
>
> Thanks,
> Álvaro.
>
>
>
> On Tue, Mar 6, 2018 at 1:49 PM, Dan <dshawul at gmail.com> wrote:
>
>> I did a quick test with my MCTS chess engine wth two different
>> implementations.
>> A standard MCTS with averaging, and MCTS with alpha-beta rollouts. The
>> result is like a 600 elo difference
>>
>> Finished game 44 (scorpio-pmcts vs scorpio-mcts): 1/2-1/2 {Draw by 3-fold
>> repetition}
>> Score of scorpio-mcts vs scorpio-pmcts: 41 - 1 - 2  [0.955] 44
>> Elo difference: 528.89 +/- nan
>>
>> scorpio-mcts uses alpha-beta rollouts
>> scorpio-pmcts is "pure" mcts with averaging and UCB formula.
>>
>> Daniel
>>
>> On Tue, Mar 6, 2018 at 11:46 AM, Dan <dshawul at gmail.com> wrote:
>>
>>> I am pretty sure it is an MCTS problem and I suspect not something that
>>> could be easily solved with a policy network (could be wrong hree). My
>>> opinon is that DCNN is not
>>> a miracle worker (as somebody already mentioned here) and it is going to
>>> fail  resolving tactics.  I would be more than happy with it if it has same
>>> power as a qsearch to be honest.
>>>
>>> Search traps are the major problem with games like Chess, and what makes
>>> transitioning the success of DCNN from Go to Chess non trivial.
>>> The following paper discusses shallow traps that are prevalent in chess.
>>> ( https://www.aaai.org/ocs/index.php/ICAPS/ICAPS10/paper/downl
>>> oad/1458/1571 )
>>> They mention traps make MCTS very inefficient.  Even if the MCTS is
>>> given 50x more time is needed by an exhaustive minimax tree, it could fail
>>> to find a level-5 or level-7 trap.
>>> It will spend, f.i, 95% of its time searching an asymetric tree of depth
>>> > 7 when a shallow trap of depth-7 exists, thus, missing to find the
>>> level-7 trap.
>>> This is very hard to solve even if you have unlimited power.
>>>
>>> The plain MCTS as used by AlphaZero is the most ill-suited MCTS version
>>> in my opinion and i have hard a hard time seeing how it can be competitive
>>> with Stockfish tactically.
>>>
>>> My MCTS chess engine with  AlphaZero like MCTS was averaging was missing
>>> a lot of tactics. I don't use policy or eval networks but qsearch() for
>>> eval, and the policy is basically
>>> choosing which ever moves leads to a higher eval.
>>>
>>> a) My first improvement to the MCTS is to use minimax backups instead of
>>> averaging. This was an improvmenet but not something that would solve the
>>> traps
>>>
>>> b) My second improvment is to use alphabeta rollouts. This is a rollouts
>>> version that can do nullmove and LMR etc... This is a huge improvment and
>>> none of the MCTS
>>> versons can match it. More on alpha-beta rollouts here (
>>> https://www.microsoft.com/en-us/research/wp-content/upload
>>> s/2014/11/huang_rollout.pdf )
>>>
>>> So AlphaZero used none of the above improvements and yet it seems to be
>>> tactically strong. Leela-Zero suffered from tactical falls left and right
>>> too as I expected.
>>>
>>> So the only explanation left is the policy network able to avoid traps
>>> which I find hard to believe it can identify more than a qsearch level
>>> tactics.
>>>
>>> All I am saying is that my experience (as well as many others) with MCTS
>>> for tactical dominated games is bad, and there must be some breakthrough in
>>> that regard in AlphaZero
>>> for it to be able to compete with Stockfish on a tactical level.
>>>
>>> I am curious how Remi's attempt at Shogi using AlphaZero's method will
>>> turnout.
>>>
>>> regards,
>>> Daniel
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Mar 6, 2018 at 9:41 AM, Brian Sheppard via Computer-go <
>>> computer-go at computer-go.org> wrote:
>>>
>>>> Training on Stockfish games is guaranteed to produce a blunder-fest,
>>>> because there are no blunders in the training set and therefore the policy
>>>> network never learns how to refute blunders.
>>>>
>>>>
>>>>
>>>> This is not a flaw in MCTS, but rather in the policy network. MCTS will
>>>> eventually search every move infinitely often, producing asymptotically
>>>> optimal play. But if the policy network does not provide the guidance
>>>> necessary to rapidly refute the blunders that occur in the search, then
>>>> convergence of MCTS to optimal play will be very slow.
>>>>
>>>>
>>>>
>>>> It is necessary for the network to train on self-play games using MCTS.
>>>> For instance, the AGZ approach samples next states during training games by
>>>> sampling from the distribution of visits in the search. Specifically: not
>>>> by choosing the most-visited play!
>>>>
>>>>
>>>>
>>>> You see how this policy trains both search and evaluation to be
>>>> internally consistent? The policy head is trained to refute the bad moves
>>>> that will come up in search, and the value head is trained to the value
>>>> observed by the full tree.
>>>>
>>>>
>>>>
>>>> *From:* Computer-go [mailto:computer-go-bounces at computer-go.org] *On
>>>> Behalf Of *Dan
>>>> *Sent:* Monday, March 5, 2018 4:55 AM
>>>> *To:* computer-go at computer-go.org
>>>> *Subject:* Re: [Computer-go] 9x9 is last frontier?
>>>>
>>>>
>>>>
>>>> Actually prior to this it was trained with hundreds of thousands of
>>>> stockfish games and didn’t do well on tactics (the games were actually a
>>>> blunder fest). I believe this is a problem of the MCTS used and not due to
>>>> for lack of training.
>>>>
>>>>
>>>>
>>>> Go is a strategic game so that is different from chess that is full of
>>>> traps.
>>>>
>>>> I m not surprised Lela zero did well in go.
>>>>
>>>>
>>>>
>>>> On Mon, Mar 5, 2018 at 2:16 AM Gian-Carlo Pascutto <gcp at sjeng.org>
>>>> wrote:
>>>>
>>>> On 02-03-18 17:07, Dan wrote:
>>>> > Leela-chess is not performing well enough
>>>>
>>>> I don't understand how one can say that given that they started with the
>>>> random network last week only and a few clients. Of course it's bad!
>>>> That doesn't say anything about the approach.
>>>>
>>>> Leela Zero has gotten strong but it has been learning for *months* with
>>>> ~400 people. It also took a while to get to 30 kyu.
>>>>
>>>> --
>>>> GCP
>>>> _______________________________________________
>>>> Computer-go mailing list
>>>> Computer-go at computer-go.org
>>>> http://computer-go.org/mailman/listinfo/computer-go
>>>>
>>>>
>>>> _______________________________________________
>>>> Computer-go mailing list
>>>> Computer-go at computer-go.org
>>>> http://computer-go.org/mailman/listinfo/computer-go
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Computer-go mailing list
>> Computer-go at computer-go.org
>> http://computer-go.org/mailman/listinfo/computer-go
>>
>
>
> _______________________________________________
> Computer-go mailing list
> Computer-go at computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://computer-go.org/pipermail/computer-go/attachments/20180306/5d626d4b/attachment-0001.html>


More information about the Computer-go mailing list