## Zoombinis and Tensor Flattenings

“The Logical Journey of Zoombinis” was a computer game first released in 1996. The aim of the game is to get your Zoombinis from Zoombini Isle to Zoombiniville via a series of logical puzzles. Coincidentally (or maybe not) Rachael and I both spent significant amounts of our childhood playing this game  – just ask our siblings! We both strongly attribute our interest in logical puzzles and maths to this game. It lead us to wonder: what maths does Zoombinis actually involve?

The Zoombinis are created by the player in the first stage of the game:

Each Zoombini has four attributes, chosen from the table on the bottom left: hair, eyes, nose colour and feet.

One of the stages of the game is called “Hotel Dimensia”, where you must find the right room for your Zoombinis in a hotel made of five tree trunks. The right room depends on the some of the features of the Zoombini. Here is a video of someone playing this level online, and below is a still from the video:

In Zoombinis language: three of the four attributes (hair, eyes, nose and feet) determine the right hotel room for the Zoombini. In the example pictured above:

• The three attributes that matter are hair, eyes and feet
• Zoombinis with the same hair go in the same row of the hotel
• Those with the same eyes go in the same tree trunk
• Each tree trunk has five columns on it. Regardless of which tree trunk they are on, Zoombinis with the same feet must go in the same columns of the tree trunk (e.g. the roller skaters all go in the third of the five columns)

The player has to work out which are the three attributes that matter, and which of the three directions (row, column, tree trunk) they correspond to. Putting a Zoombini in the wrong room drops the Zoombini and damages that hotel room, and too many wrong tries will make the room off-limits.

Imagine the five big tree trunks stacked one behind the other. Now the third direction “tree trunk” becomes a “depth” direction and we have a 3-dimensional 5 x 5 x 5 array.

In maths language: this hotel is a 5 x 5 x 5 tensor that has been flattened. We started with a 3D array of size 5 x 5 x 5, and made it into a 2D of size 25 x 5 by arranging the tree trunks side by side. Tensor flattenings are used in maths to give information about a tensor, often about its rank.

A 3D tensor is rank 1 if all its information can be encoded by three vectors. Just as a 2D tensor (a matrix) is rank 1 if all its information is given by two vectors: $A_{ij} = v_i w_j$ for some vectors $v$ and $w$. In the game, the hotel is a rank 1 tensor. Its data is given by

1. A hair vector
2. A feet vector
3. An eye vector

So this level requires the player to decipher the rank 1 tensor, and then to use the information to put the Zoombinis in the hotel.

Rachael and I had the idea that we would launch a Kickstarter to get a new version of this game made. Amazingly, we were not the only ones with this idea, and over \$100,000 has been pledged here. The new version of the game looks set to launch this summer!