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 "good", and vice versa. Is this a reasonable approach?