-
ADD-Lib: Decision Diagrams in Practice
Authors:
Frederik Gossen,
Alnis Murtovi,
Philip Zweihoff,
Bernhard Steffen
Abstract:
In the paper, we present the ADD-Lib, our efficient and easy to use framework for Algebraic Decision Diagrams (ADDs). The focus of the ADD-Lib is not so much on its efficient implementation of individual operations, which are taken by other established ADD frameworks, but its ease and flexibility, which arise at two levels: the level of individual ADD-tools, which come with a dedicated user-friend…
▽ More
In the paper, we present the ADD-Lib, our efficient and easy to use framework for Algebraic Decision Diagrams (ADDs). The focus of the ADD-Lib is not so much on its efficient implementation of individual operations, which are taken by other established ADD frameworks, but its ease and flexibility, which arise at two levels: the level of individual ADD-tools, which come with a dedicated user-friendly web-based graphical user interface, and at the meta level, where such tools are specified. Both levels are described in the paper: the meta level by explaining how we can construct an ADD-tool tailored for Random Forest refinement and evaluation, and the accordingly generated Web-based domain-specific tool, which we also provide as an artifact for cooperative experimentation. In particular, the artifact allows readers to combine a given Random Forest with their own ADDs regarded as expert knowledge and to experience the corresponding effect.
△ Less
Submitted 24 December, 2019;
originally announced December 2019.
-
Aggressive Aggregation: a New Paradigm for Program Optimization
Authors:
Frederik Gossen,
Marc Jasper,
Alnis Murtovi,
Bernhard Steffen
Abstract:
In this paper, we propose a new paradigm for program optimization which is based on aggressive aggregation, i.e., on a partial evaluation-based decomposition of acyclic program fragments into a pair of computationally optimal structures: an Algebraic Decision Diagram (ADD) to capture conditional branching and a parallel assignment that refers to an Expression DAG (ED) which realizes redundancy-fre…
▽ More
In this paper, we propose a new paradigm for program optimization which is based on aggressive aggregation, i.e., on a partial evaluation-based decomposition of acyclic program fragments into a pair of computationally optimal structures: an Algebraic Decision Diagram (ADD) to capture conditional branching and a parallel assignment that refers to an Expression DAG (ED) which realizes redundancy-free computation. The point of this decomposition into, in fact, side-effect-free component structures allows for powerful optimization that semantically comprise effects traditionally aimed at by SSA form transformation, code specialization, common subexpression elimination, and (partial) redundancy elimination. We illustrate our approach along an optimization of the well-known iterative Fibonacci program, which, typically, is considered to lack any optimization potential. The point here is that our technique supports loop unrolling as a first class optimization technique and is tailored to optimally aggregate large program fragments, especially those resulting from multiple loop unrollings. For the Fibonacci program, this results in a performance improvement beyond an order of magnitude.
△ Less
Submitted 24 December, 2019;
originally announced December 2019.
-
Large Random Forests: Optimisation for Rapid Evaluation
Authors:
Frederik Gossen,
Bernhard Steffen
Abstract:
Random Forests are one of the most popular classifiers in machine learning. The larger they are, the more precise is the outcome of their predictions. However, this comes at a cost: their running time for classification grows linearly with the number of trees, i.e. the size of the forest. In this paper, we propose a method to aggregate large Random Forests into a single, semantically equivalent de…
▽ More
Random Forests are one of the most popular classifiers in machine learning. The larger they are, the more precise is the outcome of their predictions. However, this comes at a cost: their running time for classification grows linearly with the number of trees, i.e. the size of the forest. In this paper, we propose a method to aggregate large Random Forests into a single, semantically equivalent decision diagram. Our experiments on various popular datasets show speed-ups of several orders of magnitude, while, at the same time, also significantly reducing the size of the required data structure.
△ Less
Submitted 23 December, 2019;
originally announced December 2019.