[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Alpha-Beta Search
At 03:14 PM 11/18/99 -0500, you wrote:
>
>Brian,
>
>Thanks for the reply!
>
>
>> > Nullmove is based on certain domain specific assumptions that may or
>> > may not apply to GO. Since I am very new at the game, I don't claim
>> > to know whether it would work for go, but I think it might. The
>> > "assumption" null move makes is that it is ALWAYS (or very nearly
>> > always) better to be on the move. Or put another way, it is NEVER
>> > good to "pass." How valid is this assumption in GO?
>>
>> The null move assumption is very, very valid. Even more valid than for
>> chess.
>> Keep in mind that Pass is a legal move in Go, so if the null-move asumption
>> were invalid then professional players would pass instead of playing. Since
>> they never do this the assumption must be valid.
>
>Actually, I didn't have too much doubt about this, but still I didn't
>want people to be too dogmatic about it. I am more concerned about
>the next issue I rasied, the validity of the "null move test."
>
>
>
>> And it is easy to see why. A stone is only a liability when it deprives you
>> of room to live. Therefore, it pays to play until every string has exactly
>> two liberties, and then pass.
>>
>> In Japanese rules it costs you a point to play on territory that you own,
>> but for the purpose of analyzing which moves to play this is not relevant.
>> (I.e. you can analyze as if the game were a Chinese game (except that
>> you have to score seki differently), then play the corresponding move with
>> confidence that the move is correct in the Japanese rules.) The null-move
>> assumption (i.e. that it is better to play than to pass during analysis)
>> is completely valid.
>>
>> > Another aspect to null move, that may be a factor is the actual
>> > validity of the "null move test." The null move test is a "null move"
>> > followed by a reduced depth search. The assumption is that this test
>> > will return a lower bound that is very UNLIKELY to disagree with a
>> > full width search of this particular subtree. The null move
>> > assumption could very well be correct, and yet it's still possible the
>> > "null move test" methodology is not. Do you understand the
>> > difference? The point is that it's a question of resource management.
>> > Does a null move followed by a reduced depth search, save enough time
>> > and simultaneously provide a reliable lower bound to the current
>> > context of the search?
>>
>> Really good question! It is possible for null-move searching to provide
>> a lower bound that is so "loose" that you do not obtain any alpha-beta
>> cutoffs from it. The efficiency of null-move depends greatly on the
>> chance that a move will be cut off.
>>
>> On the other hand, another aspect of the odds are greatly in your favor:
>> the branching factor is so high that null-search costs very little. It
>> follows
>> that even a low rate of cutoffs will prove useful.
>
>
>Actually, I am thinking of the degradation in search quality of the
>reduced depth search. In chess, if you pass, that is such a serious
>handicap that you can be quite sure that even the reduced depth search
>will return a score that is bounded pessimistically. Will this be
>true in GO? That's the question I am asking. I think this question
>is somewhat independant from the null move assumption question.
See nullmove as a very human way to see things:
"i'm having a good position,
does my opponent have some threats (either positionally or tactical)
that can stop me?"
The reduction factor *can* be a problem. Obviously humans have less
depth limitations than computers. That's why i suggested a selective
search *anyway* after a nullmove, and a selective search anyway
at any leaf for GO.
The advantage of this powerful nullmove is however that
the branching factor gets a lot closer to the 'branching factor' of
a human, which was estimated in chess by De Groot at 1.76 for professional
players.
Greetings,
Vincent
>I think even in chess this breaks down somewhat. People always assume
>that null move pruning in chess endgames is a problem mainly because
>of "zugzwang", where it's actually beneficial to pass. But I think
Nullmove doesn't have zugzwang problems with double nullmove in chess.
Nullmove is now a correct form of searching, with this note that sometimes
you need a few ply more compared with fullwidth search, though still
the nodes needed might be a lot less.
>that is minor compared to the fact that reduced depth searching
>progressively throws away long term threats, which is a much bigger
>issue in endgames than in middlegames. An example of this is that in
>king and pawn endgames, moving the king one square closer to an
>undefended pawn on the other side of the board might be a lethal
>threat, but one that is not resolved without a several ply of
>searching. And null move with serious depth reduction makes this a
>serious problem. I am thinking that go is more like chess endgames
>than it is like chess middlegames. If this is true, then null move
>pruning may not have the positive effect on program strength that we
>would like it to!
>
>Having said that, I basically feel that null move pruning probably
>will work ok for go, I am just not ready to assume this quite yet!
>
>
>
>> You'll have to try it!
>
>I intend to eventually, but I have to find the time first!
>
>
>> Brian Sheppard
>
>- Don
>
>
Vincent Diepeveen
diep@xxxxxxxxxxxxxxxxx
---
... en verder ben ik van ben ik van mening dat Dap het gesticht in moet