Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Congratulations Bob!

Author: Robert Hyatt

Date: 18:36:56 08/14/05

Go up one level in this thread


On August 14, 2005 at 20:59:33, Uri Blass wrote:

>On August 14, 2005 at 20:12:37, Eugene Nalimov wrote:
>
>>On August 14, 2005 at 20:08:21, Uri Blass wrote:
>>
>>>On August 14, 2005 at 18:01:28, Robert Hyatt wrote:
>>>
>>>>On August 14, 2005 at 17:00:02, Bernhard Bauer wrote:
>>>>
>>>>>On August 14, 2005 at 16:47:43, Darrel Briley wrote:
>>>>>
>>>>>>On August 14, 2005 at 15:22:43, Graham Banks wrote:
>>>>>>
>>>>>>>Best wishes for the remaining games. It would be really good for this to be the
>>>>>>>best Crafty ever! Fingers and toes crossed!
>>>>>>>
>>>>>>>Graham.
>>>>>>
>>>>>>1.5 with two blacks vs. Shredder and Junior.  Impressive indeed.
>>>>>>Congratulations Bob!
>>>>>>
>>>>>>                         DB
>>>>>
>>>>>As Bob has pointed out earlier this is pure luck.
>>>>>Crafty has serios tactical weaknesses as all the
>>>>>computer chess specialists know. Crafty is not even commercial,
>>>>>so how can this be explainded in any other way, but luck?
>>>>>Perhaps Bob has found a very old version and is running this now, 6.4?
>>>>>
>>>>>Anyway congratulations and
>>>>>Kind regards
>>>>>Bernhard
>>>>
>>>>
>>>>I'd bet that those "serious tactical weaknesses" are not to be found on this
>>>>hardware, at least until someone is searching far faster than I am...
>>>
>>>Tactical weaknesses can be found also in software.
>>>
>>>>
>>>>Crafty's "serious tactical weaknesses" are more urban legend than fact...
>>>
>>>Comparing Crafty with fruit Crafty does not do checks in the first ply of the
>>>qsearch when fruit does it and Crafty does not use history based pruning when
>>>fruit does it.
>>>
>>>I think that these are relative weaknesses and using the ideas of fruit may help
>>>Crafty to be better in tactics.
>>
>>Those are not "ideas of fruit". Both are mentioned in the 1977 computer chess
>>book written by KAISSA authors.
>>
>>Thanks,
>>Eugene
>
>You may be right but fruit proves that they can work practically in chess
>programs and Fabien showed the relevant source and as far as I know Bob never
>tried checks only in the first ply of the qsearch.

Look at the comments in main.c...  You might be surprised to see that I did
checks in the q-search until just prior to Jakarta, which was version 10.x I
think..  So this was in Crafty in 1995.  And removed in 1996 before the WMCCC
that year...

I tried them in the first ply only, the first two plies (that is the so-called
extension search mentioned first below) and so forth...


 *    2.5    first check extensions added.  in the extension search (stage     *
 *           between full-width and captures-only, up to two checking moves    *
 *           can be included, if there are checks in the full-width part of    *
 *           the search.  if only one check occurs in the full-width, then     *
 *           only one check will be included in the extension phase of the     *
 *           selective search.                                                 *

*    4.0    evaluation units changed to "millipawns" where a pawn is now      *
 *           1000 rather than the prior 100 units.  this provides more         *
 *           "resolution" in the evaluation and will let Crafty have large     *
 *           positional bonuses for significant things, without having the     *
 *           small positional advantages add up and cause problems.  V3.8      *
 *           exhibited a propensity to "sac the exchange" frequently because   *
 *           of this.  it is hoped that this is a thing of the past now.       *
 *           also, the "one legal reply to check" algorithm is now being used. *
 *           in short, if one side has only one legal reply to a checking move *
 *           then the other side is free to check again on the next ply. this  *
 *           only applies in the "extension" search, and allows some checks    *
 *           that extend() would normally not follow.                          *

 *    5.5    checks are now back in the quiescence search.  Crafty now stores  *
 *           a negative "draft" in the transposition table rather than forcing *
 *           any depth < 0 to be zero.  the null-move search now searches the  *
 *           null-move to depth-1 (R=1) rather than depth-2 (R=2) which seemed *
 *           to cause some tactical oversights in the search.                  *

 *    5.6    improved move ordering by using the old "killer move" idea.  an   *
 *           additional advantage is that the killers can be tried before      *
 *           generating any moves (after the captures.)  quiescence now only   *
 *           includes "safe" checks (using Swap() to determine if it is a safe *
 *           checking move.                                                    *

 *    8.12   fixed minor bugs in quiescence checks, which let Crafty include   *
 *           more checks than intended (default quiescence_checks=2, but the   *
 *           comparison was <= before including a check, which made it include *
 *           three.  Additionally, a hashed check was *always* tried, even if  *
 *           quiescence_checks had already been satisfied.  pawn scoring also  *
 *           had a bug, in that there was a "crack" between opening and middle *
 *           game, where Crafty would conclude that it was in an endgame, and  *
 *           adjust the pawn advance scores accordingly, sometimes causing an  *
 *           odd a4/a5/etc move "out of the blue."  minor bug in next_capture  *
 *           was pruning even exchanges very early in quiescence search.  that *
 *           has now been removed, so only losing exchanges are pruned.        *

 *    9.5    "vestigial code" (left over from who-knows-when) rmoved from      *
 *           Evaluate().  this code used an undefined variable when there was  *
 *           no bishop or knight left on the board, and could add in a penalty *
 *           on random occasions.  quiescence checks removed completely to see *
 *           how this works, since checks extend the normal search significant *
 *           amounts in any case.  QuiesceFull() removed and merged into       *
 *           Quiesce() which is faster and smaller.  first impression: faster, *
 *           simpler, better.  the benefit of no quiescence checks is that the *
 *           exhaustive search goes deeper to find positional gains, rather    *
 *           than following checks excessively.  No noticable loss in tactical *
 *           strength (so far).                                                *




>
>There are other public chess programs that use these ideas like Glaurung and I
>also use these ideas in the last years in Movei but the motivation to try an
>idea should be bigger if it is clear that it works for stronger chess programs
>and Fruit is stronger than Glaurung so I mentioned fruit.
>
>Uri



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.