
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 nth ply, i.e., after n halfmoves.
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(2n1).
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.


PROG

(PARI) /* For illustrative purpose only: yields correct values at least up to n = 6, but too slow for larger n; enpassant, 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, F1)), []))))=vecmax(apply(if(n>1, m> A278832(n1, 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, s81+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}]
