Skip to main content

Module rules

Module rules 

Source
Expand description

Rules that decide, at each node, whether the DL8.5 search goes on.

The search consults two sets of rules. Node rules (common) encode the problem: maximum depth, minimum support, pure nodes and bounds. Search rules restrict the search to make it anytime: they cut branches such as the ones beyond a discrepancy budget (DiscrepancyRule, LDS-DL8.5) or beyond the k best-ranked features (TopkRule, Top-k-DL8.5).

When a relaxable rule has cut part of the search, the search is restarted with every rule relaxed (its budget widened), until no rule cuts anything and the tree is optimal. This is the CA-DL8.5 framework of Kiossou and Schaus, A Generic Complete Anytime Beam Search for Optimal Decision Trees (IDA 2026).

Modules§

common
The rules that define the DL8.5 problem, plus the time limit. None of them is relaxable except, optionally, the time limit.

Structs§

DecreasingTopkRule
Like TopkRule, but the number of features allowed halves at each level: k / 2^depth, and at least one.
DiscrepancyRule
Limited discrepancy search (LDS-DL8.5).
Exponential
1, b, b², b³, …
GainRule
Restricts a pass to the paths whose accumulated heuristic loss stays within a gap.
Luby
Running sums of the Luby sequence 1, 1, 2, 1, 1, 2, 4, …, scaled by a multiplier, as used for restarts in SAT solvers.
Monotonic
0, n, 2n, 3n, …
PurityRule
Stops at nodes that are already pure enough.
RuleContext
What the rules know about the node being evaluated.
RuleManager
An ordered set of rules, evaluated by decreasing priority.
RuleResult
What a rule decided for a node.
TopkRule
Top-k search: at each node, a pass only branches on the k + 1 best-ranked features. Relaxing the rule raises k, following its StepStrategy, up to limit.

Enums§

Reason
Why the search stopped at a node.
RuleState
Whether a rule is applied.

Traits§

Rule
A condition checked at every node of the search.
StepStrategy
A sequence of budgets used to relax a rule between passes.