Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: razoring in crafty version 16.9, mid 1999

Author: Tony Werten

Date: 00:48:59 08/22/02

Go up one level in this thread


On August 21, 2002 at 18:02:21, Robert Hyatt wrote:

>On August 21, 2002 at 15:18:02, Vincent Diepeveen wrote:
>
>>On August 21, 2002 at 14:03:57, Robert Hyatt wrote:
>>
>>razoring = forwardpruning = fhr = dubiously throwing away
>>branches.
>
>
>Razoring doesn't "dubiously throw away branches."  It simply reduces
>the depth along _some_ branches by exactly 1 ply.  The branch is _still_
>searched...  Just less deeply...  For the same reason null-move is _not_
>a forward pruning algorithm...  nor is alpha/beta...

suppose 5 ply to search, score is above beta.

Not sarching a move but taking a beta cutoff is forward pruning.

Reducing the searchdepth with 5, making you fall in quiescence, resulting in
taking a beta cutoff is not forward pruning.

Yet they do exactly the same.

I think reducing searchdepth should be considered forward pruning, and your
definition of forward pruning is just an extreme case ( ie reducing depth with
remaining depth ) of general forward pruning.

Tony


>
>
>>
>>>On August 21, 2002 at 08:20:07, Vincent Diepeveen wrote:
>>>
>>>>On August 21, 2002 at 07:58:52, Vincent Diepeveen wrote:
>>>>
>>>>needed to get more crafty versions?
>>>>
>>>>That all ain't octobre 1997...
>>>
>>>What is your point?  razoring is _not_ "forward pruning".  It
>>>produces a somewhat similar result.  the "last modified" doesn't
>>>mean a thing, of course.  That doesn't say _what_ was modified.
>>>search.c is modified regularly.
>>>
>>>>
>>>>/* last modified 04/01/99 */
>>>>
>>>>/*
>>>> ----------------------------------------------------------
>>>>|                                                          |
>>>>|   now we toss in the "razoring" trick, which simply says |
>>>>|   if we are doing fairly badly, we can reduce the depth  |
>>>>|   an additional ply, if there was nothing at the current |
>>>>|   ply that caused an extension.                          |
>>>>|                                                          |
>>>> ----------------------------------------------------------
>>>>*/
>>>>      if (depth<3*INCPLY && depth>=2*INCPLY &&
>>>>          !tree->in_check[ply] && extensions == -60) {
>>>>        register const int value=-Evaluate(tree,ply+1,ChangeSide(wtm),
>>>>                                           -(beta+51),-(alpha-51));
>>>>        if (value+50 < alpha) extensions-=60;
>>>>      }
>>>>
>>>>
>>>>
>>>>>On August 20, 2002 at 17:56:42, Robert Hyatt wrote:
>>>>>
>>>>>>On August 20, 2002 at 07:12:16, Vincent Diepeveen wrote:
>>>>>>
>>>>>>>On August 18, 2002 at 21:48:08, Robert Hyatt wrote:
>>>>>>>
>>>>>>>>On August 18, 2002 at 21:15:47, Vincent Diepeveen wrote:
>>>>>>>>
>>>>>>>>>On August 18, 2002 at 15:08:49, Gian-Carlo Pascutto wrote:
>>>>>>>>>
>>>>>>>>>>On August 18, 2002 at 09:06:02, Jorge Pichard wrote:
>>>>>>>>>>
>>>>>>>>>>>   Kasparov proved that he can defeat programs at fast time controls when he
>>>>>>>>>>>defeated Deep Thought in a game/90 two games match in 1989. This program was
>>>>>>>>>>>weaker than Deep Junior is today, as it searched well over 2,000,000 NPS, but
>>>>>>>>>>>didn't have as much chess knowledge as Deep Junior.  He also defeated Deep Blue
>>>>>>>>>>>in 1996. This program is obviously much faster than Deep Junior is today, but in
>>>>>>>>>>>my opinion Deep Junior still has more chess knowledge than Deep Blue had back in
>>>>>>>>>>>1996.
>>>>>>>>>>>
>>>>>>>>>>>PS: It is hard to compare Deep Blue of 1997 vs Deep Junior of today, but in my
>>>>>>>>>>>opinion Deep Junior Chess Knowledge could make up for the difference of Deep
>>>>>>>>>>>Blue super calculating power of 1997.
>>>>>>>>>>
>>>>>>>>>>How do you know all this?
>>>>>>>>>>
>>>>>>>>>>How do you know Deep Junior has more chess knowledge?
>>>>>>>>>>
>>>>>>>>>>I mean, we don't know what Deep Blue evaluated exactly (save a few things
>>>>>>>>>>that are published). We know *nothing* about what Deep Junior evaluates
>>>>>>>>>>exactly.
>>>>>>>>>
>>>>>>>>>yes we know that. Look at the paper it describes about 40 patterns and if
>>>>>>>>>you multiply that with arrays of 64 (that's how it goes in hardware)
>>>>>>>>>and add to it piece square tables it is exactly what theydid. of course how
>>>>>>>>>well defined the patterns are is a different case.
>>>>>>>>>
>>>>>>>>>We can see that at the rude play very easily. Look at game 1 from 97,
>>>>>>>>>where it played manoeuvres like qa5 bc7 qc5 which even seirawan comments
>>>>>>>>>correctly in his 1997 analysis. Gnuchess accuracy it is. Very rude and
>>>>>>>>>primitive, but for a program with a leaf evaluation (even though some
>>>>>>>>>tuning by preprocessor took place) with several tens of patterns (and
>>>>>>>>>as a result of that several thousands of adjustable parameters) that
>>>>>>>>>means it was searching deeper than any program with that amount of
>>>>>>>>>knowledge in evaluation in 1997. I for sure had more in 97 (though i
>>>>>>>>>used arrays less back in 97 than i do now as i'm not hardware but
>>>>>>>>>software and L2 caches were performing bad in general back then until
>>>>>>>>>pentium pro which took a few years to adjust to) so had others, but we
>>>>>>>>>all shared that at a 200Mhz pentiumpro we searched 8-9 ply, NOT 11-12.
>>>>>>>>>
>>>>>>>>
>>>>>>>>I'm not going to comment on the rest of your nonsensical statements, but
>>>>>>>>the above is clearly wrong and that is provable.  I played in Jakarta on
>>>>>>>>a pentium pro 200.  And _My program_ searched 11-12 plies.  I have the logs
>>>>>>>>to prove it.  And anyone that wants to download the crafty (jakarta) version
>>>>>>>>can find the same thing...
>>>>>>>>
>>>>>>>>So if you are going to make statements, at _least_ verify that there is some
>>>>>>>>basis of truth to them first.  _you_ might not have been able to hit 11-12
>>>>>>>>plies on a P6/200, but I did...  And others did as well.
>>>>>>>
>>>>>>> - no checks in qsearch
>>>>>>> - forward pruning last ply which also hurted nullmove incredible
>>>>>>
>>>>>>Don't know what you mean there.  If you are talking about razoring, it was
>>>>>>a 25% gain roughly but it was removed many years ago...
>>>>>
>>>>>Yes it was removed around 2000-2001 after i adviced you to remove it Bob.
>>>>>
>>>>>>> - no mating extensions (not solving win at chess 141 even soon which
>>>>>>>   in 1997 was a 9 ply trick for me).
>>>>>>
>>>>>>Crafty has been solving wac141 for a long time.  The null-move mate threat
>>>>>>speeded it up a ply, maybe...
>>>>>>
>>>>>>But that is not the point... You said "nobody got to 11-12 plies".  I got
>>>>>>to 11-12 plies.  Your statement is therefore simply false because of that.
>>>>>
>>>>>A dubious 11-12 ply which doesn't compare to them doesn't count.
>>>>>
>>>>>Look DIEP 1997 was comparable, so was gnuchess or Zarkov, so was
>>>>>The King. When forward pruning turned off (except nullmove) in the king
>>>>>from that period, neither of all the programs ever got 11-12 ply.
>>>>>
>>>>>We can't count an idiotic crafty version. Crafty in 1997 didn't have
>>>>>anything called 'king safety'. I remember how you did effort to prevent
>>>>>getting mated by something stupid where even diep version 1.0 didn't
>>>>>fall for at bullet search depths back then, and where crafty fell for
>>>>>even at 11-12 ply. You had a special feature at icc created to prevent
>>>>>that 'mercilous' attack even. Everyone in blitz and bullet could beat
>>>>>crafty very long period of time with just a simple king safety trick which
>>>>>even 1400 chessplayers understood. They were noplayed, censored, a special
>>>>>S list was created, anything but the king safety was fixed.
>>>>>
>>>>>If you run with material only, every idiot gets 11-12 ply. Now you didn't
>>>>>even get it in a legal way. You needed forward pruning for it.
>>>>>
>>>>>Your memory is FUCKING bad that you don't even remember when you turned
>>>>>off the forward pruning in crafty.
>>>>>
>>>>>>You didn't qualify the "nobody to exclude those that can't solve wac 141
>>>>>>fast enough for you or whatever."
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>Fritz3 also got 11 ply but it was also with a lot of dubiousy.
>>>>>>>
>>>>>>>In fact some hit 15 ply as well with major forward pruning back then.
>>>>>>>
>>>>>>>But that is not a fair compare. We must compare programs that searched
>>>>>>>in the same way Bob. So not forward pruning, at most nullmove. and
>>>>>>>strong in the leaves.
>>>>>>>
>>>>>>>Crafty even today is very weak there.
>>>>>>
>>>>>>Where does that leave _your_ program then???
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>So then 11-12 wins simply. 8-9 with evaluations from that period lost
>>>>>>>>>simply. period.
>>>>>>>>>
>>>>>>>>>Evaluations 8-9 nowadays are a different case (extending way more nowadays
>>>>>>>>>too than in 1997 too). The evaluation of DIEP is a top grandmaster relatively
>>>>>>>>>seen when compared to 1997 where it knew shit from endgames for example.
>>>>>>>>>
>>>>>>>>>>As a consequence, you can't possibly support any of the claims or
>>>>>>>>>>suggestions you make.
>>>>>>>>>
>>>>>>>>>Yes we can. The biggest evidence is the games played. Statistical evidence
>>>>>>>>>on how programs play moves is the best. The major problem is that you need
>>>>>>>>>to invest time if your chess level is not so high to see it and even a high
>>>>>>>>>rated chessplayer who knows nothing from how chessprograms evaluate will
>>>>>>>>>completely fail here (though Seirawan came pretty far but as he was paid
>>>>>>>>>by IBM he described it in a positive way, leaving conclusions to the reader).
>>>>>>>>>
>>>>>>>>>We have seen some marvellous conclusions already by Uri here based upon
>>>>>>>>>logfiles from the IBM computer. From evaluation viewpoint we
>>>>>>>>>see for example from the mainlines that it gives a big bonus for a bishop
>>>>>>>>>attacking its own queen. We also see it only cares for how many squares the
>>>>>>>>>queen can go to, not caring for patterns there. Very basic things which
>>>>>>>>>were at the time very normal in gnuchess type programs.
>>>>>>>>>
>>>>>>>>>We also see that it knows really nothing from good/bad bishops (not
>>>>>>>>>surprising, only 1 program had in 97 this thing and it was mine). It
>>>>>>>>>simply didn't care for the center at all. This is amazing nowadays
>>>>>>>>>comercial programs *only* care for the center.
>>>>>>>>>
>>>>>>>>>Also its knowledge on passers was very primitif. We see for example that
>>>>>>>>>it doesn't see difference even between covered passers and very good
>>>>>>>>>blocked passers. Regrettably that didn't happen a lot on the board.
>>>>>>>>>
>>>>>>>>>The most amazing thing by far is its huge penalties and bonuses for a few
>>>>>>>>>king safety things. that of course led to big patzer play which is nice
>>>>>>>>>and nowadays very normal. These penalties/bonuses are in complete
>>>>>>>>>contrast to pawn structure aroudn the king. In many games we see
>>>>>>>>>major mistakes here. game 1, but if i remember well game 4 where
>>>>>>>>>deep blue castles long and then plays horrible king moves and b4 b5.
>>>>>>>>>
>>>>>>>>>From the many king moves in the game and in the logfiles we see clearly that
>>>>>>>>>it had a very primitif 'opponent pieces to my king' distance feature.
>>>>>>>>>
>>>>>>>>>I remember how DIEP back in 95,96 wanted also always ka1 because that would
>>>>>>>>>mean the king is further away from the pieces. A very basic mistake we
>>>>>>>>>still see in some engines. It is a non-preprocessor mistake obviously.
>>>>>>>>>
>>>>>>>>>but it doesn't take away that the pattern is a very primitive heuristic.
>>>>>>>>>
>>>>>>>>>nearly all kind of bad moves are explained by simple bugs in evaluation.
>>>>>>>>>100% the exact bugs gnuchess also has.
>>>>>>>>>
>>>>>>>>>the comparision with gnuchess is not fair, but for evaluation it sure is.
>>>>>>>>>
>>>>>>>>>We see that the 'new gnuchess', sorry to call it like that, zarkovx,
>>>>>>>>>is the program which when getting 10-11 ply is playing from all chess software
>>>>>>>>>nearly exactly every move which deep blue also played. don't use the
>>>>>>>>>dos-zarkov, but i mean the 4.5xx versions of zarkovx where John hardly
>>>>>>>>>nullmoves the last few plies (they take some time to get 10-12 ply,
>>>>>>>>>horrible branching factor). It makes the same weird moves, same mistakes,
>>>>>>>>>same strong moves. It is a perfect match for how deep blue played.
>>>>>>>>>
>>>>>>>>>A person who can't play chess at all and whose program is exactly making
>>>>>>>>>the mistakes a beginner makes when making a chess evaluation.
>>>>>>>>>
>>>>>>>>>Best regards,
>>>>>>>>>Vincent
>>>>>>>>>
>>>>>>>>>>All of this talk about Deep Blue this and Deep Blue that is just pure
>>>>>>>>>>bullshit. Maybe Fritz 7 would kick its ass. Maybe Fritz 7 would get
>>>>>>>>>>its ass kicked. Maybe they're about as strong. I dont care either way
>>>>>>>>>>since Deep Blue doesn't exist anymore and it certainly doesn't look as
>>>>>>>>>>if it's ever going to play again. So why care about it? Why keep making
>>>>>>>>>>totally unfounded speculations? What's the frigging point? This kind
>>>>>>>>>>of discussion comes up about once in every 2 months and there has NEVER
>>>>>>>>>>EVER come anything insightful out. Instead, a lot of people are making
>>>>>>>>>>claims or saying things that they can never ever support, or even are
>>>>>>>>>>demonstrably wrong.
>>>>>>>>>>
>>>>>>>>>>Mention the words 'Deep' and 'Blue' to anyone who works in computer
>>>>>>>>>>chess, and all sanity suddently grinds to a halt.
>>>>>>>>>>
>>>>>>>>>>--
>>>>>>>>>>GCP



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.