A decoder that computes in rapidity
Build a decoder from two cone operations: multiply velocities to check parity, add rapidities to combine messages, and watch information polarize.
A spacecraft sends three tiny flashes. The receiver sees two clear flashes and one that might have been a reflection. Fortunately, the sender made a promise: every transmitted word contains an even number of ones.
That promise ties the flashes together. Two reasonably clear readings can help interpret the blurry third one. An error-correcting code creates such relationships deliberately, giving a receiver extra ways to recover a message after noise disturbs it.
Let’s build a receiver whose internal quantities already live in Epistemic Physics. Its two elementary instructions will sound familiar to anyone who has wandered through the evidence cone:
- To combine independent observations of the same bit, add their rapidities.
- To ask whether two hidden bits agree, multiply their velocities.
The second instruction turns this into a working decoder. Put the instructions together in a particular arrangement, and we can also watch information separate into easier and harder questions.
Give each reading a cone
A binary channel takes an input bit
For a received reading, choose the positive coordinates
The two coordinates are likelihoods. Their sum measures the total likelihood weight of this output; it supplies the scale for this use of the cone. The familiar coordinate changes are
Here
Define the epistemic rapidity from this velocity, writing
The logarithm is natural. The function
The bridge is already operational: a decoder’s LLR register can be read as an epistemic rapidity register. The likelihood-to-boost derivation appears in When evidence takes different roads. Here we will wire those registers together.
Two messages, two different questions
First let two observations concern the same hidden bit. Assume their noise is independent once that bit is fixed. The joint likelihood pair is
Taking a half-log ratio gives
In velocity coordinates, the same calculation reads
Agreement adds two boosts in the same direction. Disagreement can partly or completely cancel them. This is how two independent sensors corroborate or challenge each other.
Now change the question. Two messages concern different hidden bits, and we ask whether the bits agree. Their parity is zero when they agree and one when they differ. Parity is also called exclusive-or, written
There are two ways to agree and two ways to differ. Sum the corresponding joint weights:
Add and subtract these two expressions. A striking factorization appears:
Consequently,
and the decoder’s parity instruction becomes
These gate weights are unnormalized. If the two hidden bits start independently and fairly, the conditional likelihoods given their parity each contain an additional factor
A parity check has a weakest-link geometry
Suppose both incoming velocities equal
That reduction has a simple explanation: either bit can spoil the parity prediction. More generally,
A parity gate draws its output inward from the cone edge. In contrast, two corroborating same-bit messages push the result outward.
Try a prediction before moving on. One reading becomes completely uninformative, with
Multiplication answers immediately:
The same reasoning extends to a parity question involving
If every magnitude is
Let the other bits speak
Return to the spacecraft’s even-parity promise. Its valid words are
Choose these four words with equal prior probability. Each bit passes through its own independent noisy channel. To improve the third bit’s reading, use the promise
The first two readings therefore send a parity message about the third bit. Call its rapidity
The check uses the other two readings. Its message is called extrinsic: information arriving from outside the destination’s own observation. This preserves the lineage of each contribution.
Suppose the receiver sees 001, the first two channels flip with probability
Help three bits keep their promise
The sender chooses equally among 000, 011, 101, and 110. Each word has an even number of ones. Click a received bit to change the reading, choose its channel's flip probability, then step a message toward your selected bit.
Incoming r1: +1.099
Incoming r2: +1.099
Incoming r3: -0.310
Positive rapidity favors a hidden 0; negative rapidity favors a hidden 1. Each channel flips independently. A 50% flip channel contributes zero rapidity.
The demonstration also does the slow calculation: assign each valid word a weight equal to its prior probability times its three channel likelihoods, normalize the weights, and sum those with the desired bit value. Its answer agrees with message passing.
A factor graph draws variables and local relationships as separate kinds of nodes. A variable node combines incoming messages about one variable; a parity-check node enforces a relationship between several variables. This little graph is a tree, so its messages recover the exact marginal probabilities. The general construction is the sum-product algorithm of Kschischang, Frey, and Loeliger.
Seen through the cone, the two node types alternate addition of rapidities and multiplication of velocities. We have translated a working inference circuit into two geometric instructions.
Turn two wires into two questions
Now imagine designing the spacecraft’s encoder as well as its receiver. Start with independent fair bits
through independent channels
Decode in an interesting order. First ask for
For fixed readings
For the plus channel, the output includes the true first bit:
Thus the two decoding equations are
The side information tells us whether to reverse the first rapidity before adding. If
This is the elementary transform underlying Arıkan’s polar codes. A practical successive decoder inserts its earlier decision where the synthetic definition supplies the true bit. The definition lets us measure the individual questions; the running decoder must also manage the consequences of earlier mistakes.
Two channels trade difficulty
Send two fair, independent bits through two noisy wires. The encoder sends their parity on the first wire and the second bit on the second wire. Follow one possible journey, then inspect the information across every possible output.
Encoded pair: 0 0
Before encoding, U1 and U2 each have probability ½ of being 0. These buttons choose a particular example from that input ensemble.
Account for all outputs
These channel averages include all fair inputs and all noise outcomes. They depend on the two flip probabilities, so choosing one journey leaves them unchanged.
Bars use a common scale from 0 to 2 bits. Sky: wire 1; apricot: wire 2. Rose: parity question; teal: second bit with side information.
Minus: learn the parity
- Information I
- 0.17325 bits
- Average normalized mass Z
- 0.87727
Output reliability |v|, grouped by value
Plus: use the parity
- Information I
- 0.63582 bits
- Average normalized mass Z
- 0.48000
Output reliability |v|, grouped by value
0.17325 + 0.63582 = 0.53100 + 0.27807 bits
0.48000 = 0.60000 × 0.80000
The exact plus channel retains eight labeled outputs (true U1, Y1, Y2). The display groups outputs with equal |v|. Agreement and disagreement can have different reliabilities, so the plus channel carries a distribution of cone directions into the next stage.
The information budget survives the rearrangement
Let
The mutual-information chain rule splits learning about a pair into learning about the first member, then the second:
Because
For flip probabilities
We have rearranged which question gets the information. Repeating such transforms creates the polarization that gives polar codes their name: many synthetic questions become nearly useless, while others become nearly noiseless. Information can be placed in the good positions, with predetermined values in the poor ones. Arıkan’s construction establishes the resulting coding theorem.
Mass keeps a second set of accounts
The normalized cone mass is
Across a channel’s output distribution, its average is the Bhattacharyya overlap
Insert the plus channel’s likelihoods. For either value of its side-information bit
Summing over both
For binary symmetric input channels, where each wire independently flips its bit with a fixed probability, the minus identity follows from
There is a lovely detail hidden in the plus average. With the demo’s
To carry the construction onward, carry that distribution onward too. Each output has its own direction and weight; their average mass alone cannot describe the next parity operation. The demo preserves the full eight-output plus channel and groups equal reliability magnitudes only for display.
Could a decoder become a little epistemic machine?
Picture a lattice of these gates. At one kind of junction, compatible reports add boosts. At another, a logical relationship multiplies velocities and sends the result along a new route. Constraints become devices for steering likelihoods through the cone.
This suggests a concrete design experiment. Give a network several parity checks of different sizes, but the same budget of connections. Predict early message strength from the products of their incoming velocities. Short checks should transmit stronger first messages; longer checks can connect otherwise distant pieces of the word. The interesting object is the tradeoff between local message strength and global constraint coverage.
A second experiment would let the machine choose where to measure next. A nearly zero incoming velocity can silence a whole parity message. Improving that weak reading might therefore help several distant bits at once. We could rank possible new trials by the information they would release through the constraint network, then compare that policy with simply remeasuring the locally blurriest bit.
The equations give us a small construction kit: rapidity for accumulating compatible observations, velocity for composing parity, and normalized mass for tracking the resulting ambiguity. The next adventure is to let that geometry help decide where the receiver should look.