I'm working on an implementation of Scrabble with MuZero. The board state is represented by a matrix with shape $15 \times15 \times 27$ ($26$ letters $+ 1$ wildcard, value $0/1$) and the rack state $7 \times 27$ (rack always contains $7$ tiles). Now I need to combine the two states into one "game" state/observation, used as input for the network.

I’m quite new to Reinforcement Learning and MuZero. With the implementation of MuZero I use, a game observation must be provided by a single method. The majority of the implemented games that I have seen, concatenate multiple planes into a (3 dimensional) matrix.


def get_observation():

Board_player1 = numpy.where(self.board == 1, 1.0, 0.0)

Board_player2 = numpy.where(self.board == -1, 1.0, 0.0)

Board_to_play = numpy.full((8,8), self.player).astype(float)

return numpy.array([board_player1,board_player2,board_to_play]) 

All planes have dimension $8 \times 8$. This makes it easy to combine all the planes into $8 \times 8 \times 3$.

How can I combine the $15 \times 15 \times 27$ board state and the $7 \times 27$ rack state ?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.