Computation, control and emergence
The thermodynamics of prediction and computation
Computation becomes physically costly when an implementation must destroy distinctions, outrun equilibration or correct noise; prediction helps only when stored information actually constrains what comes next.
TLDR
- An abstract algorithm has no temperature; its energy cost belongs to a physical implementation and operating distribution.
- Landauer’s floor applies to logically irreversible information loss, not to every read, copy, inference or arithmetic operation.
- Memory is energetically useful when it predicts the next environmental demand; retained but nonpredictive detail can become dissipative “nostalgia”.
- Finite speed, required accuracy and error correction add costs above the quasistatic erasure floor.
- Design should audit four losses: required erasure, discarded correlations, distribution mismatch and recovery work.
The orchard that produced the same answer twice
At midnight, two controllers receive the same soil readings from an orchard. Both forecast frost. Both open the same valves for the same duration. Their software produces an identical command and the trees experience an identical outcome.
The first controller continually overwrites its working registers. Each branch of its calculation collapses into the next state, and the machine forgets which path produced the command. The second retains enough history to run its calculation backwards. After copying the valve command into an output register, it “uncomputes” its intermediate states and restores its workspace without simply resetting every bit.
Which controller must release more heat?
The tempting answer is “neither”. They solved the same problem, ran the same logical function and produced the same result. That answer hides a consequential assumption: that the energy price of computation belongs to the meaning or difficulty of the task. Physics does not see “frost prediction”. It sees a material system pushed through a trajectory of distinguishable states, coupled to an environment, at a temperature, during a finite interval.
The two controllers may therefore carry different minimum costs. One destroys information about its prior state as it proceeds. The other preserves that information temporarily and disposes of it by reversing the calculation. Its advantage is not automatic because extra memory, longer execution and noise control also cost energy. Yet the puzzle exposes the right causal object. The thermodynamic bill follows implemented irreversibility, not the abstract input-output map alone.
The heat is in the lost alternatives
No algorithm has a temperature
Write a computation as a function, y = f(x). The notation says which output belongs to each input. It does not say whether the function runs in silicon, a fluid, a molecular network or marks on paper. It specifies no bath temperature, switching time, friction, voltage, error rate or cooling system. An algorithm can therefore have time and space complexity while having no unique energy consumption.
A physical computer adds the missing facts. Its logical states correspond to regions of a physical state space. A transition changes voltages, positions, charges, spins or chemical populations. Heat appears when the controlled trajectory irreversibly disperses free energy into degrees of freedom that the computation no longer tracks.
Landauer’s central insight was to connect one common logical event to that physical dispersion. Resetting an unknown, equally likely bit to a known value maps two distinguishable logical states onto one. The operation is many-to-one. If the memory entropy falls by one bit while the device completes a cycle, at least a compensating entropy increase must occur elsewhere under the familiar symmetric, isothermal assumptions.[1]
The broader stochastic-thermodynamics framework relates work, entropy, measurement and feedback while preserving the details of the physical process.[2] That process dependence is why information is physically consequential without becoming a universal energy currency detached from implementation.
A floor small enough to misunderstand
At 300 K, the familiar one-bit value is about 2.87 × 10−21 joules, or 2.87 zeptojoules. Erasing one million independent symmetric bits has a floor near 2.87 femtojoules. One billion such erasures has a floor near 2.87 picojoules.
These values are not estimates for a processor. A real device pays for switching losses, clocks, interconnect, leakage, memory movement, sensing, voltage regulation and cooling. Landauer’s result is a lower boundary on a particular form of information destruction. It is a microscope for causal waste, not a wattmeter.
In a controlled colloidal one-bit memory, Bérut and colleagues found that average erasure work approached the Landauer value as the protocol duration increased.[3] The experiment supports the floor in its model system. It does not transfer the measured work directly to digital processors.
The floor follows uncertainty, not register width
The phrase “erase one bit” hides another variable: what was uncertain before reset. The familiar kBT ln 2 value assumes a symmetric memory whose zero and one states are equally likely. A register already known to be zero contains no unknown logical distinction for a clear instruction to destroy, although a careless physical clear pulse may still dissipate energy. A bit that is one with probability 0.99 has binary entropy of only about 0.081 bits, so its ideal information-loss floor is correspondingly smaller than the symmetric case.
Ten thousand clear operations do not imply ten thousand erased bits
Controller A clears 10,000 registers known from its invariant to contain zero. Controller B clears 10,000 independent registers that are equally likely to contain zero or one. Their instruction traces can look identical. Yet only B necessarily removes 10,000 bits of logical uncertainty from the declared register boundary. A counts state transitions; B destroys alternatives.
This comparison does not make A free. The invariant must be established and maintained, and the physical pulses may waste energy. It shows why operation count cannot substitute for a distribution-aware information audit.
Side information changes the account again. If a reference register R predicts a target bit B, the relevant uncertainty can be expressed as the conditional entropy H(B|R). A controller that can use R may reset B with less unavoidable information loss than a controller that sees B alone. Sagawa and Ueda’s analysis makes the wider lesson explicit: measurement, memory asymmetry and erasure have distinct physical bounds, so one fixed price should not be attached to every nominal bit operation.[4]
There is no bookkeeping escape. If R was copied, protected and later reset, its cost belongs somewhere in the full cycle. Information can be moved, correlated and uncomputed; the obligation appears when the last useful record of a distinction is deliberately lost.
Erasure is not the same as touching a bit
Three operations can look similar in code while differing logically. Reading a state need not destroy it. Copying a bit into a known blank register can preserve enough information to reverse the operation. Overwriting an unknown target loses the target’s prior value unless that value is retained elsewhere. The last operation merges distinguishable histories.
Bennett showed that a general computation can be embedded in a logically reversible process. The machine records its intermediate states, copies out the desired result, then retraces the calculation to clear the workspace without a blanket reset.[5] This is why the orchard’s second controller is not fantasy at the level of computation theory.
The reversible twin
Replace every irreversible gate in a calculator with a reversible construction that preserves its inputs and temporary results. Keep the numerical answer unchanged. Now slowly run the device, copy the answer, and reverse the temporary computation.
What changed? Not the function. The change was the causal relation between successive physical states. The ordinary calculator allows several prior states to converge on one successor. The reversible twin keeps a one-to-one path until the copied result is safely outside the workspace.
The experiment does not prove the twin uses less energy at useful speed. It establishes a narrower result: logical erasure is not required by general computation itself. Any remaining dissipation must come from the chosen physical protocol, finite-time operation, noise control, output handling or deliberate information loss.
Logical reversibility is permission, not performance
A reversible logical map permits an arbitrarily low-dissipation physical implementation in an ideal limit. It does not guarantee one. A fast reversible device can still dissipate through friction, non-adiabatic driving, leakage and error suppression. A conventional irreversible device can also operate vastly above its Landauer floor. The causal distinction matters because it tells us which waste is in principle avoidable, not because it predicts a commercial chip’s power draw.
| Claim level | What supports it | What it does not permit |
|---|---|---|
| Logical | A map merges or preserves prior logical states. | A joule estimate without a physical protocol. |
| Thermodynamic floor | Temperature, state distribution, bath and control assumptions. | Treating every operation as one Landauer erasure. |
| Device energy | Measured switching, movement, leakage, control and cooling. | Attributing all measured heat to lost information. |
| System energy | A declared boundary including storage, network and recovery. | Moving costs outside the box and calling them eliminated. |
flowchart LR A["The orchard that produced the<br/>same answer twice"] --> B["The heat is in the lost<br/>alternatives"] B --> C["A useful memory points forward"] C --> D["Correction is a second computation"] D -. "re-test" .-> A classDef first fill:#0a1424,stroke:#7B4CD8,stroke-width:2px,color:#e6f3ff classDef step fill:#0a1424,stroke:#3f7da0,stroke-width:1px,color:#e6f3ff class A first class B,C,D step
A useful memory points forward
The weather station that remembers glitter
Imagine an environment with two visible bits. The first is a weather regime. It remains unchanged on nine of ten steps and flips on one. The second is sensor glitter, a fresh fair coin at every step. A two-bit memory records both perfectly.
Now remove the glitter bit from memory while preserving the regime bit. What happens to the next-step forecast? Nothing. The removed bit described the present but carried no information about the future. The smaller memory predicts just as well.
The likely intuition is that perfect memory must be superior to selective memory. That intuition confuses fidelity to the past with usefulness for the next interaction. Prediction values a distinction only when that distinction changes the distribution of what comes next.
From remembered past to predictive state
Information theory gives the distinction a compact form. Let St be the system’s current state, Xt the current environmental signal and Xt+1 the next signal. Mutual information, I(A;B), measures how much knowing one variable reduces uncertainty about the other.
The state’s instantaneous memory is I(St;Xt). Its instantaneous predictive information is I(St;Xt+1). The difference is information about the present that does not help with the next signal.
Still, Sivak, Bell and Crooks studied a particular class of systems driven by a stochastic external signal. Under their assumptions, including Markovian system dynamics, thermal contact and no feedback from the system to the driving signal, instantaneous dissipated work in units of kBT equals this nonpredictive information. Summed over the protocol, total nostalgia lower-bounds total dissipation.[6]
This is stronger than the loose slogan that “prediction saves energy”, but narrower than a universal law for software. The equality concerns the physical response of the system to a changing drive. It does not allow us to count unused features in a neural network and convert them directly into joules.
Prediction requires a declared future
The glitter example calls one bit useless only because the target is the next weather signal. Change the target and the judgement can reverse. A flickering sensor bit may be useless for tomorrow’s frost yet valuable for predicting imminent sensor failure. A regime bit can be informative one step ahead and nearly useless a year ahead. Predictive information is therefore not an intrinsic label attached to a memory cell. It is a relation among a state, a selected future variable and a horizon.
Control adds a further complication. In the Still model, the external drive changes without feedback from the system. An orchard controller acts on the world. Opening a valve changes soil temperature and moisture, which changes the observations it will later receive. Once action enters the loop, the state may be valuable because it supports a good intervention, rather than only because it forecasts an uncontrolled signal. A state can have low mutual information with the raw future while retaining exactly the distinction needed to choose between two actions.
Average information can also hide asymmetric consequences. Suppose a rare pressure pattern carries little mutual information because it occurs once in a million cycles, yet missing it can rupture a vessel. Compressing it away may improve an average prediction score and reduce normal-operation storage while violating the control contract. The correct target is not maximal compression. It is the smallest state that preserves the distinctions required by the declared prediction or decision loss.
This yields a stricter design rule: state the target, horizon, action policy and consequence function before calling information “nonpredictive”. A predictive state is sufficient only relative to the future and the decision it must protect. Without that declaration, nostalgia is a suggestive statistic rather than an engineering verdict.
Two remembered bits, only half a predictive bit
The regime bit is equally likely to be zero or one. It persists with probability 0.9. Its next-step uncertainty after observing the current regime is the binary entropy of 0.1, about 0.469 bits. Because its unconditional uncertainty is one bit, the current regime carries about 1 − 0.469 = 0.531 bits about the next regime.
The glitter bit is a new fair coin, so current glitter carries zero information about future glitter. A memory that exactly stores both current bits therefore holds two bits about the present but only 0.531 bits about the next two-bit signal. Its instantaneous nonpredictive remainder is about 1.469 bits.
A one-bit state containing only the regime preserves all available next-step predictive information. Under the stipulated reset protocol, it also presents fewer distinctions that must later be overwritten. The useful compression is not “remember less”; it is “retain a sufficient predictive state”.
The disappearing archive
Move the controller’s full history into a remote archive. Locally, the device now keeps only a compact predictive state. Its measured on-device energy falls. Has the cost of memory disappeared?
No. The archive had to receive, encode, protect and eventually delete the history. Communication channels and storage controllers changed physical state. A cost can leave the candidate device while remaining inside the wider system. Wolpert makes the same accounting point when an offboard copy of a computation’s input appears to remove mismatch cost from the device: the copy’s creation has costs that enter once the boundary expands.[7]
This boundary experiment yields a practical rule. Never compare thermodynamic efficiency before declaring where memory, control and erasure occur. Cloud offload, caching and external observability can improve a component while increasing the coupled system’s energy.
Prediction may be incidental to the observed saving
A predictive-state design often moves less data and uses fewer memory cells. Those ordinary architectural effects can explain measured energy savings without the system approaching any information-thermodynamic bound. The way to distinguish the explanations is to match data movement and physical operations while varying only retained predictive structure. Until then, “better prediction caused lower heat” remains an inference, not a measurement.
Correction is a second computation
The floor lives at infinite patience
The one-bit Landauer value is often drawn as a horizontal line. Real devices move through state space in finite time. Push a memory distribution rapidly from two wells into one, and it cannot remain arbitrarily close to equilibrium throughout the protocol. Additional work is dissipated.
Finite-time analyses make that intuition precise for specified dynamics and controls. Proesmans, Ehrich and Bechhoefer derived bounds for erasing a bit within a limited duration.[8] A later optical-tweezer experiment implemented optimised finite-time transport and approached a joint speed-dissipation-accuracy bound in its controlled stochastic system.[9]
The fast reset race
Two idealised erasers reset the same symmetric bit with the same final error probability. One receives a second. The other receives a nanosecond. Nothing about the logical map changes.
If the Landauer floor were a complete energy law, both could approach the same cost. Finite-time control changes the answer. The fast device must drive the probability distribution farther from its relaxed path. Unless its physical dynamics offer a special shortcut, it pays excess dissipation above the quasistatic floor.
The causal property is therefore not “erasure” alone. It is erasure under a duration and accuracy contract.
Reliability manufactures its own state
A noisy device does more than calculate the intended function. It also calculates whether the calculation can be trusted. It samples, compares, votes, checks parity, records a syndrome, retries or rolls back. Those temporary distinctions eventually have to be retained, exported or erased.
This is why correction is a second computation. Lowering a switching barrier may reduce energy for a single attempted transition while increasing error probability. Redundancy then multiplies transitions. Retries extend runtime. Verification creates evidence state. Recovery resets that state for the next cycle.
Thermodynamic uncertainty relations formalise related cost-precision trade-offs for currents in specified steady-state Markov systems.[10] They are valuable boundary results, but they are not a plug-in law for every processor. Their broader lesson is safer: precision is a maintained physical property, not a free label on an output.
Count the retry loop before declaring a saving
A simple expected-cost model exposes the hidden bill. Let Ea be energy for one attempted transition, p the probability that the attempt passes verification, and Er the energy spent detecting, recording and recovering from each failed attempt. If attempts are independent and every failure is detected before release, the expected energy per verified result is:
Take a reliable device that spends 10 arbitrary energy units per attempt, succeeds with probability 0.999 and spends 20 units after a detected failure. Its expected cost is about 10.03 units per verified result. A low-margin device spends only 2 units per attempt but succeeds with probability 0.8 and needs 40 units to diagnose, restore and retry. Its expected cost is 12.5 units. The primitive transition became five times cheaper while the verified result became more expensive.
The calculation is intentionally small. Real correction may use block codes, replicated execution, temporal voting or rollback across many dependent states. Failures can share causes, and detection itself can be wrong. Those complications strengthen the accounting requirement rather than invalidate it. The trace must include verification and recovery as part of the computation being compared.
A positive result from this calculation permits a narrow conclusion: a proposed lower-energy substrate remains favourable after its detected retry path is included. A negative result means the substrate’s primitive saving is consumed by reliability work under the stated error model. It says nothing about another code, another operating point or the cost of an undetected physical outcome.
The cheap unreliable chip
Replace a controller’s memory with a device that uses one tenth the energy per attempted state transition. Keep its task and latency target fixed. The cheaper device, however, makes one error in twenty transitions rather than one in a million.
If every detected error causes a twenty-step retry and verification path, the “efficient” transition can create more total work. Undetected errors may be costlier still because they trigger physical correction after the controller acts.
The thought experiment changes only reliability. It shows why energy per primitive transition is an incomplete objective. The relevant quantity is energy per verified outcome inside a declared recovery boundary.
The floor and the operating bill answer different questions
Consider a synthetic edge controller that makes 500 decisions each second. Its trace identifies 8,192 bits of explicit workspace reset and 2,048 bits of recovery-state reset per decision. At 300 K over 24 hours, the symmetric Landauer screening floor for those resets is about 1.27 nanjoules.
Suppose a power meter reports an average 0.8 watts for the complete controller. Its daily energy is 69,120 joules. The ratio between measured energy and the screening floor is roughly 5 × 1013. That enormous gap does not falsify Landauer. It shows that practical energy is dominated by implementation, data movement and control far from the minimum.
The trace remains useful. If a redesign halves verified outcome energy while also halving identified irreversible state loss, the ledger suggests a plausible causal mechanism. If measured energy falls while the loss trace is unchanged, ordinary architecture effects are the stronger explanation.
stateDiagram-v2 [*] --> Claim state "No algorithm has a temperature" as Claim state "A floor small enough to<br/>misunderstand" as Test state "The floor follows uncertainty,<br/>not register width" as Revision Claim --> Test: expose mechanism Test --> Decision: evidence survives Test --> Revision: rival survives Revision --> Claim: narrow or rebuild Decision --> [*]
Audit the information that disappears
One word, four losses
“Erasure” is too coarse for system design. A trace can lose information because the task intentionally compresses inputs, because a local module ignores correlations, because the physical process was tuned for the wrong input distribution, or because recovery state is thrown away after a fault. These losses have different remedies.
The following four-loss ledger is a practitioner synthesis. It does not claim that every entry can be added without overlap. Its purpose is to force a system designer to name the lost distinction, the boundary where it vanishes and the evidence that links it to energy.
The information-discard ledger
Required loss is information discarded by the chosen task and reset policy. A parity function returns one bit from many inputs. If the input is not retained, the output leaves many possible histories indistinguishable. Change the task, preserve the input or accept the loss.
Architectural loss appears when local modules destroy correlations that a globally coordinated process could exploit. Boyd, Mandal and Crutchfield showed that modular information processing can incur dissipation beyond a global Landauer cost because local operations cannot use all global correlations as thermodynamic resources.[11]
Distribution mismatch loss appears when a physical process is least dissipative for one distribution but receives another. Kolchinsky and Wolpert express this mismatch through the contraction of relative entropy between the actual and least-dissipative initial distributions.[12] Recent work extends mismatch-cost analysis towards stored-program and algorithm comparisons, while retaining its status as a lower bound rather than a device power estimate.[13]
Recovery loss is the temporary information created to detect, explain and repair deviations. Syndromes, retry counters, rollback snapshots and receipts may be essential. Their cost becomes avoidable only when the reliability contract changes or the physical substrate improves.
| Loss | Diagnostic question | Useful unit | Revealing intervention |
|---|---|---|---|
| Required | Which input distinctions does the task output and reset policy intentionally merge? | Conditional entropy or erased bits under the actual distribution. | Retain input, change output granularity or uncompute workspace. |
| Architectural | Which cross-module correlations vanish because control is local? | Lost mutual information across the operated partition. | Carry a sufficient shared state or change the partition. |
| Mismatch | How far is the actual state distribution from the process’s least-dissipative prior? | KL-divergence contraction for the declared process. | Retune, route by regime or widen the operating prior. |
| Recovery | What evidence and temporary state exist only because transitions can fail? | Retry rate, syndrome entropy, rollback state and verification transitions. | Inject faults, alter margins and measure verified-outcome energy. |
Start with a causal boundary, not a sum
The four ledger entries are not four counters that software can increment blindly. Each requires a different evidential bridge. Required loss can sometimes be read from a reversible description of the task and the registers deliberately reset. Architectural loss needs evidence that a local operation destroys correlations still available at the wider boundary. Mismatch needs a declared physical process, its actual input distribution and a justified least-dissipative reference distribution. Recovery loss needs a failure and verification trace.
Begin by drawing one cycle from prepared input to released outcome and restored readiness. Mark every state that must be available at the beginning of the next cycle. Then ask, at each transition, whether two distinguishable histories have become one inside the chosen boundary. If a copy survives elsewhere, the distinction has moved rather than vanished. If a module discards a correlation that another module could have used, record the wider joint state before assigning architectural loss.
Next, separate the information audit from the energy measurement. The audit proposes where unavoidable or avoidable entropy production may originate. A power meter measures the complete physical implementation. Cache locality, wire capacitance, leakage, clocking and cooling can dominate even when the information ledger is unchanged. Conversely, two designs can move similar numbers of bytes while destroying different correlations. The useful experiment varies one ledger term while matching the ordinary physical confounders as closely as possible.
Finally, version the distribution and operating contract. A design optimised for yesterday’s inputs can acquire mismatch and recovery costs after a shift. A design tested at relaxed latency can lose its advantage when the service-level deadline tightens. The ledger is valid only for the boundary, distribution, speed and accuracy assumptions written beside it.
A batch forecaster and a streaming forecaster
A batch pipeline reloads sixty sensor readings each minute, rebuilds a feature window, predicts, writes the result and clears its workspace. A streaming pipeline maintains a sixteen-state sufficient statistic, updates it with the newest reading, copies the prediction and uncomputes temporary arithmetic. On a stationary synthetic process, both achieve the same accuracy.
The streaming design is likely to move less data and reset less workspace. Its predictive state also avoids storing details that do not change the next forecast. The ledger therefore predicts lower required and architectural loss, alongside ordinary memory-traffic savings.
Now shift the environment into a new regime. The streaming state was tuned for the old transition distribution. Its mismatch cost and correction rate can rise. The batch design may adapt faster because it retains a wider recent window. The thermodynamically lean design is conditional on the environment it expects. Compression without a shift detector can exchange normal-operation efficiency for recovery cost.
Executable lab: the information-discard cost calculator
Enter a declared update rate, temperature and non-overlapping information-loss estimates. The calculator reports a screening floor, a prediction-memory audit and the gap to measured system energy. All defaults are synthetic.
Interpretation limit: the four bit-equivalent loss inputs may be added only when their boundaries and mathematical terms do not overlap. The “nostalgia” output is an information audit. It becomes an energetic equality only under the specific driven-system assumptions used by Still and colleagues. The calculator cannot estimate chip power from logical traces.
How to apply the calculator without double-counting
Start with required resets that you can identify directly. Add architectural loss only when a formal or empirical mutual-information analysis shows correlation destruction not already included in the reset term. Add mismatch only for a declared physical process and prior. Recovery loss should cover temporary state created by fault handling, excluding the original failed transition if it already appears elsewhere.
Run the calculator twice, once with only high-confidence entries and once with plausible upper-bound entries. The interval is more honest than a single precise-looking total.
Reference Python implementation
The browser lab runs the same arithmetic as this dependency-free Python program. Save it as thermodynamic_cost_calculator.py and run it with Python 3.11 or later.
from __future__ import annotations
from dataclasses import dataclass
from math import log
BOLTZMANN = 1.380_649e-23 # joule per kelvin, exact SI value
@dataclass(frozen=True)
class CostInputs:
temperature_k: float = 300.0
updates_per_second: float = 500.0
duration_hours: float = 24.0
required_bits_per_update: float = 8192.0
architecture_bits_per_update: float = 0.0
mismatch_bits_per_update: float = 0.0
recovery_bits_per_update: float = 2048.0
measured_power_w: float | None = 0.8
retained_current_bits: float = 2.0
predictive_future_bits: float = 0.531
def validate(self) -> None:
numeric = {
"temperature_k": self.temperature_k,
"updates_per_second": self.updates_per_second,
"duration_hours": self.duration_hours,
"required_bits_per_update": self.required_bits_per_update,
"architecture_bits_per_update": self.architecture_bits_per_update,
"mismatch_bits_per_update": self.mismatch_bits_per_update,
"recovery_bits_per_update": self.recovery_bits_per_update,
"retained_current_bits": self.retained_current_bits,
"predictive_future_bits": self.predictive_future_bits,
}
for name, value in numeric.items():
if value < 0:
raise ValueError(f"{name} must be non-negative")
if self.temperature_k == 0:
raise ValueError("temperature_k must be greater than zero")
if self.predictive_future_bits > self.retained_current_bits:
raise ValueError("predictive bits cannot exceed retained bits in this audit")
if self.measured_power_w is not None and self.measured_power_w < 0:
raise ValueError("measured_power_w must be non-negative")
def calculate(inputs: CostInputs) -> dict[str, float | None]:
inputs.validate()
per_bit_j = BOLTZMANN * inputs.temperature_k * log(2.0)
updates = inputs.updates_per_second * inputs.duration_hours * 3600.0
bit_equivalents = (
inputs.required_bits_per_update
+ inputs.architecture_bits_per_update
+ inputs.mismatch_bits_per_update
+ inputs.recovery_bits_per_update
)
floor_j = per_bit_j * bit_equivalents * updates
measured_j = (
None
if inputs.measured_power_w is None
else inputs.measured_power_w * inputs.duration_hours * 3600.0
)
ratio = None if measured_j is None or floor_j == 0 else measured_j / floor_j
nostalgia_bits = inputs.retained_current_bits - inputs.predictive_future_bits
return {
"landauer_per_bit_j": per_bit_j,
"updates": updates,
"provisional_floor_j": floor_j,
"measured_energy_j": measured_j,
"measured_to_floor_ratio": ratio,
"nonpredictive_bits_per_update": nostalgia_bits,
}
if __name__ == "__main__":
result = calculate(CostInputs())
for key, value in result.items():
print(f"{key}: {value}")
What the calculator can change
The executable lab deliberately reports a screening floor rather than a predicted wattage. A large measured-to-floor ratio is normal. It means the selected information losses explain only a tiny lower-bound fraction of measured energy, so conventional device and system engineering remain the main optimisation surface. A smaller ratio would make the declared losses more decision-relevant, but it would still not prove that the implementation attains the bound.
Use the calculator comparatively. Hold temperature, update count and boundary constant, then change one supported ledger entry. If a redesign removes a large required-reset term, the result permits prioritising a reversible or state-preserving prototype. If every plausible ledger change is negligible beside measured energy, the negative result is useful: pursue data movement, voltage, utilisation or cooling before invoking information thermodynamics.
The calculator cannot discover loss terms from source code, decide whether two mutual-information quantities overlap or infer the least-dissipative prior of a physical device. Those tasks require a model or measurement outside the artefact. Its purpose is to make assumptions inspectable and prevent a zeptojoule lower bound from masquerading as a system forecast.
Discard-aware traces will explain excess energy beyond operation count
The smallest useful test compares two implementations of the same stochastic task on matched hardware. Match accuracy, latency and data movement as closely as possible. Instrument actual energy. Independently estimate required erasure, cross-module correlation loss, mismatch and recovery state.
The proposal is strengthened if the discard ledger predicts energy differences that operation count and memory traffic do not. It is weakened if ledger terms add no explanatory value or cannot be measured without arbitrary boundaries. A rival explanation is residual physical locality, such as cache behaviour, that remains unmatched. The framework should not be used to infer absolute energy, intelligence or consciousness from software traces alone.
sequenceDiagram participant Q as Question participant M as Mechanism participant E as Evidence participant D as Decision Q->>M: The orchard that produced the same answer twice M->>E: No algorithm has a temperature E-->>M: compare rival explanations E->>D: Make every irreversible loss explicit D-->>Q: revise scope or act
Make every irreversible loss explicit
Do not ask only, “How many operations does this system perform?” Ask which physical distinctions it preserves, which it destroys, how quickly it must settle, how accurately it must do so and what correction state it creates when it fails.
That changes architecture selection. A smaller stateless model may recompute and erase more than a slightly larger stateful one. A reversible-looking logical design may lose its advantage through slow memory, leakage or correction. A predictive state can reduce waste in a stationary environment yet become expensive under distribution shift. A remote archive can improve a device while worsening the coupled system.
Use this release rule
- Declare the physical and accounting boundary, including offboard memory and recovery.
- Identify the actual input distribution, not just the function being computed.
- Separate required, architectural, mismatch and recovery losses.
- Measure physical overhead independently rather than forcing it into an information term.
- Compare energy per verified outcome under the real speed and accuracy contract.
Choose the design that preserves the predictive distinctions the task needs and makes every irreversible loss explicit. Landauer’s principle then becomes neither a slogan nor a chip estimate. It becomes the first line of a disciplined causal audit: where did the alternatives go, and what did the system have to pay to forget them reliably?
Glossary
- Logical irreversibility
- A transformation in which one final logical state can arise from several prior logical states, so the prior state cannot be reconstructed from the final state alone.
- Thermodynamic reversibility
- An ideal physical process that can be reversed without net entropy production. Logical reversibility permits but does not guarantee it.
- Landauer bound
- The familiar lower bound kBT ln 2 for resetting an unknown symmetric bit under standard isothermal, quasistatic assumptions.
- Predictive information
- Mutual information between a present system state and a future environmental variable.
- Nostalgia
- Information retained about the present or past that does not predict the selected future variable and horizon.
- Mismatch cost
- Additional entropy production associated with using a fixed process on an initial distribution different from its least-dissipative prior.
- Verified outcome
- An output that has passed the declared evidence, readback or correction procedure, rather than a merely attempted transition.
References
- Landauer, R. (1961). “Irreversibility and Heat Generation in the Computing Process.” IBM Journal of Research and Development, 5(3), 183-191. https://doi.org/10.1147/rd.53.0183
- Parrondo, J. M. R., Horowitz, J. M., & Sagawa, T. (2015). “Thermodynamics of Information.” Nature Physics, 11, 131-139. https://doi.org/10.1038/nphys3230
- Bérut, A., Arakelyan, A., Petrosyan, A., Ciliberto, S., Dillenschneider, R., & Lutz, E. (2012). “Experimental Verification of Landauer’s Principle Linking Information and Thermodynamics.” Nature, 483, 187-189. https://doi.org/10.1038/nature10872
- Sagawa, T., & Ueda, M. (2009). “Minimal Energy Cost for Thermodynamic Information Processing: Measurement and Information Erasure.” Physical Review Letters, 102, 250602. https://doi.org/10.1103/PhysRevLett.102.250602
- Bennett, C. H. (1973). “Logical Reversibility of Computation.” IBM Journal of Research and Development, 17(6), 525-532. https://doi.org/10.1147/rd.176.0525
- Still, S., Sivak, D. A., Bell, A. J., & Crooks, G. E. (2012). “Thermodynamics of Prediction.” Physical Review Letters, 109, 120604. https://doi.org/10.1103/PhysRevLett.109.120604
- Wolpert, D. H. (2019). “The Stochastic Thermodynamics of Computation.” Journal of Physics A: Mathematical and Theoretical, 52, 193001. https://doi.org/10.1088/1751-8121/ab0850
- Proesmans, K., Ehrich, J., & Bechhoefer, J. (2020). “Finite-Time Landauer Principle.” Physical Review Letters, 125, 100602. https://doi.org/10.1103/PhysRevLett.125.100602
- Oikawa, S., Nakayama, Y., Ito, S., Sagawa, T., et al. (2025). “Experimentally Achieving Minimal Dissipation via Thermodynamically Optimal Transport.” Nature Communications, 16, 10424. https://doi.org/10.1038/s41467-025-66519-9
- Barato, A. C., & Seifert, U. (2015). “Thermodynamic Uncertainty Relation for Biomolecular Processes.” Physical Review Letters, 114, 158101. https://doi.org/10.1103/PhysRevLett.114.158101
- Boyd, A. B., Mandal, D., & Crutchfield, J. P. (2018). “Thermodynamics of Modularity: Structural Costs Beyond the Landauer Bound.” Physical Review X, 8, 031036. https://doi.org/10.1103/PhysRevX.8.031036
- Kolchinsky, A., & Wolpert, D. H. (2021). “Dependence of Integrated, Instantaneous, and Fluctuating Entropy Production on the Initial State in Quantum and Classical Processes.” Physical Review E, 104, 054107. https://doi.org/10.1103/PhysRevE.104.054107
- Yadav, A., Caravelli, F., & Wolpert, D. H. (2026). “Entropy Production Bounds for Systems Running Computer Programs.” PNAS Nexus, 5(4), pgag116. https://doi.org/10.1093/pnasnexus/pgag116