Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Deep Blue--Part III

Author: Vincent Diepeveen

Date: 15:51:35 05/10/98

Go up one level in this thread



On May 10, 1998 at 00:52:18, Keith Ian Price wrote:

>Sorry for the delay. Here is Part III of my Deep Blue Report:
>
>8.There was a rather long thread going on about a month ago on rgcc,
>concerning whether DB was an example of Artificial Intelligence. During

Most definitions of AI require several things which are all met by
a chessprogram. The general exception is the requirement
that a program must learn, this is the problem
for chessprograms, they don't learn well.

Like if we play another game it makes the same strategical mistakes
it made previous game. It doesn't learn.

Even after 1000 games it'll lose in the same strategical way (note
that the booklearning wil prevent the same line, which is already
a good thing).

So in fact nothing in the world right now meets this definition,
but with booklearning and stuff, the computerchess world and especially
Hyatt are pioneering in this area, which deserves some applause, because
closing this gap well enough is very important to come to an intelligent
system.

[snip about how rebel got crushed by DB in a position with several
freepawns, and another game where it got hammered where interesting
difference was the evaluation of both programs derived from kingsafety]

With few million nodes a second of a single processor i can't wait
until it gets released. I'd buy it right away. That's more than 10 times
faster any pc can right now evaluate (except some multiprocessor
systems, but i would like to avoid calling multiprocessor systems
PC's). I don't care for its name. "Hsu Blues" would be a good name.

I don't doubt that Rebel got beated in a position with more than one
freepawn.

Preprocessor programs generally cannot see the consequences of
positions that change, and in these positions the pawnstructure is
complex no doubt, which demands an evaluation at the leaves
rather than in the root.

Rebel is outdated in this respect, although rebels preprocessor
is very good, no doubt.

The search depths of nowadays however clearly demand a
different way to evaluate a position.

Note that Rebel tournament book usually does a good job
in avoiding complex pawn structures.

Perhaps Nimzo book is even better in avoiding complex
pawn structures. Complex in Nimzo's respect must also be
read as: pawnstructures where there are hardly exchanges possible,
or like in Spanish threatening to open files and stuff (Deep Blue -
Kasparov game II 1997 is a good example of this).

About the king safety of DB which killed off Rebel here below something.

>10. Since we had been talking about evaluations and positional
>understanding, I took the time at this point to bring up my current
>favorite among the chess programs I have, Chess System Tal. I stated
>that I was impressed with the amount it accomplished within 3000 nodes
>per second searched. I said that if its evaluation was able to search at
>a much higher rate, that I thought it would be much better than the
>other micro programs. I was surprised by the enthusiasm Hsu showed about
>the program. He mentioned that how it handled King Safety was much more
>similar to Deep Blue than the other micro programs, although perhaps a
>little bit more extreme, and that he, too, was impressed with it. He
>said that many things in CSTal were implemented in Deep Blue, which I
>found strange, since it wasn't released until after the match. I didn't
>think of that until later, so I wasn't able to ask him about this.
>Perhaps he meant implemented similarly, or perhaps ideas from CSTal's
>style of play exhibited in games Thorsten posted. Or maybe he had access
>to a beta version, or he was referring to Complete chess system, I don't
>really know. I only mention this as it gives a little insight into the
>approach used in the evaluation. During the presentation Hsu stated that
>unlike other chess programs, DB's evaluation in not just a matter of
>adding weights together with bonuses to arrive at a score, but some
>functions were calculated non-linearly, through multiplication, or other
>"second level" methods. When asked about this, he said that some
>examples of the non-linear evaluations were in the method of
>calcualating a pawn's value based on it's advance, and its position
>relative to other pieces and pawns, and King safety, which was an
>example of what he had referred to as "second level" methods. This was a
>question and answer section at the end of the presentation, and since it
>wasn't my question, I could not ask him to expand on these generalisms.

About this kingsafety, i think Hsu refers to the huge bonuses he gives
to kingsafety. In game II for example we see that Deep Blue prefers
36.axb5 over Qb6. We can easily explain this move by high penalties in
kingsafety. I figured out that the difference in evaluation between axb5
and qb6 in Diep is few tens of a pawn.

When playing Kasparov you generally spoken should carefully look to your
king. Kasparov is known for his king attacks. For example in
"Winning chess brilliancies" Seirawan describes from page 198 to 218
the 20th game of Kasparov-Karpov, FIDE world champs Lyons. Kasparov
destroyed here Karpov using sacrafices. One of the crucial positions is
in the NOLOT test set, position I: Nxh6!

Several versions of Diep didn't find this move. After retuning some
parameters and debugging king safety a little, to my big surprise
suddenly
Diep nowadays finds convincingly Nxh6!! at 13 ply after some minutes.

Zarkov and CSTal especially are good examples of programs which have
set the parameters of king safety very very high. In my eyes extremely
high.
Generally in computerchess a likely scenario is then that after both
doing some nullmoves one program can destroy the other one because
suddenly it is a good attack (because of the nullmoves of both).

I guess Hsu is referring to the style in where simple patterns get high
scores, which against Kasparov and humans in general is very healthy,
and leads to an aggressive style of playing.

I already concluded this from the games DB played against Kasparov that
DB is a program that does this.

More interesting to know is HOW much of these second level rules DB
has. I mean these rules are very important. I'm busy myself on these
rules
in Diep. These rules are very hard to make, because they more directly
affect final evaluation of a position.

Don't need to mention that these rules eat bunches of systemtime,
because
you need to collect several evaluation parameters in arrays.

Several of these rules already limit evaluation speed so much that a
program
containing them can't evaluate more than say 20k a second at a pentium
pro. This makes a program running at a special CPU doing this in
hardware
few million times a second very interesting. Don't need to mention
it would sell very very well. Of course if the program is well!

This brings me on the next subject. I can't believe that DB is
containing
that much evaluation, if i simply look to the evidence, the bad moves
produced by DB, and which are in my eyes due to simple positional
evaluation which DB lacks. I'm basing myself partly on analysis of
Seirawan (ICCA JUNE 97).

GAME I:

Game 10, ...h6? what is this for kind of move? Both CSTal and Zarkov
make this mistake too. After a Nxg6 black has to take back with the
h-pawn.

There are 3 reasons possible why a program makes this bad move
  a) bishop is extremely more worth than knight
  b) program doesn't know the simple pattern that a doubled pawn at g6
       is well
  c) after hxg6 black gets an half open file at kingside, some programs
      get huge penalty for this. if this simple king safety penalty is
