65,858 research outputs found
Recommended from our members
Generation of optimal binary split trees
A binary split tree is a search structure combining features of heaps and binary search trees. Building an optimal binary split tree was originally conjectured to be intractable due to difficulties in applying dynamic programming techniques to the problem. However, two algorithms have recently been published which purportedly generate optimal trees in O(n^5) time, for records with distinct access probabilities. An extension allowing non-distinct access probabilities required exponential time. These algorithms consider a range of values when only a single value is possible, and may select an infeasible value which leads to an incorrect result. A dynamic programming method for determining the correct value is given, resulting in an algorithm which builds an optimal binary split tree in O(n^5) time for non-distinct access probabilities and Θ(n^4) time for distinct access probabilities
Drawing Binary Tanglegrams: An Experimental Evaluation
A binary tanglegram is a pair of binary trees whose leaf sets are in
one-to-one correspondence; matching leaves are connected by inter-tree edges.
For applications, for example in phylogenetics or software engineering, it is
required that the individual trees are drawn crossing-free. A natural
optimization problem, denoted tanglegram layout problem, is thus to minimize
the number of crossings between inter-tree edges.
The tanglegram layout problem is NP-hard and is currently considered both in
application domains and theory. In this paper we present an experimental
comparison of a recursive algorithm of Buchin et al., our variant of their
algorithm, the algorithm hierarchy sort of Holten and van Wijk, and an integer
quadratic program that yields optimal solutions.Comment: see
http://www.siam.org/proceedings/alenex/2009/alx09_011_nollenburgm.pd
Optimal Sparse Decision Trees
Decision tree algorithms have been among the most popular algorithms for
interpretable (transparent) machine learning since the early 1980's. The
problem that has plagued decision tree algorithms since their inception is
their lack of optimality, or lack of guarantees of closeness to optimality:
decision tree algorithms are often greedy or myopic, and sometimes produce
unquestionably suboptimal models. Hardness of decision tree optimization is
both a theoretical and practical obstacle, and even careful mathematical
programming approaches have not been able to solve these problems efficiently.
This work introduces the first practical algorithm for optimal decision trees
for binary variables. The algorithm is a co-design of analytical bounds that
reduce the search space and modern systems techniques, including data
structures and a custom bit-vector library. Our experiments highlight
advantages in scalability, speed, and proof of optimality.Comment: 33rd Conference on Neural Information Processing Systems (NeurIPS
2019), Vancouver, Canad
- …