Planner

object Planner(source)

One-step look-ahead experiment planner. Experiments come from Zeller's ddmin run over the controllable hypotheses: for every possible single culprit, the subsets ddmin would test are proposed, so the pool holds the full bundle, its halves, quarters and single members. Each arm sets a subset to the failing side's values and holds the rest at the passing side's. What cannot be set from here is listed as a manual experiment and never as an automatic one.

Functions

Link copied to clipboard
fun from(ranking: Ranking, frame: Frame, options: Options, red: Run? = null, controls: Controls = Controls.standard): Plan

Builds the hypotheses and the prior from a ranking and plans from there. Candidates that couple to the same hypothesis (see Options.couplings) take the best member score. Added steps become hypotheses; a Post step joins its main step, and a step that ran after the failing step of red cannot have caused it and is excluded with its reason.

Link copied to clipboard
fun plan(hypotheses: List<Hypothesis>, prior: Belief, frame: Frame, options: Options, controls: Controls = Controls.standard, excluded: List<Excluded> = emptyList(), blocked: Map<String, String> = emptyMap()): Plan

Plans for hypotheses under prior; feed a branch's posterior back in to continue. blocked maps a hypothesis id to why an executor could not set it: it is planned as manual with that reason, so an experiment the controls allow but the arms cannot run is never ranked as automatic.