Version: 1.0
drag2optimal.h
Go to the documentation of this file.
1 // Copyright (c) 2020, the GRAPHGEN contributors, as
2 // shown by the AUTHORS file. All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
6 
7 #ifndef GRAPHGEN_DRAG2OPTIMAL_H_
8 #define GRAPHGEN_DRAG2OPTIMAL_H_
9 
10 #include "conact_tree.h"
11 
12 // Converts dag to dag using equivalences between subtrees
14 
15 // Converts a dag (tree) into dag removing equivalent subtrees. This could prevent better optimizations and does not guarantee optimality
16 // When considering_leaves is true also equivalent leaves will be compressed.
17 void Dag2DagUsingEquivalences(BinaryDrag<conact>& t, bool considering_leaves = true);
18 
19 // Converts a tree into dag minimizing the number of nodes (Note: this is "necessary" when the leaves of a tree contain multiple actions)
20 // USES NUMBER OF NODES TO PICK THE OPTIMAL DAG
22 
23 #endif // !GRAPHGEN_DRAG2OPTIMAL_H_
void Dag2DagUsingIdenties(BinaryDrag< conact > &t)
void Dag2DagUsingEquivalences(BinaryDrag< conact > &t, bool considering_leaves=true)
void Dag2OptimalDag(BinaryDrag< conact > &t)