Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Deep Blue--Part III

Author: Vincent Diepeveen

Date: 07:06:33 05/11/98

Go up one level in this thread



On May 10, 1998 at 20:49:17, Robert Hyatt wrote:

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

>actually this was something I was impressed by several years ago in the
>"late deep thought" stages...  I was at a tournament, maybe at Cape May,
>and had reached a position with bishops of opposite color, with two
>separated passed pawns.  Cray Blitz knew perfectly well about the
>opposite
>color problem, but that was really all, and it resigned itself to what
>looked
>like a draw.  Hsu sat down by me and was chatting and noticed this and
>said
>"oh no, this is won for you...  we got into a similar position against a
>GM a couple of years ago and added a good bit of special-purpose
>knowledge
>dealing with bishops of opposite color, but we factor in how far apart
>the
>passed pawns are and how advanced they are.  We tried it later and sure
>enough, DB was *very* happy.  We did win that game, but I wasn't
>particularly
>happy because we won it without "knowing" we could win it...

Correct, just putting in that bishops of opposite colors leads to a draw
is not sufficient.

I got very happy about my different colored bishop code against Ferret
WCCC 1997 where Diep with 2 freepawns less keeps it a draw.

>>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.

>I agree...  even if a program is a part-preprocessor, or if it tries
>to preprocess, but not at the root, but at some intermediate point
>between the root and the tips.  It simply feels wrong.  I've always
>chosen to avoid that approach, even though it costs me significantly
>in speed.  Dave Kittinger and I had a long discussion about this a
>year or two ago on ICC.  He believed it necessary to achieve sufficient
>depth to avoid getting tactically killed.  His point was good, but the
>question is, is that speed gain worth it?  My "intuition" says "no"...

Well i agree with Dave Kittinger up to the point that we see sufficient
tactics. I see that most programs get around 11/12 ply nowadays
at tournament level, and i think it's time now to start with extending
the evaluation at the leafs, even for convinced speed devils, and
few years ago my intuition said 'no', but i now already have proof
enough
to conclude that knowledge works.

A big part of this evidence is created by the speed devils themselve.
Instead of making a program that plays better, they made a program
that scores better by copying some learning into their book, and making
huge killerbooks.

Personally i think the game Nimzo-Shredder Paderborn98 convincingly
enough. Shredder resigned (score -10), when Nimzo still was in its book.
Whole game Nimzo didn't think out a single move.

I don't think Nimzo is guilty for having a killerbook, i think it kind
of
naive of Shredder to play without playing a side line. It goes like this
in the real chessworld too. Some humans lose just because of home
preparation and home study of the opponent.

It is however clear that not the fast programs are improving, but that
their book and booklearning improved.

When i talk to some commercial programmers i feel real horror when they
tell me exactly how they can beat the learning of the opponent in a
20 game match.

Guys, this is nice when you're just busy with winning, but is this the
game of chess, dissassembling opponents learning, and looking how
to beat it?

>>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.
>
>also note that in game 6 DB's first non-book move had a huge score, even
>though no material was being won for a long time.  Their PV didn't show
>anything, although the "hidden PV in the hardware" might have "sniffed"
>something way out...

(Diep's currently having big problems because winnt 4.0 SP3
gets hung after some
minutes analyzing at the same position. I turned off all parts of the
program
now (evaluation, nullmove, move ordering, extension code, smart search
etc)
and still it gets hung.

I'm considering to sue microsoft because this can't be a bug in Diep
anymore. I've just left it with MAKEMOVE,UNMAKEMOVE, GENMOVES
and a simple search now. NT 4.0 SP 3 gets hung without an error without
anything. Could that be the function stack size, it only gets hung after
it gets huge depths?)

After writing this msg i'll run diep at GAME 6, and will email to this
list
the scores. So after i posted this, i'll run it because if i run it now
and if
it gets hung i have written 30 minutes for nothing, and i hate that.

I remember diep gets huge scores too there. That DB gets huge
scores too doesn't surprise me, they're in the big scores for kingsafety
patterns just like Zarkov and CST.

