Author: Christophe Theron
Date: 18:06:25 03/28/00
Go up one level in this thread
On March 28, 2000 at 11:28:27, Peter Skinner wrote:
>I have noticed that quite a few amateur programs other than Crafty have been
>kicking the hell out of commercial programs such as Shredder 4, Chess Genius
>6.5, and Fritz 5.32, and Junior 6.
>
>Why is this happening?
>
>Crafty has always done this, but now Comet, AnMon, LG2000v2000 2.5, and others,
>are equally taking them to task.
>
>This is not really surprising though as most of these programs could easily be
>commercial.
The difference between amateur and commercial programs is the thousands of hours
spend in fixing every little hole in the program.
You can, it's true, find some amateur programs that will occasionally beat a
commercial program on one game.
But if you organize a match between these 2 programs, the picture is really
different.
The reason is not that the author of the amateur program is not as good as the
author of the commercial program.
The reason is that the commercial programmer has spent an huge amount of time
looking for small problems, and has fixed them.
Let's play several games between the amateur and the commercial:
* well in game #1, the amateur lost after move #125 because it does not know
about a special case of passed pawn that almost never happens. But it showed
very good fighting spirit overall in the game. A nice game for the amateur.
* In game #2 the amateur program did not see a very deep combination and let the
commercial one mate in 14 moves. OK, the commercial has been lucky on this one.
The author of the amateur program said this will be fixed by adding some special
extension for this case.
* In game #3 the amateur program was out of book after 5 moves. The commercial
one knew the opening, was in book for 20 moves, and won the game at move 29. OK,
this does not mean anything, let's call it book cooking.
* In game #4 the commercial program castled under the opponent's fire. His king
was in a very bad position. The amateur program brought all his pieces in front
of this poor king, but eventually discovered that there was no way to mate. In
the meantime, the commercial shredded the amateur's queenside, created 3 passed
pawns, and won the game with 3 queens against one. A beautiful, very human-like,
game of the amateur program.
* In game #5, the amateur program repeated exactly the same game as #3. Let's
not count this...
* In game #6, the position became completely closed. The pawns were all blocking
each other, there was no way to do anything. The game lasted for 140 moves. At
move #135, the amateur had 1 second left on its clock and began to move
instantly, computing only 1 ply deep. So it began to make really stupid moves,
moving its king toward the center. The commercial program (which had more time
left on its clock) was still able to compute 6-7 piles deep and suddenly found a
way to break the position by sacrificing a knight against a pawn, followed by a
mate in 6. This game is not interesting at all, as this little problem with time
management will be fixed tomorrow.
* Game #7 was a very long one too. Eventually the amateur program was able to
lead its opponent into a won KP vs K game. The pawn was promoted into a queen,
and after a few moves the amateur announced a mate in 4. But, err... it did
never mate. Move after move it was announcing mate in 4, mate in 5, then mate in
4, and so on. After 50 moves, the opponent claimed a draw. Naturally, the
amateur program should have won this game.
* Game #8 was the most beautiful game. The amateur completely was crushing its
opponent. The commercial program, with black, was completely outplayed. It was
suffocating, very little mobility, threats everywhere. The amateur program
eventually won a rook for nothing. Then followed a very long endgame. There were
still many pawns on the board, and the commercial program did not allow the
amateur's extra rook to enter his territory. But the only rook left of the
commercial one managed to go to a semiopen file, and with the help of his pawns,
the commercial managed to create a pair of passed pawns. The amateur was able to
stop them by using his two rooks. But after a while, in order to avoid a draw by
repetition, the amateur decided to go for some exchanges and the resulting
position was KBP against a naked K. Unfortunately it was a draw (wrong color
bishop). Once again, a very good game for the amateur.
* In game #9, the amateur program showed it was able to play very dynamically in
the opening. It developped all his pieces in a blink, while the commercial
program moved one of its knight 3 times (yes 3!!), in the opening. Oh yes, it
managed to put this knight in a center outpost position, supported by 2 pawns,
but was it worth the trouble? Maybe the answer is yes, as this knight turned out
to be a nightmare for the opponent. The commercial program won the game at move
32.
* In game #10 nothing happened. The game was very quiet. The commercial program
won the endgame in a very boring way.
The final result is 9.5-0.5 in favor of the commercial program. Let me say that
this commercial product did not impress me at all when I followed the games. I'm
not even sure that it justified its incredibly high price of $59.95.
OK, this is just a story I imagined. I just want to tell that the commercial
programmer is probably not smarter than the author of the amateur program. But
every game the commercial has won has been won by very hard work on an
incredible number of very small details.
That is where the difference is.
I'm pretty sure almost all the amateur programmers that post here on CCC could
top the SSDF list one day. The question is: guys, how much time are you going to
be able to spend on your program this year?
I'm not asking: how much time would you LIKE to spend? The question is how much
time you WILL really spend on it.
If you are not going to spend 8 hours per day, 7 days per week, on your program,
well, it is going to be difficult to beat those commercial programs.
BTW, all the games above do not actually come out of my imagination. All these
problems have already happened to my program. Maybe some of them could still
happen today... The number of problems you can discover in a program is
infinite, the work of fixing them has no end.
Christophe
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.