Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Q11 Emergency — Quantum Emergency Response: a toy-city fire-dispatch game about quantum error correction (Qollab × IonQ Global Quantum Hackathon 2026)
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Q11 Emergency
Quantum Emergency Response — a fire-dispatch game that teaches how quantum error correction reasons.
Built for the Qollab × IonQ Global Quantum Hackathon 2026 (theme: Quantum Unlocked). This effort is supported by Qollab & IonQ.Read the full README ↗Built for the Qollab × IonQ Global Quantum Hackathon 2026 (theme: Quantum Unlocked). This effort is supported by Qollab & IonQ.
You are the dispatcher of a toy quantum city. Houses are qubits. An arsonist called Noise lights red fires (X errors) and blue fires (Z errors). You never see the fires in the field: you only hear the alarm stations (stabilizer checks), send crews (Pauli corrections), press Spray! and find out whether the city is safe, or whether a perfect-looking call silently flipped the logical qubit. Available in English and Japanese.
| In the city | In the physics |
|---|---|
| House | Data qubit |
| Red fire / blue fire / split fire | X / Z / Y Pauli error |
| Alarm station (rings or stays quiet) | Stabilizer check: rings when the error anticommutes with it |
| Red crew / blue crew | X / Z correction applied to one qubit (composition is XOR, X·X = I: a crew on a burning house puts it out, a crew on a safe house starts a fire) |
| Fog over the houses | The error is hidden; only the syndrome is observable |
| Spray! → answer check | Residual R = C·E evaluated over 𝔽₂ |
| Houses restored / harmless pattern | R = I / R ∈ 𝒮 (a stabilizer): logical information safe |
| Fires still burning | R anticommutes with a check: detectable |
| Memory tower flips, every alarm quiet | R ∈ N(𝒮) ∖ 𝒮 (commutes with every check, not a stabilizer): logical error |
| Fire truck driving through gates | Pauli frame propagation: H swaps X ↔ Z, CNOT copies X forward and Z backward |
1. The city map. Six districts, six lessons, unlocked in order (a Free roam setting opens everything). Tap a district with smoke, press Dispatch!, and the fire truck drives you there.
2. Training: fires are visible. In the propagation districts you step a fire through a small circuit and predict where it goes next: a CNOT copies a red fire forward and a blue fire backward; a Hadamard swaps the colours.
3. Dispatch: fires are hidden. On the distance-3 rotated surface code (9 houses, 8 stations) you read which stations ring, tap a station to see the houses it watches, place crews within a budget (undo/redo), and press Spray!. Nothing on screen reads the hidden error before you commit.
4. Answer check. The crews run in, each hose applies exactly one Pauli correction computed by the engine, the fog lifts, and one of four results appears. Below: Silent Failure in Old Town, the minimum-weight call that silences every alarm and still flips the memory tower.
5. Why? Your spray and the alternative correction (minimum-weight decoder, or crews on the true fires) replay side by side on the same board, with the step-by-step residual under Details.
| # | District | Mission | What it teaches |
|---|---|---|---|
| 1 | Rowhouse Lane | First Alarm | 3-qubit repetition code, X noise only: two alarms, one crew |
| 2 | Harbor Bridge | Red Forward / Blue Backward | CNOT: X copies control→target, Z copies target→control |
| 3 | Conversion Lab | Color Switch | Hadamard swaps red and blue; chained with a CNOT |
| 4 | Central District | Blind Dispatch | distance-3 rotated surface code, one hidden fire, alarms only |
| 5 | Market Square | Two Kinds of Trouble | X and Z alarms at once; one X crew and one Z crew |
| 6 | Old Town | Silent Failure | two fires, one alarm: the optimal call flips the logical qubit |
The first run is a three-tap guided scene. Everything works by tapping; keyboard and screen readers are supported; shapes and X/Z/Y letters carry every meaning so colour is never required; reduced motion plays the same causality as static frames.
The Qollab project is a JS/Qiskit page: the game itself plus a pure-Python Qiskit package (qollab/q11/*.py) that builds encode → inject → syndrome-extraction → correct → readout circuits for every mission. Press Run on Qollab, pick a backend in Select QPU, and the page runs a self-test (Blind Dispatch, 100 shots) on that backend and prints the measured syndrome and logical statistics next to the Pauli-frame prediction; any surface-code result can then be verified as a circuit from Details → Verify on this backend.
reports/qollab-runs.md, reports/qollab-runs/.An $n$-qubit Pauli error (up to phase) is a binary symplectic vector $P = (x, z) \in \mathbb{F}_2^{n} \times \mathbb{F}_2^{n}$. Composing errors and corrections is XOR, and two Paulis commute exactly when their symplectic product is zero:
(x, z) \cdot (x', z') = (x \oplus x',\ z \oplus z'), \qquad \langle P, P' \rangle = x \cdot z' + z \cdot x' \bmod 2 .
Gates move the frame (fires never move on their own):
H:\ x \leftrightarrow z, \qquad S:\ z \leftarrow z \oplus x, \qquad \mathrm{CNOT}_{c \to t}:\ x_t \leftarrow x_t \oplus x_c,\quad z_c \leftarrow z_c \oplus z_t .
A check $S_j$ rings when $\langle E, S_j \rangle = 1$. After the crews apply the correction $C$, the residual $R = C \cdot E$ decides the result by $\mathbb{F}_2$ linear algebra over the stabilizer group $\mathcal{S}$:
\begin{aligned}
R \in \mathcal{S} &\;\Rightarrow\; \text{success} \\
R \in N(\mathcal{S}) \setminus \mathcal{S} &\;\Rightarrow\; \text{logical error (commutes with every check, not a stabilizer)} \\
\langle R, S_j \rangle = 1 \text{ for some } j &\;\Rightarrow\; \text{detectable}
\end{aligned}
This is the beginning of the README. Read the rest at the original. Read the full README ↗