>>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.
>
>yes... for *us*.  For them, no...  that's the plus for hardware...
>do what you want, do it in parallel inside the hardware, and don't pay
>a big price for it...

What i don't understand of Hsu is: if they can connect Deep Blue's
processor
to a main frame, why can't they add it to  a PC?

Processors are just a little bit of sand, nothing more. If you have
already
made more than one processor sucessfully, then it should be easy and
cheap to mass produce it, and put it at a cheap PCI-card.

I mean few million nodes a second in leafs, that is interesting to play
against!

>>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.
>
>
>note that for an eval with 8,000 terms, with much second-level
>non-linear
>interaction, I'd believe anything could happen on a single move.  But,
>the
>problem is, what other program could play *all* the moves DB played, and
>all those moves are necessary to win the event.  So an occasional bad
>move
>is not unexpected, in that Kasparov does this fairly frequently himself,
>but I believe his reputation lets him get away with it by intimidation..

You're missing the whole point. I've written my fingers blue, so many
bad and really horrible beginner moves are made by DB. Did you miss
80% of the msg i wrote? Main part is below this line.

And NO Bob, even with some errors in 8000 evaluation terms it
cannot happen that it plays Bxg6.

ESPECIALLY with 8000 evaluation terms it cannot happen, because
the other say 7800 evaluation terms will remove the fault after several
tens of billion nodes.

I'm having even more terms in Diep, and sometimes it makes weird moves
because of evaluation faults, but the deeper it searches the more this
gets corrected by the other evaluation terms, backupped by the search,
and corrected because of search like
some programmers might want to do believe us. Currently I'm debugging
and expanding existing, and this really brings a lot.

I'm doubting the knowledge that is in DB. It makes so many simple
faults which are explained by lacking easy knowledge, that it makes
me laugh a little, although i can forget sponsoring of
chesscomputerevents forever because of
that weak IM Kasparov.

>>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.
>
>
>or simpler it could be an artifact of developmental considerations.  But
>who really knows...  But two odd moves do not a lost game make...  Even
>Kasparov thought black was ok a few moves later...

2 dubious moves are more than enough to lose a game. I've played
myself games where my opponent or i myself (just little over 2220) lose
because of 1 dubious move; a weak openingspositon like computers
put at the board is already enough.

And yes, kasparov played so horrible that GM v/d Wiel last Saturday,
after explaining that Kasparov plays tactical himselve like a computer
and
didn't use his maingun: openingspreparation,
called Kasparov's performance: "weak IM level".

Fact is that DB didn't play 2 dubious moves a game, more like 5 dubious
move AVERAGE a game. (See ICCA june 1997 the report of Seirawan)

If FIVE horrible moves a game ain't enough to lose a game against a
seriously playing and GM, then i eat my hat.

>>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.
>
>As Hsu has mentioned, it typically searches an "average" branch to 30
>plies...  bad ones much less, good ones much farther... so that sort of
>"sight" is just a given with that machine...

This is not true. PV is like Amir published based on 11 ply searches,
and PV no more than 13 half moves at that depth.

This is exactly what i experienced myself: if you search 11 ply then
positionally
you simply see not much deeper. Definitely not 30 ply.

Of course, mate in 15 ain't no problem, but let's discriminate between
TACTICS, and positional depth.

Now don't make me laugh by saying that they use smart extensions:
If you KNOW what to extend, then why extending, you can play the best
move at once without searching.

>>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

>I disagree with the "clearly lacking knowledge"..  It drew an ending I'd
>bet every program around would lose.  And it found ways to keep things
>interesting...  round 1 was a lucky win by Kasparov...  one or two tempi
>and things turn totally around...

Can you base this on evidence, like what moves are so hard to find for
our pc programs at analysis level (to compensate a little
for their fast hardware and get more than 11 ply)?

Fact is that DB did a bunch of bad moves, which for the major part are
not done by commercial programs.

Greetings,
Vincent





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