DocumentCode :
2022334
Title :
On Conditional Branches in Optimal Decision Trees
Author :
Baer, M.B.
Author_Institution :
Electron. for Imaging, Foster City, CA
fYear :
2007
fDate :
24-29 June 2007
Firstpage :
436
Lastpage :
440
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 n 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 outcome. Here we formulate a variety of O(n3)-time O(n2)-space dynamic programming algorithms to solve such optimal binary decision tree problems, optimizing for the behavior of processors with predictive branch capabilities, both static and dynamic. In the static case, we use existing results to arrive at entropy-based performance bounds. Solutions to this formulation are often faster in practice than ";optimal"; decision trees as formulated in the literature, and, for small problems, are easily worth the extra complexity in finding the better solution. This can be applied in fast implementation of decoding Huffman codes.
Keywords :
computational complexity; decision trees; dynamic programming; microprocessor chips; optimising compilers; statistical distributions; trees (mathematics); Huffman codes; conditional branch; decoding; fundamental programming abstraction; microprocessor operation; optimal alphabetic decision trees; probability distribution; space dynamic programming algorithm; Binary trees; Cost function; Decision trees; Decoding; Dynamic programming; Heuristic algorithms; Microprocessors; Probability distribution; Switches; Testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Information Theory, 2007. ISIT 2007. IEEE International Symposium on
Conference_Location :
Nice
Print_ISBN :
978-1-4244-1397-3
Type :
conf
DOI :
10.1109/ISIT.2007.4557264
Filename :
4557264
Link To Document :
بازگشت