Modifier and Type | Method and Description |
---|---|
java.util.ArrayList<EdgeList> |
ProcessGraph.findMinCuts(java.util.ArrayList<Node> tables)
Identifies the sets of edges that represent min cuts in the diagram
PSEUDOCODE:
Iterate over all nodes
Find all edge combinations for each node
For each combination:
Remove these edges from the graph
Ensure all subset nodes are in the SAME cluster
Test for a relation between the original node and the nodes in the subset
Ensure that the cluster meets various conditions
Restore the edges
|
Modifier and Type | Method and Description |
---|---|
boolean |
ProcessGraph.hasAdditionalCuts(Node homeNode,
java.util.ArrayList<EdgeList> mincuts,
EdgeList thisCut)
Checks if there are additional cuts reachable from this node
by traversing the nodes edges
|
boolean |
ProcessGraph.hasAdditionalCuts2(Node homeNode,
java.util.ArrayList<EdgeList> mincuts,
EdgeList thisCut)
Checks if there are additional cuts reachable from this node
by traversing the nodes edges
|
boolean |
ProcessGraph.isInMinCuts(Edge edge,
java.util.ArrayList<EdgeList> mincuts,
EdgeList thisCut)
Checks if a given edge is contained in the list of mincuts.
|
void |
ProcessGraph.removeEdgeFromMincuts(java.util.ArrayList<EdgeList> cuts,
EdgeList cut,
java.util.ArrayList<EdgeList> edgesToBeRemoved)
Removes an edge that has already been processed from all other mincuts
|
Modifier and Type | Method and Description |
---|---|
boolean |
ProcessGraph.hasAdditionalCuts(Node homeNode,
java.util.ArrayList<EdgeList> mincuts,
EdgeList thisCut)
Checks if there are additional cuts reachable from this node
by traversing the nodes edges
|
boolean |
ProcessGraph.hasAdditionalCuts2(Node homeNode,
java.util.ArrayList<EdgeList> mincuts,
EdgeList thisCut)
Checks if there are additional cuts reachable from this node
by traversing the nodes edges
|
boolean |
ProcessGraph.isInMinCuts(Edge edge,
java.util.ArrayList<EdgeList> mincuts,
EdgeList thisCut)
Checks if a given edge is contained in the list of mincuts.
|
boolean |
ProcessGraph.isMincut(java.util.ArrayList<EdgeList> minCuts,
java.util.ArrayList<Edge> mincut,
Node node)
Verifies that the candidate mincut satisfies the conditions that make it a mincut
Improvement is left for future works
param minCuts The current list of approved minCuts
param mincut The candidate mincut
param node The node we are testing to see if it has a mincut
|
void |
ProcessGraph.removeEdgeFromMincuts(java.util.ArrayList<EdgeList> cuts,
EdgeList cut,
java.util.ArrayList<EdgeList> edgesToBeRemoved)
Removes an edge that has already been processed from all other mincuts
|
void |
ProcessGraph.removeEdgeFromMincuts(java.util.ArrayList<EdgeList> cuts,
EdgeList cut,
java.util.ArrayList<EdgeList> edgesToBeRemoved)
Removes an edge that has already been processed from all other mincuts
|