Center Control

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Center Control

Post by Henk »

Strange Skipper computes SEE for each square in center and takes the sum ( > 0: 1 < 0: -1) * weight. But if I leave this term out it's score on the center control test positions "STS(v12.0) Center Control." is almost equal (a very bad score) and there is no overlap with another term.

Or is computing SEE too expensive.
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Center Control

Post by Sven »

Henk wrote:Strange Skipper computes SEE for each square in center and takes the sum ( > 0: 1 < 0: -1) * weight. But if I leave this term out it's score on the center control test positions "STS(v12.0) Center Control." is almost equal (a very bad score) and there is no overlap with another term.

Or is computing SEE too expensive.
I am not sure whether SEE of central squares is a correct measurement for center control when considering positions with hanging pieces. Take a position with a white pawn on c3, a black queen on d4 and a black pawn on c5. Both sides have equal control over the central square d4 but SEE(d4, white) will return a positive score due to the hanging queen and SEE(d4, black) is either meaningless (black cannot capture own queen) or 0.
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: Center Control

Post by Henk »

By the way Skipper also adds Field.Value.

Code: Select all

        public int SEE&#40;IField field&#41;
        &#123;
            MoveBase move =  GetSmallestAttackingMove&#40;field&#41;;
            if &#40;move == null&#41; return 0;
            var capture = move.GetCapture&#40;this&#41;;
            return field.Value + Math.Max&#40;0, &#40;capture == null&#41; ? SEENonCapture&#40;move&#41; &#58; SEECapture&#40;move, capture&#41;);                   
        &#125;
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Center Control

Post by Sven »

Henk wrote:By the way Skipper also adds Field.Value.

Code: Select all

        public int SEE&#40;IField field&#41;
        &#123;
            MoveBase move =  GetSmallestAttackingMove&#40;field&#41;;
            if &#40;move == null&#41; return 0;
            var capture = move.GetCapture&#40;this&#41;;
            return field.Value + Math.Max&#40;0, &#40;capture == null&#41; ? SEENonCapture&#40;move&#41; &#58; SEECapture&#40;move, capture&#41;);                   
        &#125;
How does that use the color for which you want to calculate a square's SEE?
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: Center Control

Post by Henk »

r7/4kp2/3Rp2b/2p1P3/bp3P1P/rB2N3/P1P5/1K1R4 w - - bm Bd5; c0 "Bd5=10, Nc4=2"; id "STS(v12.0) Center Control.100";

Even Stockfish can't find Bd5. Are these test positions ok ?

[d] r7/4kp2/3Rp2b/2p1P3/bp3P1P/rB2N3/P1P5/1K1R4 w - - bm Bd5
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Center Control

Post by Sven »

Henk wrote:r7/4kp2/3Rp2b/2p1P3/bp3P1P/rB2N3/P1P5/1K1R4 w - - bm Bd5; c0 "Bd5=10, Nc4=2"; id "STS(v12.0) Center Control.100";

Even Stockfish can't find Bd5. Are these test positions ok ?
Can't follow, on my PC Stockfish finds 1.Bd5 very quickly.
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: Center Control

Post by Henk »

On my machine Stockfish thinks Nc4 is best move. It also considers Nd5. Don't see Bd5.
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Center Control

Post by Sven »

Henk wrote:On my machine Stockfish thinks Nc4 is best move. It also considers Nd5. Don't see Bd5.
Which SF version, what kind of machine, how long did you wait? Can you post the analysis output?
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: Center Control

Post by Henk »

Stockfish6-64 and I saw depth 30