way too
      huge then a program plays h6 in order to prevent h6.

It is clear that c) may be enough. Considering the fact that for few
half-open
files to the king CSTal already sacrafices a rook (against Nimzo in WCCC
it
gave away a rook for few checks and a king in the centre of nimzo),
i don't doubt that this is the reason for CST to play h6.

Objectively however this means that a programs lack of knowledge is
compensated by higher penalties for king safety. No doubt that this
leads
to interesting play, which the computerchess world already lacks too
much.

11, Qa5? When i saw DB make this move i had to laugh.
I know this problem very well. A program likes to get bonuses for
mobility
and attacks
to enemypawns. The queen is misplaced at queenside in front of the
pawns here. Programs lacking pattern knowledge but which do contain
(expensive) mobility and bonuses for attacking opponent pieces play
these
kind of moves.

12, Bc7? This is a weird bad move, and i can only explain
this move with next: the queen gets points to cover the bishop or
vice versus. Probably this pattern is in DB, and causes this move.
I cannot explain it else. 12,Qc7! covers the bishop in the right way,
but
probably is not played because it wants to optimize mobility+attacks for
the
queen.

Game II:
33. Nf5! this move wondered me for some time. Diep doesn't consider
to playing it  first sight 12 ply. After some study i found out why,
because
the weird thing is that older versions DO play it.

Newer versions of Diep, the program managed to lose masses of games
to commercial programs because the opponent had a pawncovered
freepawn (the pawn at e4 here). So at a certain time i increased simply
the bonus for this, and some penalties for freepawns depend on this.

If the pawn isn't covered, then it gets these penalties.
So nowadays there are several reasons why Diep gets masses of points
to cover it, which prevent it from playing 33.Nf5 first 12 ply.

Also note that black after the exchange gets a covered freepawn, which
triggers some second level knowledge of Diep causing it to not play Nf5.

36. axb5!

This is a brilliant move, which i can easily explain
with DB kingsafety. There are several tens of pawns needed to make
a program play axb5! instead of Qb6. If your kingsafety however gives
white a huge penalty after the line given by GM Lubosh Kavalek
(Qb6 Rd8 axb5 Rab8 Qxa6 e4 and the black queen gets into the white
position driving white king to centre with queens on the board), then
this move is easily explainable, supposing that DB has singular
extensions
and can see here line of about 15 half moves among which a lot of checks
and forced moves.

