Tasks/Math & Scientific Computing/Quantum Measurement

Design 128 Noisy Shallow-Circuit Measurements for Anonymous Quantum States

Design 128 noisy shallow-circuit measurements

shadow_noisyMath & Scientific ComputingQuantum Measurement
instruction.mdthis is what the agent is given

Design a 128-shot measurement schedule for 300 weighted Pauli observables on anonymous 36-qubit states. The hidden states are drawn from a mixture of disordered 1D TFIM and disordered anisotropic 1D XYZ ground states. Their state representations, Hamiltonian parameters, family labels, and exact hidden expectations are never exposed to your code.

This is a measurement-design task. Your submission chooses physical measurements only. The trusted verifier owns the estimator and computes the final MSE, so prediction shrinkage, clipping, target lookup, and learned output substitution are outside the submission interface.

Measurement model

One shot is a shallow brickwork Clifford circuit, then a single-qubit basis rotation and a Z-readout on every qubit:

  • gates: int array [D_MAX=3, N_BRICKS=18]. Even layers pair qubits (0,1),(2,3),...; odd layers pair (1,2),(3,4),... (their last column is ignored). Gate codes: 0 II, 1 CZ, 2 SWAP, 3 CNOT(left→right), 4 CNOT(right→left). All-zero rows mean unused depth; a fully zero gates array is an ordinary product-Pauli measurement.
  • bases: int array [36], final measurement basis per qubit, 0:X 1:Y 2:Z.

With V = R U (U = entangling layers in order, R = basis rotations), qubit q reports the eigenvalue of V† Z_q V. An observable P is readable in a shot iff V P V† is a ±Z-string; its measured eigenvalue is the signed product of the readout bits on that string's support. Use data_utils.conjugate_pauli to work out what a given (gates, bases) shot reads.

Noise model (public, applied by the verifier)

  • After every non-identity brick, with probability P2 = 0.01 a uniformly random non-identity two-qubit Pauli hits that pair (quantum-trajectory depolarizing).
  • Every readout bit flips independently with probability P_RO = 0.015.
  • Basis rotations are noiseless.

The fixed estimator does not correct for this noise. The public transcripts were sampled under exactly this model.

Required API

Modify /app/methods/main/solver.py. Keep a class named Solver with:

fit(
    train_ids,
    train_gates,        # [100, 128, 3, 18] transcript circuits
    train_bases,        # [100, 128, 36]
    train_outcomes,     # [100, 128, 36] readout bits (0 -> +1, 1 -> -1)
    train_targets,      # [100, 300] exact values of c_k * <P_k>
    observable_paulis,  # [300, 36] codes 0:I 1:X 2:Y 3:Z
    observable_coefficients,  # [300]
)

design(
    instance_ids,
    observable_paulis,
    observable_coefficients,
    n_shots,            # == 128
) -> (gates, bases)

fit() may be a no-op. design() must return integer arrays gates [n_states, S, 3, 18] and bases [n_states, S, 36] with 1 <= S <= n_shots. Schedules may be shared across states or state-specific. Return the actual gate/basis arrays — there is no catalog to index into. There is deliberately no predict(): outcomes are sampled only after your process has committed its design and exited, and are never sent back.

Fixed estimator and coverage

For each state and observable the verifier averages the measured eigenvalues over the shots where the observable is readable and multiplies by the coefficient. Every state-observable pair must be readable in at least one shot; a design leaving even one hidden pair unreadable is invalid. This prevents obtaining a low MSE by deliberately omitting an observable and falling back to zero. Re-check coverage after every edit to the shots, and verify readability with data_utils.conjugate_pauli rather than assuming qubit-wise matching.

Public data

  • /app/data/observables.npz: pauli_strings, coefficients, weights, labels.
  • /app/data/train.npz: 100 opaque states — transcript circuits (gates, bases), noisy readout outcomes, and exact targets.
  • /app/data/visible.npz: 20 disjoint states with the same fields, for local evaluation.
  • /app/data_utils.py: the exact compatibility rule, the verifier's estimator, design validation, and loaders — use it to evaluate candidate designs on the public transcripts.

python /app/selfcheck.py validates your API, enforces coverage on the visible IDs, and reports transcript diagnostics. It cannot measure any state in newly proposed circuits.

Hidden protocol

