On Conditional Branches in Optimal Decision Trees
Michael B. Baer

TL;DR
This paper develops dynamic programming algorithms to construct optimal decision trees that account for variable branch costs in microprocessors with predictive capabilities, improving efficiency in applications like Huffman decoding.
Contribution
It introduces algorithms that optimize decision trees considering non-uniform branch costs, addressing a gap in traditional models that assume uniform decision costs.
Findings
Algorithms run in O(n^3) time and O(n^2) space.
Solutions outperform traditional optimal decision trees in practice.
Applicable to decoding Huffman codes efficiently.
Abstract
The decision tree is one of the most fundamental programming abstractions. A commonly used type of decision tree is the alphabetic binary tree, which uses (without loss of generality) ``less than'' versus ''greater than or equal to'' tests in order to determine one of outcome events. The process of finding an optimal alphabetic binary tree for a known probability distribution on outcome events usually has the underlying assumption that the cost (time) per decision is uniform and thus independent of the outcome of the decision. This assumption, however, is incorrect in the case of software to be optimized for a given microprocessor, e.g., in compiling switch statements or in fine-tuning program bottlenecks. The operation of the microprocessor generally means that the cost for the more likely decision outcome can or will be less -- often far less -- than the less likely decision…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Data Mining Algorithms and Applications · Rough Sets and Fuzzy Logic
