Computer Science – Performance
Scientific paper
2006-04-06
Computer Science
Performance
8 pages, 5 figures (with 10 illustrations total), 1 table; reformatted with some additional notes
Scientific paper
Algorithms for efficiently finding optimal alphabetic decision trees -- such as the Hu-Tucker algorithm -- are well established and commonly used. However, such algorithms generally assume that the cost per decision is uniform and thus independent of the outcome of the decision. The few algorithms without this assumption instead use one cost if the decision outcome is ``less than'' and another cost otherwise. In practice, neither assumption is accurate for software optimized for today's microprocessors. Such software generally has one cost for the more likely decision outcome and a greater cost -- often far greater -- for the less likely decision outcome. This problem and generalizations thereof are thus applicable to hard coding static decision tree instances in software, e.g., for optimizing program bottlenecks or for compiling switch statements. An O(n^3)-time O(n^2)-space dynamic programming algorithm can solve this optimal binary decision tree problem, and this approach has many generalizations that optimize for the behavior of processors with predictive branch capabilities, both static and dynamic. Solutions to this formulation are often faster in practice than ``optimal'' decision trees as formulated in the literature. Different search paradigms can sometimes yield even better performance.
No associations
LandOfFree
On Conditional Branches in Optimal Search Trees does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.
If you have personal experience with On Conditional Branches in Optimal Search Trees, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and On Conditional Branches in Optimal Search Trees will most certainly appreciate the feedback.
Profile ID: LFWR-SCP-O-721107