This file contains a description of GNU's heuristics.
   Copyright (C) 1986, 1987 Free Software Foundation, Inc.

This file is part of CHESS.

CHESS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY.  No author or distributor
accepts responsibility to anyone for the consequences of using it
or for whether it serves any particular purpose or works at all,
unless he says so in writing.  Refer to the CHESS General Public
License for full details.

Everyone is granted permission to copy, modify and redistribute
CHESS, but only under the conditions described in the
CHESS General Public License.   A copy of this license is
supposed to have been given to you along with CHESS so you
can know your rights and responsibilities.  It should be in a
file named COPYING.  Among other things, the copyright notice
and this notice must be preserved on all copies.  */

 -- requested by main author
Heuristic descriptions for CHESS.

Revision: 12-16-87

Copyright (c) 1987 by John Stanback
Modified 1991 by Mike McGann

Timing:

  An initial quantum of time = Time Remaining/(2 * moves remaining +1) 
  is alocated to the search. After this time is used up a check is made
  if the score has changed more than ZSCORE points between the last 
  two search levels or if at least ZDEPTH has not been reached or if
  the choosen move has changed between the last two search levels
  the time is doubled. 

Evaluation:

  Here is a brief description of the heuristics used in the positional 
  evaluator of the GNU Chess program. Many heuristics are functions of the 
  stage of the game which is based on the total non-pawn material remaining 
  for both sides. 
    

PAWNS
    The material value of a pawn is 100 points. Isolated pawns get a 
    penalty depending on which file they occupy: 
       (12,14,16,20,20,16,14,12) for files (a..h).
    Doubled pawns (which are not also isolated) get a penalty of 12 
    points. Backward pawns (defined simply as not being defended by a 
    pawn with the square in front also not defended by a a pawn) are 
    penalized 6 points. A 4 point penalty is also invoked for each attack 
    by the opponent to a backward pawn and for a backward pawn on a 
    half-open file. Pawn Advancement in the centre is given a bonus of 
    about 4 points per rank in the opening increasing to about 8 points 
    per rank in the ending. Advancement on the edges is given a lower 
    bonus. Pawns on the e and d files and on the 2nd rank are given a 10 
    point penalty. An additional penalty of 15 points is invoked if these 
    pawns are also blocked. Pawns within 2 squares of the king are given 
    a 10 point bonus. Passed pawns are given a bonus for increasing rank 
    which is a function of stage of the game and of whether the opponent 
    blocks or attacks one or more squares in front of the pawn or if the 
    opponents king is in the square of the pawn. This bonus ranges from 
    about 15 points for a pawn on the second rank up to about 300 points 
    for a passed pawn on the 7th rank which can't be stopped from 
    queening. 
              

KNIGHTS
    The material value of a knight is 330 points. The main heuristic for 
    knights is a bonus for proximity to the centre. This varies from 0 
    points in the corners to 30 points in the centre. Knights are also 
    given a bonus for being within 2 squares of each enemy piece. This 
    bonus is a function of the stage of the game, equalling 4 points in 
    the end game. A penalty of 1 point per square is given for distance 
    from either king. A bonus of up to 8 points (depends on stage) is 
    given for knights which can't be driven away by enemy pawns. 


BISHOPS
    The material value of a bishop is 330 points. Bishops are given a 
    bonus as material falls off the board equalling 10 points in the end 
    game. Bishops get a bonus for mobility and Xray mobility thru pieces 
    but not pawns. This bonus ranges from -4 points for a totally blocked 
    bishop up to 18 points for a bishop attacking 12 or more squares. 
    Xray attacks on an enemy R,Q,K or any undefended piece are given an 8 
    point bonus. Bishops are given a bonus of 14 points if they lie on 
    the edge of the board up to 22 points if the lie in the centre. A 
    bishop is given a bonus of up to 5 points for each attack to a square 
    adjacent to the enemy king. 


ROOKS
    The material value of a rook is 520 points. Rook mobility is handled 
    similiarly to bishops with a bonus of 0 points if blocked up to 20 
    points if attacking 12 squares or more. A bonus of 8 points for Xray 
    attacks is handled as it is for bishops. Rooks are given a bonus of 
    10 points for occupying a file with no friendly pawns and a bonus of 
    4 points if no enemy pawns lie on that file. After the opening Rooks 
    are penalized slightly depending on "taxicab" distance to the enemy 
    king. 
  

QUEENS
    The material value of a queen is 980 points. The only heuristic for a 
    queen is that after the opening it is penalized slightly for 
    "taxicab" distance to the enemy king. 


KINGS
    Kings are given a penalty for proximity to the centre in the opening 
    and a bonus for proximity to the centre in the endgame. The penalty 
    is about 24 points for being in the centre in the opening with a 
    bonus of about 36 points for being in the centre in the endgame. 
    Except when the otherside has only pawns. Then the bonus is turned off.
    Kings are penalized for lying on an open or half-open file or if the 
    adjacent file closest to the corner is open or half-open. This 
    penalty is up to 23 points in the opening and goes to zero in the end 
    game. The King is penalized up to 8 points if there are no pawns 
    immediately adjacent. A penalty is invoked depending on the number of 
    "safe" checks available by the opponent. This penalty ranges from 6 
    points for one such check to 50 points for 4 or more. Depending on 
    game stage, Kings are given up to 10 points for castling and a 
    penalty of up to 40 points for moving before castling. 
  

SPECIAL
    If more than one piece is "hung" (attacked and not defended or 
    attacked by an enemy piece of lower value) an extra penalty of 10 
    points is invoked for that side and the search may be extended one 
    ply. Pinned or trapped pieces are treated similarly. A special mating 
    routine is used if one side has only a king and the other has mating 
    material. 

