34 ostream& operator<<(ostream& os,
const drwnEdge& e);
48 nodeA(-1), nodeB(-1), wAB(0.0), wBA(0.0) { };
50 nodeA(a), nodeB(b), wAB(w), wBA(v) { };
57 } drwnTriangulationHeuristic;
62 vector<drwnClique>
findNeighbors(
const vector<drwnEdge>& graph);
70 vector<drwnEdge>
minSpanningTree(
int numNodes,
const vector<drwnEdge>& edges,
71 const vector<double>& weights);
78 vector<int>& perfectOrder,
int startNode = -1);
88 const vector<int>& nodeOrder);
91 vector<vector<double> >
allShortestPaths(
int numNodes,
const vector<drwnEdge>& edges,
92 const vector<double>& weights);
95 vector<int>
shortestPath(
int numNodes,
const vector<drwnEdge>& edges,
96 const vector<double>& weights,
int source,
int sink);
vector< drwnClique > findNeighbors(const vector< drwnEdge > &graph)
Finds the neighbors for each node in a graph.
Definition: drwnGraphUtils.cpp:36
vector< vector< double > > allShortestPaths(int numNodes, const vector< drwnEdge > &edges, const vector< double > &weights)
Floyd-Warshall algorithm for all paths shortest path.
Definition: drwnGraphUtils.cpp:321
int nodeB
target node
Definition: drwnGraphUtils.h:42
int findSuperset(const vector< drwnClique > &cliques, const drwnClique &subclique)
Find a clique containing the subclique.
Definition: drwnGraphUtils.cpp:51
vector< int > shortestPath(int numNodes, const vector< drwnEdge > &edges, const vector< double > &weights, int source, int sink)
Dijkstra's shortest path algorithm.
Definition: drwnGraphUtils.cpp:356
bool maxCardinalitySearch(int numNodes, const vector< drwnEdge > &edges, vector< int > &perfectOrder, int startNode=-1)
Maximum cardinality search. Returns an elimination ordering for a chordal graph (true) or three nodes...
Definition: drwnGraphUtils.cpp:109
minimum fill-in heuristic
Definition: drwnGraphUtils.h:56
maximum cardinality search (MCS)
Definition: drwnGraphUtils.h:55
std::set< int > drwnClique
variable clique
Definition: drwnGraphUtils.h:37
_drwnTriangulationHeuristic
Definition: drwnGraphUtils.h:54
std::pair< int, int > drwnEdge
directed or undirected edges
Definition: drwnGraphUtils.h:33
Definition: drwnGraphUtils.h:39
double wAB
weight from source to target
Definition: drwnGraphUtils.h:43
vector< drwnEdge > minSpanningTree(int numNodes, const vector< drwnEdge > &edges, const vector< double > &weights)
Finds the minimum weight spanning tree (forest) given a graph structure and weights for each edge (mi...
Definition: drwnGraphUtils.cpp:68
int nodeA
source node
Definition: drwnGraphUtils.h:41
void triangulateGraph(int numNodes, vector< drwnEdge > &edges, drwnTriangulationHeuristic method=DRWN_MINFILLIN)
Triangulate an undirected graph. Modifies the adjacency list inline. The resulting graph contains no ...
Definition: drwnGraphUtils.cpp:195
double wBA
weight from target to source
Definition: drwnGraphUtils.h:44
vector< drwnClique > variableEliminationCliques(const vector< drwnEdge > &edges, const vector< int > &nodeOrder)
Finds cliques obtained by variable elimination.
Definition: drwnGraphUtils.cpp:278