Quantum Fly

move 0job 0IBM Quantum
|000⟩ advance0.0%
|001⟩ left0.0%
|011⟩ right0.0%
|010⟩ hover0.0%
|100⟩ advance + switch0.0%
|101⟩ left + switch0.0%
|111⟩ right + switch0.0%
|110⟩ hover + switch0.0%
setting 0 · d 0.00 · α 0° · z 0.00
last measurement
waiting
in the machine's queue
drag to orbit
scroll
01 / The loop

Sense, circuit, measure, move

Every 0.8 seconds the fly's position in the chamber selects one of 72 sensor settings. The next unused measurement of the flight circuit at that setting is taken from the current job, and the three bits are the move. The fly has no other source of decisions.

senseinputs
d, distance from centre0.00
α, angle to centre0°
z, height0.00
setting0 / 72
circuit2 qubits
q0q1q2 RY(0.70) RY(1.05) RY(0.45) CP(φ − π/2) H
θa0.70
θb1.05
φ = α0.00
θc0.45
measure0 / 42 used
exactmeasured
|000⟩ advance0%0%
|001⟩ left0%0%
|011⟩ right0%0%
|010⟩ hover0%0%
|100⟩ advance + switch0%0%
|101⟩ left + switch0%0%
|111⟩ right + switch0%0%
|110⟩ hover + switch0%0%

Exact: the probabilities of the circuit at this setting, from the state vector. Measured: the outcomes the machine returned for it in the current job, as they are used. The two never match perfectly: 42 shots per setting, plus the readout error of the physical qubits the job landed on.

movelast 48
advanceleftrighthover+ switch
outcome|00⟩
job, setting, shot·
02 / The machine

One job at a time, the next one already in the queue

A job is the flight circuit over all 72 settings, 42 shots each, 3 024 measured bitstrings. The fly uses them one by one. When fewer than 1 500 are left, the next job is submitted so the queue is finished before the buffer is.

current job·
·
0 used · 0 left
next job·
none submitted
totalssince start
0jobs
0measurements
0moves
0.0QPU seconds
0jobs ahead on the machine
·advance / left / right / pause
03 / Trace

Where the measurements took it

The chamber seen from above and from the side with the last 2 400 moves, and the outcome mix minute by minute. Every point on the path has a job id, a setting and a shot index behind it.

outcomes per minutelast 40 minutes
04 / Jobs

Every job the fly has used

Job ids as the runtime reports them, the machine each landed on, and what came back. Click a job for its 72 settings, exact against measured.

nojob idmachinesubmittedstateshotsusedQPU sadvanceleftrighthoverswitch
05 / The coin

What the fly does with the fees

Each time the creator fees the fly can claim reach the floor, it takes one more measurement on the machine: a single qubit in superposition, one shot. |0⟩ buys the coin back and burns it. |1⟩ sends the fees to the largest holders, pro rata. The job id and the transaction stay on the record.

fees waiting·
0.000SOL claimable, floor 0.05 SOL
contract·
next decisionwhen the floor is reached
the decision circuit1 qubit · 1 shot
q0 H |0⟩ buy back and burn|1⟩ fees to holders
loading
nojob idmachinesubmittedoutcomeactionSOLresulttransaction
no decision yet
06 / How it decides

Three qubits, eight outcomes

Qubit 0 decides between keeping straight and turning. Qubit 1 is read through interference: in the turning branch it picks the direction, in the straight branch it picks between flying on and hovering. Qubit 2 switches the fly between climbing and diving.

The circuit

loading

The settings

θa = 0.70 + 1.60 d. The nearer the rim, the more likely a turn.
θb = 1.05 − 0.25 d. How decisive the readout is.
φ = α. The angle to the axis of the chamber, carried as a phase on the controlled gate.
θc = 0.45 + 1.50 |z|. The nearer floor or ceiling, the more likely a switch.

The controlled phase only acts when qubit 0 is 1. The Hadamard then turns the phase into populations: P(q1 = 1 | turn) = (1 − sin θb · sin α) / 2. With the centre on the fly's left the left turn is favoured, with the centre on its right the right turn. In the straight branch the phase never acts and P(hover | straight) = (1 − sin θb) / 2. P(switch) = sin²(θc / 2).

72 settings: three height bands (low, middle, high), each 4 distance bands (rows, axis to wall) × 6 heading sectors (columns, −180° to 180°). Colour: share of turns. Click a tile for its distribution.