[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Insight of a human
> No, what he is talking about IS a plan.
> ...
> ... etc.
> For this kind of thing it is important to work with a plan
> ...
> ... etc.
Of course planning is important in any game. But forgive me for
another diversion into computer chess ...
In the early days of computer chess, it was extremely common for
people, in a moment of deep inspiration, to proclaim that the problem
was that computers didn't have the same ability to plan that human do!
It was repeated so much that it became almost a mantra. Back then it
was also very typical to romanticize the abilities of the great
masters, making it seem as if they were in perfect control of each and
every move, almost as if they knew from the very opening what sqaure
they would mate their opponent on!
I am not intending to trivialize the importance of planning, but I
think the whole point was missed. Some projects were launched with
the goal of creating chess programs that made plans. Typically, they
would examine the board, apply some rules defined by a meta-language
of some sort and the rules would suggest moves consistant with the
plan or plans determined by this process. In principal this seems
like a very good way to do things and apparently mimicks the ways the
great masters do it!
What happened to these programs? As far as I can tell, none of them
are used today. In my humble opinion, chess programs are goal
oriented to the extreme, even more so than humans are. They are
totally focused on trying to the very best of their ability, to REACH
the position that scores the very highest according to their
evaluation function. You might even say they are "hell bent" to make
this happen. In fact, the term "thinking ahead" is synomonous with
"planning."
The problem isn't planning nor does it have anything to do with
planning. What is percieved as having problems with planning is
really just a couple of things: weaknesses in the evaluation function
(which DEFINE the plan) and limited horizon.
What ended up happening with these old planner type of programs, in my
opinion, is that really, they were just fancy and very complicated
ways of choosing an evaluation and doing selectivity. It was bound to
fail because they were doing it the hard way so to speak. What they
were doing was equivalent to what we do now, but with a lot of layers
of distracting methodology getting in the way.
However, there IS a process that humans carry out that computers don't
do particularly well, and there might be some good research here as
far as GO is concerned (or even computer chess.) In fact there has
been research on this and it's currently done in a kind of limited
way. This process is based on visualizing your goal, and working
backwards from that. This is exactly what is done in chess endgame
databases, but in this application it's done in a very precise way
because the ending positions can be enumerated in an exact way.
But I think GO programs do this too in a limited way. Local tactical
searches are a start because you are visualizing a possible end
result, which is capturing a string, and then tailoring a local search
to focus strongly on this goal.
But I'm not sure the general case is very feasible in GO or in Chess.
It's just a guess, but I think it's actually a minor factor in chess
or go play. The very best chess programs seem to do well without
having this special ability that goes beyond their already excellent
planning ability and I believe that human masters make little use of
it. Yes, they know what they want to achieve and they have a good
idea of how to go about it, but most of this is built in to their
own personal evaluation function and pattern recognition facility.
Do you know what I think is far more important that all of this? It's
the ability to generalize effectively. THAT is really what sets us
far apart from the stupid machines. A chess program will consult its
hash table looking for an exact match, or it's book looking for an
exact match, and in this way has better memory than we do. But it
will never (todays programs that is) look into a hash table, notice
that the current position is ALMOST the same as another position that
is a clean win, spend a little time checking it out and make use of
this new information! Now if they could do that, we would really have
something awesome!!!
Of course, someone will email saying that wilcard pattern matches in
GO have that characteristic! Well, they do and that is probably a
very good thing!
Don