[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Computer Olympiad photo
> From the last 3 tournaments diep played, the DECISIVE errors not long after
> diep had left book, they took place at depths of around 10-13 ply, when i
> searched them at 24 hours a move, so getting depths of up to 20 ply, the
> vaste majority of moves still were played. Only 1 of the moves another 2
> ply was helping (i simply got too small of a search depth with my slow
> knowledge oriented chessprogram which is not so selective like most top
> programs are).
>
> So where overwhelming brute force power would fix 1 move,
> all of the errors i could easily fix by some improvements
> in evaluation function.
This is a very misleading use of statistics. Let me point out the problem:
1. Your program already has a reasonably well balanced evaluation
function compared to most chess programs. That means it is hard
to make improvements. Even if you hand coded some evaluation
fixes to make the program play all the right moves where it
failed, the actual improvement to the program would be very
negligible.
Usually, changes to fix problems create other problems. That is
because chess evaluation is hard and we code up heurstics that
are based on general principles, not hard facts. Once you have
achieved a reasonable balance you reach a point of diminishing
returns where it's simply very hard to make even tiny
improvements. Each heuristic interacts with other heuristics,
and it's a big mess.
If you add new ideas to the evaluation function, you slow it down
a little. It becomes very strong in dealing with the problems
you just fixed, but you have effectively weakened the program
just a little in every other position because you have slowed
down the search. I once made a number of very clear positional
improvements to my chess program and discovered that it was
playing weaker. After a lot of study, I learned that the program
was now 1/2 the speed of the previous version and was losing
tactically. In reality all the improvements affected only a
fraction of all the positions it was required to search.
2. It doesn't take a lot of different moves to make a program
stronger. You mentioned 3 tournaments, but Diep didn't lose
every game, it is well above average strength of tournament chess
programs. So it probably won most of it's games. We are
interested only in the few games it lost (or draw when a win was
called for.) But an extra win out of a very few games will
register as a substantial rating improvement. At any rate, this
is a pathetically small sample to base conclusions on.
I can make my program play any move I want by tinkering with the
evaluation function. But can I do this without affecting ANY of
the other moves it played negatively?
My own experience in computer chess tournaments is different. I have
won my share of tournaments including one Dutch open where your
program nearly beat mine. One thing I always notice is how often my
program NEARLY made a losing move but changes near the end of it's
thinking cycle. This happens so often that I am always thankful I had
a little bit faster computer. I can't help but believe that with an
even faster computer, I would have salvaged a few losses.
On the other hand, some of our bad moves would have been fixed with
evaluation tuning or adjustments. We played a terrible move one year
against KING and lost miserably in a slaughter. That one move could
have been fixed with a small evaluation change, OR a small amount of
extra thinking time. Extra thinking time is a general cure,
evaluation is a specific cure.
I think chess programs are so strong now that games are won and lost
almost by accident. If your program couldn't see the winning plan in
20 ply, chances are the other program didn't know it was winning
either. YOU obviously realized the move was losing and if a 20 ply
search didn't reveal this I think it proves the point I have always
tried to make which is that computers still suck at chess.
In another computer game we played, our program had to choose between
2 completely different plans. The plans were radically different and
led to radically different kinds of games. The program kept
alternating between the 2 moves. It settled on the plan that let the
opponent have a big juicy center, but giving us 2 connected and passed
pawns but which were not very well advanced. The only difference
between these plans was a point or two in the evaluation function.
Neither me nor the computer had any way of really knowing whether the
plan was good because there was no immediate danger and the
consequences were far off into the future. This is so common in
computer chess that I laugh when people say all you need in chess is a
simple evaluation that counts heads and deep search. They just don't
have a clue. As it turns out, we won that game probably because we
signficantly outsearched our opponent. Not because we made the right
decision at that point. In fact, I suspect we made the wrong decision
because our pieces were really tied down after losing the center.
Don
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go