# Scrabble-MuZero: combine observation planes of different shape

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.

Example:

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 ?