[computer-go] Former Deep Blue Research working on Go
Rémi Coulom
Remi.Coulom at univ-lille3.fr
Wed Oct 10 01:17:26 PDT 2007
Rémi Coulom wrote:
> Andrés Domínguez wrote:
>> 2007/10/10, Don Dailey <drdailey at cox.net>:
>>
>>> Andrés,
>>>
>>> You are right about null move of course. The assumption that other
>>> moves are >= to the value of a pass is much stronger in GO than in
>>> Chess, yet ironically it's not as effective in Go.
>>>
>>
>> That was what i was trying to say. Pass is one of the worst moves
>> (except final) is good for null-move on Go. Of course you have
>> reduced depth, probably bad with alpha-beta with a bad evaluation
>> function, but looks interesting with UCT reducing the number of
>> simulations and increasing the % value. I don't use UCT, so I
>> haven't tried it.
>>
>> Andrés
>>
> Hi,
>
> UCT does no alpha-beta pruning, so null-move pruning cannot be used.
>
> Rémi
Hi again,
I did not read your reply carefuly before answering, sorry. I still
don't believe your approach could work. You would waste a lot of
simulations searching a bad move, and it would be extremely difficult to
determine how much the % value should be increased. In alpha-beta tree
search, you only need to determine that one move is better than another,
regardless of the difference in value. In UCT, it is very important to
also determine how much better one move is. I cannot see any reasonable
approach to determine how much the null move is worse than the others.
Depending on very subtle details of the position, it could be a lot or
very little.
Regarding the question of null move in Go, I remember that some
programmers who tried it in alpha-beta programs did not manage to make
it work (Peter MacKenzie comes to mind, maybe others). As Don wrote, the
main problem of null move is the depth reduction. It hides long-term
threats that the evaluation function might not be able to evaluate.
Rémi
More information about the computer-go
mailing list