Inspiration

Our group had little to no experience with quantum computing before this hackathon, and so we needed to start by gaining an understanding of the topic. We watched various YouTube videos explaining the core ideas, and immediately began brainstorming. Upon learning how quantum bits allowed for much faster runtime than classical computing, and there were already search algorithms, we initially decided on an idea of a Sudoku solver that generated all possible board states from each state, finding the solution quickly. However, we realized this would just be a quantum implementation of a Monte-Carlo tree search, and wanted to make this idea more unique and creative. After thinking, we decided on an altered version of Sudoku; one that provided hints for each move by adjusting the probabilities of every other cell, and would visualize these probabilities to help support the player in solving it.

What it does

The game functions as an altered, guided form of Sudoku. By selecting a group of numbers for each cell, it then impacts the probability of the numbers of the connected cells. This then allows for players to more easily solve these puzzles, by experimenting with the various combinations of numbers for cells.

How we built it

In terms of our tech stack, we use React and JavaScript to build this project, with HTML/CSS obviously. We designed each unpicked cell to be in a superposition, between any possible number still available for that cell. These cells were also entangled with each cell in the row, or column, or grid group, and by measuring that cell (picking a number), it immediately impacted every entangled cell. We also adjusted it so that you could select multiple numbers per cell, and observe how it impacted every other connected cell, providing a more guided way to solve “impossible” Sudoku problems.

Challenges we ran into

  • State Synchronization: Managing the interaction between the Sudoku board and the InfoPanel was complex. Ensuring that cell selections, number assignments, and resets updated consistently across components required careful planning and debugging.

  • Dynamic Styling: Creating a dynamic, responsive grid that visually distinguished between fixed cells and those in superposition was challenging. We experimented with multiple CSS approaches (grid gaps vs. individual borders) to get the desired visual effect.

  • Balancing Functionality and Aesthetics: Achieving a balance between a clean user interface and complex, dynamic functionality was a continuous iterative process. Ensuring that all interactive elements worked seamlessly while keeping the design intuitive was both challenging and rewarding.

Built With

Share this project:

Updates