Question about AlphaGo Zero's Neural network architecture? The following text is quoted from the AlphaGo Zero Paper 2017 from Nature. My question is regarding the eight features.

The input to the neural network is a 19 × 19 × 17 image stack
comprising 17 binary feature planes. Eight feature planes, Xt, consist
of binary values indicating the presence of the current player’s
stones (Xit=1 if intersection i contains a stone of the player’s
colour at time­step t;

This sounds like the t means time and the eight features are the latest 8 board states. If this is the case, this will be my question.

0 if the intersec­tion is empty, contains an
opponent stone, or if t &lt; 0). A further 8 feature planes, Yt,
represent the corresponding features for the opponent’s stones. The
final feature plane, C, represents the colour to play, and has a
constant value of either 1 if black is to play or 0 if white is to
play. These planes are concatenated together to give input features st
= [Xt, Yt, Xt−1, Yt−1,..., Xt−7, Yt−7, C].

I have the feeling the eight features should be the combination of rotated (4) and reflected (2
) board states of the current board state. Please correct me if I am wrong.

History features Xt, Yt are necessary, because Go is not fully observable solely from the current
stones, as repetitions are forbidden; similarly, the colour feature C
is necessary, because the komi is not observable.

Board repetition can be easily prevented by keeping tracking of all previous board states and when a new move is attempted, just compare against all previous board states. The same is for komi. Keeping 8 previous board states to prevent repetition doesn't sound right to me. What if the repetition happened to the last 9th board state? If this is not a serious paper published to the Nature, I would highly doubt this is wrong.
This sounds like the t means time and the eight features are the latest 8 board states.

That is correct. The description in the article is clear.

I have the feeling the eight features should be the combination of rotated (4) and reflected (2) board states of the current board state. Please correct me if I am wrong.

That is wrong.
This data augmentation can be done by modifying state data stored from each episode, and applied during weight update step (either randomly or exhaustively), because any rotation/reflection of a board should have the same expected value. It is not necessary to provide that augmentation at the feature level.

Board repetition can be easily prevented by keeping tracking of all previous board states and when a new move is attempted, just compare against all previous board states.

A game engine can do that, as could bespoke code added to the agent that was specific to Go. However, a neural network cannot do that unless those previous states are part of the input.

The same is for komi.

If you want the board to correctly predict the value of a state, the nerual network needs to have the current player identity encoded in some way. Having it tracked outside of the neural network's inputs (i.e. outside of state representation) does not help with this.

What if the repetition happened to the last 9th board state?

Most typically in Go, the repetition rule has effects over a relatively short duration, because moves add stones in new positions. The relevant rules are called ko and superko, with superko being optional. When applying the standard ko rule, the repetition that it blocks is only likely to be achievable through play on short timescales (2 steps) that are covered by the AlphaGo Zero representation.
In the unlikely event that a play is blocked due to superko rule and repetition from earlier than 8 steps ago, the game engine would prevent a play that the agent may have assigned a high value to, and the agent could get the value wrong. I suspect that this has little or no impact on performance, as loops in Go board state of this duration are rare and do not occur much in practice.