Could someone please explain what are these pawn types in Gull?
1. PawnUp
2. PawnUR
3. PawnWeak
I have tried again and again to read the code but I just cant understand what these pawns are. How would they be defined? I know there are also doubled pawns and isolated pawns, those are simple enough, and I have seen some other programs with weak pawns, but Im not sure what is a weak pawn to Gull. Ive never seen 1. or 2. anywhere else. Thanks.
pawn definitions in Gull
Moderators: hgm, Rebel, chrisw
-
- Posts: 226
- Joined: Sun Mar 08, 2009 3:08 pm
- Location: Canada
pawn definitions in Gull
outAtime
-
- Posts: 803
- Joined: Mon Jul 17, 2006 5:53 am
- Full name: Edsel Apostol
Re: pawn definitions in Gull
It's some kind of a backwards pawn computation.outAtime wrote:Could someone please explain what are these pawn types in Gull?
1. PawnUp
2. PawnUR
3. PawnWeak
I have tried again and again to read the code but I just cant understand what these pawns are. How would they be defined? I know there are also doubled pawns and isolated pawns, those are simple enough, and I have seen some other programs with weak pawns, but Im not sure what is a weak pawn to Gull. Ive never seen 1. or 2. anywhere else. Thanks.
Here's the explanation for black pawns if I've read it correctly:
Code: Select all
if (not supported by own pawn (chain)) {
score += PawnUP[rank];
if (not supportable by pawn push of own pawn) score += PawnUR[rank];
else {
for (pawn pushes that is capable of supporting)
if (not blocked by other pawns in its way to support) goto weak_b;
score += PawnUR[rank];
}
weak_b:
if (there's any pawn in the front square || (the front square is attacked by enemy pawn and not attacked by allied pawn) {
score += PawnWeak[rank];
if (there is no other pawn in front upto promotion square (in an open file)) score += PawnWeakOp[rank];
}
}
Edsel Apostol
https://github.com/ed-apostol/InvictusChess
https://github.com/ed-apostol/InvictusChess
-
- Posts: 12549
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: pawn definitions in Gull
PawnUp just resolves to a number and the name is used because of the archane score evaluation numbers.outAtime wrote:Could someone please explain what are these pawn types in Gull?
1. PawnUp
2. PawnUR
3. PawnWeak
I have tried again and again to read the code but I just cant understand what these pawns are. How would they be defined? I know there are also doubled pawns and isolated pawns, those are simple enough, and I have seen some other programs with weak pawns, but Im not sure what is a weak pawn to Gull. Ive never seen 1. or 2. anywhere else. Thanks.
Code: Select all
score += PawnUP;
Code: Select all
score += ((5) + ((5) << 16)); //327685
PawnWeak resolves to the following table of 8 numbers:
Code: Select all
const int PawnWeak[8] =
{
0, ((15) + ((10) << 16)), ((10) + ((5) << 16)), ((7) + ((4) << 16)), ((10) + ((5) << 16)), ((12) + ((6) << 16)), 0, 0
};