Module bounds

Source
Expand description

Prune assembly states from which the assembly index cannot improve.

Each bound takes information about the current assembly state (i.e., set of fragments) and computes an upper bound on the “savings” (in terms of number of joining operations) that can possibly be obtained when constructing the molecule using this state’s fragments and subfragments thereof. Let state_index be this assembly state’s assembly index, best_index be the smallest assembly index found across any assembly state so far, and bound be the upper bound on this assembly state’s possible savings. If ever state_index - bound >= best_index, then no descendant of this assembly state can possibly yield an assembly index better than best_index and thus this assembly state can be pruned.

Enums§

Bound
Type of upper bound on the “savings” possible from an assembly state.

Functions§

bound_exceeded
Returns true iff any of the given bounds would prune this assembly state.