Why does AlphaZero implement time steps in its input layers? I'm trying to build my own chess engine using neural nets, and have been researching papers from Deepmind about their algorithm implemented in AlphaZero. Since chess is a game with perfect information (meaning the only unknown information in the game is what's going on in the opponent's head) and that each action resulting from a game state does not depend on the previous actions (except castling rules for example), why does AlphaZero have an 8-step temporal implementation in its input layer? In other words, its NN, aside from looking at the current game state, also looks at states from 8 previous moves in order to make a decision? AlphaZero's paper didn't have a say about this.
Also, the architecture that I'm trying to build is not a Reinforcement Learning model, but rather a supervised learning one based on the FICS game database of players with high ELO. Basically, I will train 2 separate models, one for white and one for black. Data for the white NN is taken from games where white wins, black NN takes black wins, drawn games are used for both, so that white moves in white winning games are considered &quot;good&quot;, and vice versa. Is this a reasonable approach?
I don't know how to play Go at all, but the paper wrote:

History features Xt, Yt are necessary, because Go is not fully
observable solely from the current stones, as repetitions are
forbidden

For chess, I'm unable find any mention about it in the paper other than:

Unless otherwise specified, the training and search algorithm and
parameters are identical to AlphaGo Zero (29).

The training process was identical, but the sentence made no mention about the input features.
If you study the papers more carefully, the input features for Go is:
st = [Xt, Yt, Xt−1, Yt−1,..., Xt−7, Yt−7, C]

It's a representation only for Go, not chess. The input features for chess outlined in the paper covers 50-move rules and repetitions already, so there isn't any need for time steps in the input layer.
Google didn't use timesteps for chess, but only for Go.

Also, the architecture that I'm trying to build is not a Reinforcement
Learning model, but rather a supervised learning one based on the FICS
game database of players with high ELO. Basically, I will train 2
separate models, one for white and one for black. Data for the white
NN is taken from games where white wins, black NN takes black wins,
drawn games are used for both, so that white moves in white winning
games are considered &quot;good&quot;, and vice versa. Is this a reasonable
approach?

Supervised learning is ok. It doesn't make sense to me for an ensemble of two models here. Why not just model it as a probability from 0 to 1?
EDIT:
You actually do need the entire game history in chess, for 50-moves and repetitions.