login
This site is supported by donations to The OEIS Foundation.

 

Logo


Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A278832 Maximal material difference at the end of the n-th ply of a chess game. 3
0, 0, 3, 3, 10, 10, 15, 15, 24, 24 (list; graph; refs; listen; history; text; internal format)
OFFSET

1,3

COMMENTS

This sequence uses values of 1, 3, 3, 5 and 9 for a pawn, knight, bishop, rook and queen. The terms give the maximum possible difference of White's material minus Black's material at the n-th ply, i.e., after n half-moves.

I conjecture that, unless Black is forced to capture a white piece in all of the maximizing positions, every other term will be equal to the preceding one, a(2n) = a(2n-1).

The sequence is bounded from above by the theoretical maximum of 8 + 4*3 + 2* 5 + 9 = 39, the total value of all of one player's material, plus 8*8 = 64 more points in case all pawns of the "winning side" can be promoted to queens.

Several variants of this sequence are possible. For example, every other term could give the best possible value for Black, in signed or in absolute value.

LINKS

Table of n, a(n) for n=1..10.

OEIS index to sequences related to chess.

EXAMPLE

In the first two half-moves no material can be captured. At its second move, i.e., ply 3, White has a few possibilities of capturing a black knight, e.g., 1. d3 Nh6 2. Bxh6; which yields a material difference of +3 for White. With 5 plies available, White should instead aim to capture a black pawn and Black's queen, as in 1. d3 g5 2. Bxg5 e5 3. Bxd8. This would yield an advantage of 1 + 9 = 10 for White.

PROG

(PARI) /* For illustrative purpose only: yields correct values at least up to n = 6, but too slow for larger n; en-passant, castling and illegal moves (when king in check) are not handled correctly */ {A278832(n, B=concat([B=digits(211107889e8\9*10^32), -B[9..16], -B[1..8], 1]), M=concat(vector(64, F, if( B[F]*B[65]>0, Vec(moveGen[abs(B[F])](B, F-1)), []))))=vecmax(apply(if(n>1, m-> A278832(n-1, makeMove(B, m))-VALUE[VAL_OFFSET+B[m%64+1]], m->-VALUE[B[m%64+1]+VAL_OFFSET]), M))};

   makeMove(B, m)={B[m%64+1]=B[m\64+1]; B[m\64+1]=0; B[65]*=-1; B};

   VALUE=[0, -9, -3, -3, -5, -1, 0, 1, 5, 3, 3, 9, 0]; VAL_OFFSET=7;

   KING=setunion(ROOK=[-8, -1, 1, 8], BISHOP=[-9, -7, 7, 9]);

   moveGen=[pawn(B, F, s8=B[65]<<3, L=List(), F8=F%8, F65=F*65)={F8>0 && B[F+s8]*s8<0 && listput(L, s8-1+F65); F8<7 && B[F+s8+2]*s8<0 && listput(L, s8+1+F65); B[1+F+s8]==0 && listput(L, s8+F65) && F\8==6^(s8<0) && listput(L, s8<<1+F65); L}, \

   rook(B, F, d=ROOK, L=List(), T)={ for(i=1, #d, T=F; while(T%8*2!=(d[i]+9)%8*7 && T\8*2!=(d[i]+9)\8*7 && B[1+T+=d[i]]*B[65]<=0, listput(L, T+64*F); B[1+T] && break)); L}, knight(B, F)=king(B, F, [-17, -15, -10, -6, 6, 10, 15, 17]), bishop(B, F)=rook(B, F, BISHOP), queen(B, F)=rook(B, F, KING), king(B, F, d=KING, L=List(), T)={for(i=1, #d, (T=F+d[i])>=0 && T<64 && (d[i]+2)%8 + F%8 > 1 && (d[i]+2)%8 + F%8<10 && B[1+T]*B[65]<=0 && listput(L, T+64*F)); L}]

CROSSREFS

Cf. A278830, A278831 (maximal / minimal number of possible moves at the n-th ply).

Sequence in context: A286570 A134704 A057210 * A168376 A266221 A073709

Adjacent sequences:  A278829 A278830 A278831 * A278833 A278834 A278835

KEYWORD

nonn,hard,more,fini

AUTHOR

M. F. Hasler, Nov 29 2016

EXTENSIONS

a(3)-a(4) corrected and a(7)-a(10) from Fran├žois Labelle, Nov 29 2016

STATUS

approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recent
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified August 25 10:44 EDT 2019. Contains 326324 sequences. (Running on oeis4.)