Version: 1.0
src
GRAPHGEN
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
13
void
Dag2DagUsingIdenties
(
BinaryDrag<conact>
& t);
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
21
void
Dag2OptimalDag
(
BinaryDrag<conact>
& t);
22
23
#endif
// !GRAPHGEN_DRAG2OPTIMAL_H_
BinaryDrag< conact >
conact_tree.h
Dag2DagUsingIdenties
void Dag2DagUsingIdenties(BinaryDrag< conact > &t)
Definition:
drag2optimal.cpp:69
Dag2DagUsingEquivalences
void Dag2DagUsingEquivalences(BinaryDrag< conact > &t, bool considering_leaves=true)
Definition:
drag2optimal.cpp:109
Dag2OptimalDag
void Dag2OptimalDag(BinaryDrag< conact > &t)
Definition:
drag2optimal.cpp:172
Generated by
1.9.1