37. Be4 !? I don't know why there is so much confusion about this move.
If DB simply just like Diep has some code about unequal bishops, then
this move is terribly easy to explain.

the winning line here (Seirawan ICCA JUNE 97):
37.Qb6!,Rxa2 38.Rxa2,Bc7 39. Qe6+,Qxe6 40.dxe6
exchanges the queens, after which we get an ending which contains
different colored bishops. Diep gives a huge penalty for this, so the
difference between Be4 and Qb6 is very little. In fact several ply Diep
prefers Be4 too. Then it goes back soon to Qb6! After 20 ply Diep still
prefers Qb6!. Can't imagine that DB did search so deeply here. Diep
needs
over 24 hours for this bye the way at my pentium pro 200.

I can only laugh at the insults of Kasparov about this move. Kasparov
should be ashamed for his "weak IM level" (GM V/d Wiel), shown in
these games. The play in game I was already a quite hazardeous way to
play the computer (open d-file).

GAME III:

8., Qd7?! this is a weird move. Lucky for DB most PC programs make this
mistake too. In fact this fault is simple: the bishop at e6 is stronger
than
the knight at f3. So it may not exchange it.  A knowledgeable program
should prevent this. I'm not very happy that current Diep wants to play
Qd7?! too. I'm gonna find out how to improve that. For humans it's easy
to see that h6 must be played here.

16.,Kh8?  Seirawan calls this a nullmove. DB has no plan. That's not
weird.
                The move is however.
24,Bd8?!  with this move DB clearly shows that it doesn't know
                what bishops of the right color means. Or it does it the
crafty way:
                stupid and inaccurate. You need extensive code for this.
32,a5?     horrible. Another case of putting the pawns at the wrong
color.

40,Bc7!    Not very weird. A stupid program positionally, but tactical
strong.
                This move is horrible, but tactically forced. DB has
singular extensions
                and stuff, so sees that this move is forced.

Game IV:
12.Bxg6? horrible same mistake like in game I, only now it's clearly
caused
                by lacking the pattern that a doubled pawn is good at
g6-g7 when
                h-file becomes opened. This move is so horrible, only
chessnovices
                play it. A program MAY not consider this move.
Especially not after
                searching 69 billion nodes or something.
                This is one of the most clear examples that DB lacks
knowledge.

15.Rgd1? this is of course a zombie move. No plan, ok that's common for
                 computers, but can't we do something about development?

24.b4?     this move is a horrible positional concession. Lucky for DB
most PC
                programs play it too.
26. b5?   this is horrible. a nitwit move. programs without that much
knowledge
               play it too. Few short term tactical advantages are
preferred over
               long term positional terms which tell it that it leads to
a horrible position.

All the other ? marks of DB in game IV are of no use for me, but say
enough.

game V:
6, e6?        Seirawan thinks this a bad move, but i think this move is
simply
                  a bookmove. I givef Db credit for this move
                  is in Diep's book as being a playable move. I suspect
it is in the
                  DB book too.
10, Bb4+?  This is a bad move. I can imagine that a weak positional
program
                  plays it: "Patzer sees check, patzer gives check".
After c3 the
                  white pawn structure becomes better and white wins a
tempo now.
                  A positional strong program will never play this move.

29, Qg6?  horrible weakening the structure. Doesn't DB have structure
code?
                This move is laughable, because with Qd3 it can get
exchanged too.
                This move is clearly showing positional problems of DB,
because
                you can get the same endgame without the bad pawn
structure,
                which loses the game (with some beginner moves Kasparov
manages
                to not win it).

Note that Db plays the rest of the endgame well, although after some
analyzes
it appears that other programs do a pretty good job here too, we can
conclude
that DB team worked on the endgame, but didn't work on things like
structure and easy patterns (which are already in crafty, like the g6
doubled pawn).

game VI: 2 ! moves found easily by PC programs. Note that DB didn't make
                    a single bad move this game, because it didn't get
the chance
                    from Kasparov to do so. A deserved win of DB.

Ok conclusion:
DB is a simple program clearly lacking knowledge, as showed in the
games.
Tactically it is very strong gameIII:40,Bc7! clearly shows this.

Vincent




This page took 0.03 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.