mod ffs

module ffs

Archive-ratcheted exploration of the minima network. Archive-ratcheted exploration of the minima network.

Measured negative. This module is kept as the reproducibility record of a mechanism that was built, measured against paired controls, and refuted; the numbers and the mechanism of failure are in docs/derivations/. It is not part of the recommended configuration and ships as evidence, not as advice.

Forward flux sampling (Allen, Warren and ten Wolde, doi:10.1103/PhysRevLett.94.018104) stores every configuration that makes partial progress and fires continuations from the stored frontier, so no single trajectory has to make the whole rare event. The correction this module carries over the naive transcription: a landscape of many minima is a network, not a ladder above one incumbent. Interfaces indexed by energy above a single home, cleared on every descent, assume the crossing is one climb-and-descend excursion of one walker, which is a one-dimensional picture. Here the frontier is the whole archive: every distinct arrangement ever quenched, keyed by its canonical contact graph, is a permanent launch site, so progress composes across launches from anywhere and nothing assumes single-walk accessibility.

Launch sites are chosen by Thompson sampling on a per-site discovery posterior (Beta over “a launch from here quenched somewhere new”), with a preference toward low energies: an acquisition over a growing discrete design space, which is Bayesian optimisation over the archive rather than over coordinates. Identity is the canonical graph key: exact, no threshold, no reference, no morphology.

Functions

fn ffs_descent(cfg: &FfsConfig, ledger: &mut Ledger, relax: Relax<'_>, seed: u64) -> FfsOutcome

Runs archive-ratcheted exploration until the ledger refuses.

Structs and Unions

struct FfsConfig

Configuration.

n_points: usize

Points in a state.

window: f64

Launch window: sites within this many temperatures of the archive’s best remain launchable. Wide enough that high funnels stay reachable, finite so the acquisition is not diluted over dead material.

shots: usize

Proposals fired per launch.

screen_steps: usize

Screening relaxation length.

relax_steps: usize

Full relaxation length.

temperature: f64

Move scale.

key_cutoff: f64

Contact-graph cutoff in units of the median nearest-neighbour distance.

Implementations

impl FfsConfig

Functions

fn for_cluster(n: usize) -> Self

Defaults: launch window of six temperatures, two dozen shots per launch.

struct FfsOutcome

Outcome of an archive-ratcheted run.

best: f64

Best quenched energy reached.

descents: usize

Distinct arrangements in the archive.

stored: usize

Archive inserts (new keys discovered).

continuations: usize

Launches fired.

returns: usize

Launches whose every shot landed on known keys.