Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: My pawn evaluation code (Bugfix)

Author: Tony Werten

Date: 12:07:16 11/25/01

Go up one level in this thread


On November 25, 2001 at 11:30:51, Michel Langeveld wrote:

>Fixed some errors in the passer code...
>
>   //grouping rule
>   //isolated pawns
>   //passers
>   //double and triple pawns
>   bool whiteGroup = false;
>   bool blackGroup = false;
>   int whiteGroups = 0;
>   int blackGroups = 0;
>   bool whiteIsolated = false;
>   bool blackIsolated = false;
>
>   for (int i=0; i<8; i++)
>   {
>      if (evalStructure.whitePawnsPlace[i] > 0)
>      {
>
>         //double pawns
>         if (evalStructure.whitePawnsPlace[i] == 2)
>         {
>              score -= PAWNDOUBLE_PENALTY;
>         }
>         if (evalStructure.whitePawnsPlace[i] == 3)
>         {
>            score -= PAWNTRIPLE_PENALTY;
>         }
>
>         //passer?
>         if (evalStructure.blackPawnsPlace[i] == 0)
>         {
>            if (
>                 (i != 0 &&
>                  evalStructure.blackPawnsPlace[i-1] == 0 &&

connected passed pawns don't pass this test

>                  evalStructure.whitePawnsPlace[i-1] > 0 &&
>                  evalStructure.blackPawnsPlace[i-2] == 0) ||

How are passed pawns and not having a pawn 2 files away related ? BTW i-2 can
become -1 here, hope your array runs from -1 to 8.

Tony
>                 (i != 7 &&
>                  evalStructure.blackPawnsPlace[i+1] == 0 &&
>                  evalStructure.whitePawnsPlace[i+1] > 0 &&
>                  evalStructure.whitePawnsPlace[i+2] == 0)
>               )
>            {
>               score += PAWNPASSER_BONUS;
>            }
>         }
>
>         //grouping rule and isolated pawns
>         if (whiteGroup == false)
>         {
>            whiteGroup = true;
>            whiteGroups++;
>            score -= PAWNGROUPS_PENALTY;       //pawngroup bonus
>            whiteIsolated = true;
>            score -= PAWNISOLATED_PENALTY;     //this pawn is isolated if nomore
>follow
>         }
>         else
>         {
>            if (whiteIsolated)
>            {
>               whiteIsolated = false;
>               score += PAWNISOLATED_PENALTY;
>            }
>         }
>      }
>      else
>      {
>         whiteGroup = false;
>         whiteIsolated = false;
>      }
>
>      if (evalStructure.blackPawnsPlace[i] > 0)
>      {
>         //double pawns
>         if (evalStructure.blackPawnsPlace[i] == 2)
>         {
>            score += PAWNDOUBLE_PENALTY;
>         }
>         if (evalStructure.blackPawnsPlace[i] == 3)
>         {
>            score += PAWNTRIPLE_PENALTY;
>         }
>
>         //passer?
>         if (evalStructure.whitePawnsPlace[i] == 0)
>         {
>            if (
>                 (i != 0 &&
>                  evalStructure.whitePawnsPlace[i-1] == 0 &&
>                  evalStructure.blackPawnsPlace[i-1] > 0 &&
>                  evalStructure.blackPawnsPlace[i-2] == 0) ||
>                 (i != 7 &&
>                  evalStructure.whitePawnsPlace[i+1] == 0 &&
>                  evalStructure.blackPawnsPlace[i+1] > 0 &&
>                  evalStructure.blackPawnsPlace[i+2] == 0)
>               )
>            {
>               score -= PAWNPASSER_BONUS;
>            }
>         }
>
>         //grouping rule and isolated pawns
>         if (blackGroup == false)
>         {
>            blackGroup = true;
>            blackGroups++;
>            score += PAWNGROUPS_PENALTY;     //pawngroup bonus
>            blackIsolated = true;
>            score += PAWNISOLATED_PENALTY;   //this pawn is isolated if nomore
>follow
>         }
>         else
>         {
>            if (blackIsolated)
>            {
>               blackIsolated = false;
>               score -= PAWNISOLATED_PENALTY;
>            }
>         }
>      }
>      else
>      {
>         blackGroup = false;
>         blackIsolated = false;
>      }
>   }



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.