Scoring runs on sealed states you never see. Your process receives public data and fresh opaque hidden IDs, commits (gates, bases), and exits. Only after that are your circuits simulated under the noise model and the fixed estimator applied; outcomes are never sent back. Train, visible, and hidden splits are disjoint and drawn from the same N=36 distribution.

Opaque instance ids carry no information about family or Hamiltonian parameters.

Metric

For each hidden family and each Pauli weight in {2,3,4,5,6,8} the verifier computes one MSE cell; the score is the mean of the 12 cells (lower is better). Macro-averaging prevents the numerous weight-2 observables from dominating.

Metric

macro-averaged MSE over the 12 family x weight cells · lower is better

squared error of the fixed estimator on c_k*<P_k>, averaged per family x weight cell, over 60 sealed states

anchorvisible setheld-outreward
Bstarter greedy cover, 22 shots0.8411602.1990530.00
Sshadowgrouping derandomization0.2121060.30
Ushot-noise statistical limit0.0233921.00
normalisation
m >= B0
B > m >= S0.3 * (B - m) / (B - S)
S > m >= U0.3 + 0.7 * (S - m) / (S - U)
m < U1

m = this run's held-out metric  ·  B = starter greedy cover, 22 shots  ·  S = shadowgrouping derandomization  ·  U = shot-noise statistical limit

Linear in raw MSE, no log. One global metric, mapped once and clamped to [0,1]. B/S/U are the three anchors above.

Rollouts

265 minwall clock
$41.16spend
66.7Mtokens
17versions, 16 kept
0 0.5 1.0 1.5 2.0 $0 $10 $20 $30 $40 cumulative spend on the run analytic train macro-MSE, lower is better v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16
keptrevertedno scoreturning point
  1. v0Inherited greedy largest-|c| product-basis cover, 22 shots2.17432 min · $0.30
  2. v1All 128 shots used, bases repeated by exact product-measurement varianceSpend the whole budget where variance times coefficient hurts the macro cells most, not on bare coverage.0.2390636 min · $0.70
  3. v2128 shots rebuilt as reweighted greedy cliques of the QWC compatibility graphGroup observables that commute qubit-wise so one shot reads many, instead of one basis at a time.0.1592819 min · $1.02
  4. v3Five coordinate-exchange passes rebuild each clique, sole-cover shots retained0.14850918 min · $2.05
  5. v4Exchange over 13 entangling Clifford frames, scored with noise attenuationDepth-3 bricks make more observables readable per shot; charge each frame its own depolarizing loss.0.14556332 min · $3.57
  6. v5Screened 4,844 legal frames, broadened exchange to the best 2620.13838756 min · $7.00
  7. v6MILP-audited grouping: multi-priority plus anchored-exchange clique refinement0.13669773 min · $9.60
  8. v7Per-shot one-brick and 80 two-brick mutations, all compatible bases rescreened0.13536898 min · $12.82
  9. v8Six sole-cover anchors consolidated into three shots, freeing three others0.136265100 min · $13.61
  10. v9Lighter mutation sweep, then every shot free to reuse any of the 115 frames0.134017117 min · $15.94
  11. v10Second frame-reuse pass, third one-brick sweep, paired bootstrap audit0.133634130 min · $18.26
  12. v11Exact leave-one-out recombination over 565 pooled optimized shots0.132887153 min · $22.83
  13. v12Continuous 128-shot relaxation over 392 candidates, rounded and repaired0.132737170 min · $27.22
  14. v13350 coordinated 2-8-brick mutations per shot; relaxation rebuilt on the pool0.13253185 min · $30.52
  15. v14Second coordinated sweep; 1.2M-swap annealing found no fixed-pool gain0.132353196 min · $33.00
  16. v15Final multi-gate sweep; rounding of the new relaxation rejected as worse0.132289204 min · $35.63
  17. v16All-position one-brick sweeps to convergence; 2,598-pair exchange found none0.131899265 min · $41.02

No fresh-circuit oracle exists, so every score is analytic, computed on the 100 train transcripts. v4-v16 cost $37.4 and 3.9 h for 9% of MSE.

On the hidden set

held-out metricreward
starter greedy cover, 22 shots2.1990530.00
shadowgrouping derandomization0.2121060.30
shot-noise statistical limit0.0233921.00
this run0.1331610.5928