[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: A problem with understanding lookahead
Don Dailey <drd@xxxxxxxxxxxxxxxxx> wrote:
> I keep hearing on this group that Go programs can't search, they are
> primarily evaluation based. That means most of the strength is due to
> evaluation. Go programs don't play great, but they play like advanced
> beginners at least. Correct?
Well, yes.
The problem with evaluating a go position is that it requires a lot of
local tactical reading to determine the life status of all groups, etc.
At least in GnuGo, the evaluation of the current position is intermixed with
move generation. When it checks the status of a group, it may find that it
is unstable, and therefore recommend a move that kills or saves this group,
and gives the move a numerical value. After having collected all the data it
can from the game position, it also has a number of move proposals, from
which it choosed the one with the highest value. It could also evaluate the
whole position at the end of this sequence, for example to a probability of
winning the game, but currently it does not need to do so at all.
It would ntobe too hard to make it try all possible moves, or all reasonable
moves (by some sort of heuristics), or even just a few of the moves it has
already proposed, and evaluate the position after those. Adding recursion to
get a full ply or even teo would not be that difficult. But as it is now,
this line of programming is completely out of t he question, since the
single evaluation-cum-move-finding takes several seconds, in cases half or
whole minute, depending on the processor and settings.
When people say here that there is no easy evaluation function to go, they
seem to mean that there is no evaluation function that can be done is short
enough time to be of any use in global searching.
I do not know anything about evaluation functions in chess, but from what I
have heard, they can be reasonably fast. As you say, not just counting
pieces, but still something "trivial", like counting possible moves, threats
and defences to the various squares on the board, open lines and diagonals,
and rows of pawns, and probably weighing all these in some way...
Your idea of exploring global search mechanisms on really small go board is
interesting. I hope someone will do it, and publish results.
- Heikki
--
Heikki Levanto LSD Levanto Software Development heikki@xxxxxxxxxxxxxxxxx
"In Murphy we Turst"