01 / FIRST-TIME WORDS
Five words make the rest easier.
A bit is a 0 or 1. A qubit is a physical device whose quantum state can combine 0 and 1. You cannot read all of that combination in one measurement; a measurement gives one ordinary bitstring, such as 0101.
One operation that changes one or two qubits. Think of it as an instruction in a program.
A timed list of gates. Gates that can happen together form one “moment.”
The small errors in gates, waiting, and reading the answer. More operations and longer waits usually give noise more chances.
Excitation just means a 1 in a measured bitstring. Fidelity is a way to say how close the produced quantum state is to the intended one. The challenge's score is a different quantity; a local fidelity estimate is only a guide.
02 / WHAT WE ARE MAKING
Share the ones equally.
Suppose we have four qubits and want exactly two 1s. There are six possible answers: 0011, 0101, 0110, 1001, 1010, and 1100. A Dicke state gives each of those answers the same quantum amplitude. Any answer with a different number of 1s should have zero amplitude.
An amplitude is a number attached to a possible answer. Its size determines the chance of measuring that answer; its phase affects how answers interfere when we rotate the measurement basis. A superposition means the state carries amplitudes for several answers before measurement.
N = number of qubits; n = number of 1s; C(N,n) = number of valid strings. The factor in front makes the total probability 1.
Why two measurement checks? Counting the 1s tests whether the answers look right. It cannot tell whether the quantum phases are right. The organizer also measures after rotating into the X basis, where those phases change the pattern of interference. Two circuits can show the same ordinary answers but differ on this second check.
Change the target.
Choose N and n to see how many answers must be shared equally.
The X number above is one example correlator, not the entire organizer score.
03 / WHY THE CHIP CHANGES THE PLAN
Qubits can only talk across a connection.
Willow's supplied willow_pink layout is a map of 105 qubits with 182 possible two-qubit connections. A two-qubit gate needs a working connection between its qubits. Think of qubits as towns and connections as roads: a route can be blocked or more error-prone on one day than another.
The allowed two-qubit gate. These interactions are especially important because they create most of the entanglement and can be costly when repeated.
The allowed one-qubit gate. It rotates a single qubit; several such rotations can sometimes be combined into one.
Maximum circuit moments for the main task. The runner checks this before adding X-basis rotations and final measurements.
The code receives calibration dictionaries: which qubits and connections work, how often gates fail, and how often reading 0 or 1 is wrong. That means the same logical circuit can be placed differently each time it is built.
04 / THE ACTUAL SUBMISSION
Different sizes need different recipes.
The current folder's entry point is create_dicke_state in main.py, embedded in submission.ipynb. It starts with k = min(n, N−n). For example, making 8 ones among 10 qubits is equivalent to making 2 ones, then flipping all 10 qubits at the end. This saves work.
All zeros or all ones
If k = 0, select readable qubits. No entangling CZ gates are needed.
Exactly one 1: branch like a tree
Start with one 1 and split its amplitude among neighbors. Multiple branches work in the same round, shortening the circuit. For the two-qubit case, the code compares placements more directly.
Small, denser states: use a saved exact template
For most remaining N ≤ 8 cases, classical optimization found a short gate pattern offline. The pattern is stored in the code; only its placement is chosen using the day's calibration. Selected templates from the team's PSC search are included in this table.
Larger states: compare connected shapes
When k = 2 and N ≥ 6, or k ≥ 3 and N ≥ 9, the code uses a portfolio builder. It tries paths and two-arm splits on connected regions, then estimates which valid circuit will tolerate noise best. If this branch fails, it falls back to the core construction.
Fallback: build along a path
The core builder can use small, precomputed “share and shift” blocks along neighboring qubits. These blocks come from a Dicke-state method called Bärtschi–Eidenbenz. If needed, it routes that general construction on a connected region. This is the safety net for cases without a preferred template.
Clean and protect the result
Combine consecutive one-qubit rotations, compile to CZ and PhasedXZ, and place an X–Y–X–Y echo only in long idle windows. Echo pulses aim to reduce slow phase drift, but they also add gate risk.
Flipping every 0 to 1 and every 1 to 0 changes a state with N−n ones into the state with n ones.
05 / WHY THE BEST-LOOKING MAP MAY LOSE
Count errors, not just gates.
A short circuit on unreliable qubits may lose to a slightly longer one on reliable qubits. The code removes unavailable qubits and connections, then searches for connected shapes. Its placement estimate includes CZ errors, one-qubit errors, asymmetric readout errors, and time spent waiting.
Each reported error comes with uncertainty. The code often uses reported error + one uncertainty unit as a conservative estimate, so a qubit does not look artificially good because of a lucky measurement. It also considers that a Dicke qubit is expected to read 1 about n/N of the time.
This is a screening estimate used to choose a placement. It is not the organizer's score, and real device errors can interact in ways this sum cannot capture.
Why merge rotations? If several one-qubit gates occur between two interactions, they can be multiplied into one equivalent gate. That preserves the ideal state while removing physical pulses. The code then adds sparse echo pulses only when an idle stretch has at least four free one-qubit slots.
06 / THE INTERACTIVE PATH GAME
Why a longer detour can be safer.
The route game on the home page is a teaching model. It is not the submission router. It lets you choose two qubits, block a weak qubit, and compare a path with fewest steps to one with lower estimated gate error.
Make a map
Every qubit becomes a point. Every working connection becomes a line. Remove blocked points.
Run Dijkstra twice
First give every move cost 1 to find the fewest hops. Then give risky connections a higher cost and find the cheapest total risk.
Explain the tradeoff
Moving a quantum state with a SWAP usually needs several two-qubit gates. One bad connection can outweigh the cost of two extra, cleaner moves.
p is an illustrative CZ error; m is 3 for a modeled SWAP and 1 for the final interaction. Lower cost corresponds to a higher product of gate survival chances. This omits waiting, readout, crosstalk, and real Willow calibration.
Try blocking a qubit in the path game → The submission itself also uses beam search for connected paths and a calibration-aware portfolio of circuit shapes.
07 / HOW WE KNOW WHAT WE KNOW
Three checks answer three questions.
Is the math right?
Simulate without errors. Check that the output is the exact Dicke state, allowing only an irrelevant overall phase.
Can Willow accept it?
Check the allowed gates, working qubits and connections, build time, and the 1,750-moment limit. The attached folder includes automated validity and robustness checks.
Which one might work better?
Run local simulations with gate, readout, and assumed waiting errors. These comparisons guide choices, but they are not final hardware measurements.
The attached folder reports a 419-test suite, a 969-build robustness sweep, and simulated comparisons on several fake calibration sets. Those claims come from the folder's README and architecture notes; this website does not turn them into a Willow hardware score.
Z checks the measured number and balance of 1s. X checks interference. The organizer later averaged the error terms over repeated trials before taking the reciprocal, to avoid unstable averages near perfect scores.
The earlier organizer email measured a different notebook configuration on three cases. That feedback is useful history, but the attached submission.ipynb was not directly hardware-scored in that email.
08 / A DIFFERENT GOAL
For bonus, the clock matters most.
The main task asks for good behavior on noisy hardware. The bonus asks for an exact circuit with as few moments as possible. A moment is one layer of gates that can run at the same time. We therefore compare several exact recipes and return the one with the fewest moments.
The current create_dicke_state_adaptive function builds candidates from small exact templates, branching W trees, two-arm splits, and short precomputed end blocks. It uses no measurements or feed-forward inside the circuit: the team's checked measurement-based options were not shallower, and classically controlled gates failed the stated validator.
The attached folder reports a local score_solution() sum of 44.47 across 56 pairs with 2 ≤ N ≤ 15. That number is a comparison metric. The organizer said the official bonus point goes to the shallowest submission for each pair.
09 / MAKING IT VISIBLE
The Arduino tells the story in lights.
The UNO Q's built-in 8 × 13 LED matrix has 104 lights, so it shows a central 104-position window of the 105-qubit map. It can display a direct route, a lower-risk detour, or two bonus-depth bars. A local companion page controls it when the board is connected by USB.
The Arduino runs a classical illustration. It does not prepare Dicke states or access Willow. The browser preview on this public website works without the board.
That maps Willow rows 3–10 and columns 1–13 to the 104 lights.
SOURCES & LIMITS
What this page is based on.
The implementation description follows the attached folder's README.md, ARCHITECTURE.md, main.py, and submission.ipynb. The bonus depths come from its experiments/results/notebook_bonus.csv. The route game uses synthetic errors and its own classical model.
- Inside the code — function-by-function beginner guide and one worked example.
- Team Popeyes project repository — code and research files.
- Google Quantum AI Willow spec sheet — device reference.
- DuQuantum and Major League Hacking — event context.
Simulation does not capture every hardware effect: drift, crosstalk, leakage, and device-to-device timing can change results. The hidden judging pairs and correlator settings may also differ from local tests.