Computer Chess Club Archives


Search

Terms

Messages

Subject: How to manage extensions?

Author: Jan Pernicka

Date: 03:30:58 03/22/00


 Hi,
I think that quality of chess program depends strongly on "well-tuned"
extensions,i.e. to let the program to search deeper (e.g. 1 ply) after
special kinds of moves -
  - example: While searching, I have 1 ply to horizon, so normally
after the next move the quiescence search will start( i will reach the horizon).
But when the move is, say, check I will add 1 more ply. So check is the
special kind of move in this case that causes extension (=adds 1 ply)

  Several questions arise:
 1) what kind of extensions(=EX) to use?
      this is commonly known - checks, recaptures ....
      you can surely develop many other criteria - especially after
      watching a kind of "Tal-like" game :) , but:
 2) where (and when) to use extensions?
      this is much more interesting question, because EX when don't used
      carefully explodes the tree...., so you can't use EX carelessly
      (i.e. not like rule:  IF it's check THEN add 1 ply).

  (*)The CRUCIAL question is - how to reduce the amount of EX that are possible
       to use ( to complete search in reasonable time)?  This depends NOT
       on the kinds of EX but more on situations (positions) WHERE they are
       used.

       My opinion is that this could safely be used in the way:
          - allow not more than 1 (or 2...) extensions in every branch
                of the game tree
              - but seem to me like "nothing special"...

       Do you know about some more sophisticated ways of solving this problem
       (i.e. problem (*) )  or will there still be the equality:
               strong chess program = fast chess program ?

   My opinion is that programs that only use exhaustive search (+ quescence
     and a bit of EX as a spicery...) can only thanks to guys from Intel(C)
     that they are better and better and, what is more important, they can't
     develop too much...
      - that means - given a depth d - to develop and then still refining a
     program that searches just at the depth d (+ quesc...) (or more strictly:
     - to choose a move if you are allowed to use not more then
     N computer instructions (or ticks of processor!)...) can't produce
     much better program than we started with...

    This seems that I tend to "return" to programs such as Shannon B types,
    but it's not true. What I want is to refine exhaustive-searching
    programs in the way I've just written.

    Another (and last...) question connected with this is:
       When coputer beats computer - what are the common reasons
       of that loss?
      I think it could be:
     1) loss of piece in the middle of the game
     2) still more and more positional advantage during the game
     3) blunder in endgame
     4) wrong transition from middle game to endgame
     5) others
  If you are more experienced, you could enrich/modify this list managed
   by your opinion...
  It would be also nice and MUCH MORE interesting to estimate the frequency
  of results of the 1:0 (or 0:1) games (e.g: "point 1) - 10% of winning
  games")

  Well, thank you for your patience and thank you in advance for your
  suggestions, opinions,comments,critics and reactions at all...

                Jan Pernicka



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.