Inspiration

Our inspiration came from an interesting paper on puzzles involving permutations of objects that are given a quantum property by introducing quantum actions. As a team of Rubik's Cube enthusiasts, we were thrilled by how these revamped puzzles work and had since decided to realize the game in the form of a webpage game, since it would be rather expensive and sophisticated to make such puzzles physically.

How to play

It works almost the same as a Rubik's Cube, except it only deals with a simple 2-by-2 grid (or equivalently, one face of the Cube). The fun comes when "half-actions" are introduced, by utilizing the concept of quantum superposition of states, a half-action turns the puzzle into a superposition of 2 or more states, such as a half-left turn which partially turns the puzzle while partially remain it untouched. The goal of the puzzle is to return it into its initial form by performing the given actions, that is, without any other states mixed.

How we built it

By following the paper and some understanding of abstraction, the puzzle can easily be described as vectors with complex entries, and actions can each be represented by a matrix. In view of this, the puzzle mechanisms are built using the numpy library, while visualization is done using the matplotlib library and streamlit is used to develop the relevant webpage for the puzzle.

Challenges we ran into

The hardest challenge to the puzzle is to provide a comprehensible visualization of the puzzle, since the puzzle is mathematically a 6D object, which is notably hard to visualize in the 2D or 3D world. We eventually settled with a map of colors to represent the superposition of states, which hopefully would make the puzzle comprehensible and more accessible.

Accomplishments that we're proud of

Making the visualization.

What we learned

Some quantum physics, linear algebra, and especially, utilizing matplotlib in an interactive way and developing a web-app using streamlit.

What's next for Quantum Rubik's Cube

May the force be with us.

Built With

Share this project:

Updates