@Override public V getSource(E directed_edge) { return ((DirectedGraph<V, E>) delegate).getSource(directed_edge); }
@Override public V getSource(E directed_edge) { return ((DirectedGraph<V,E>)delegate).getSource(directed_edge); }
@Override public synchronized V getSource(E directed_edge) { return ((DirectedGraph<V,E>)delegate).getSource(directed_edge); }
@Override public synchronized V getSource(E directed_edge) { return ((DirectedGraph<V, E>) delegate).getSource(directed_edge); }
private void computeMinCut() { for (E e : mOriginalGraph.getEdges()) { V source = mOriginalGraph.getSource(e); V destination = mOriginalGraph.getDest(e); if (mSinkPartitionNodes.contains(source) && mSinkPartitionNodes.contains(destination)) { continue; } if (mSourcePartitionNodes.contains(source) && mSourcePartitionNodes.contains(destination)) { continue; } if (mSinkPartitionNodes.contains(source) && mSourcePartitionNodes.contains(destination)) { continue; } mMinCutEdges.add(e); } }
private void computeMinCut() { for (E e : mOriginalGraph.getEdges()) { V source = mOriginalGraph.getSource(e); V destination = mOriginalGraph.getDest(e); if (mSinkPartitionNodes.contains(source) && mSinkPartitionNodes.contains(destination)) { continue; } if (mSourcePartitionNodes.contains(source) && mSourcePartitionNodes.contains(destination)) { continue; } if (mSinkPartitionNodes.contains(source) && mSourcePartitionNodes.contains(destination)) { continue; } mMinCutEdges.add(e); } }
private void computeMinCut() { for (E e : mOriginalGraph.getEdges()) { V source1 = mOriginalGraph.getSource(e); V destination = mOriginalGraph.getDest(e); if (mSinkPartitionNodes.contains(source1) && mSinkPartitionNodes.contains(destination)) { continue; } if (mSourcePartitionNodes.contains(source1) && mSourcePartitionNodes.contains(destination)) { continue; } if (mSinkPartitionNodes.contains(source1) && mSourcePartitionNodes.contains(destination)) { continue; } mMinCutEdges.add(e); } }
public String toString(){ StringBuilder sb = new StringBuilder(); sb.append(graph.getSource(this).getName()).append(" -> ").append(getNextState().getName() ).append("[label=\"" +getAlias()+":"+getSignature() + "\"]"); return sb.toString(); }
private void dfs(V v, Set<V> mark, Set<V> onStack) { if (mark.contains(v)) return; mark.add(v); onStack.add(v); for (E e : graph.getOutEdges(v)) { V w = graph.getDest(e); if (onStack.contains(w)) { cycles.add(e); w = graph.getSource(e); } else { // mark.remove(w); dfs(w, mark, onStack); } } onStack.remove(v); } }
@Override protected void initializeIterations() { parentCapacityMap.put(source, Integer.MAX_VALUE); parentMap.put(source, source); List<E> edgeList = new ArrayList<E>(mFlowGraph.getEdges()); for (int eIdx=0;eIdx< edgeList.size();eIdx++) { E edge = edgeList.get(eIdx); Number capacity = edgeCapacityTransformer.apply(edge); if (capacity == null) { throw new IllegalArgumentException("Edge capacities must be provided in Function passed to constructor"); } residualCapacityMap.put(edge, capacity); V source = mFlowGraph.getSource(edge); V destination = mFlowGraph.getDest(edge); if(mFlowGraph.isPredecessor(source, destination) == false) { E backEdge = edgeFactory.get(); mFlowGraph.addEdge(backEdge, destination, source, EdgeType.DIRECTED); residualCapacityMap.put(backEdge, 0); } } }
@Override protected void initializeIterations() { parentCapacityMap.put(source, Integer.MAX_VALUE); parentMap.put(source, source); List<E> edgeList = new ArrayList<E>(mFlowGraph.getEdges()); for (int eIdx = 0; eIdx < edgeList.size(); eIdx++) { E edge = edgeList.get(eIdx); Number capacity = edgeCapacityTransformer.transform(edge); if (capacity == null) { throw new IllegalArgumentException( "Edge capacities must be provided in Transformer passed to constructor"); } residualCapacityMap.put(edge, capacity); V source1 = mFlowGraph.getSource(edge); V destination = mFlowGraph.getDest(edge); if (mFlowGraph.isPredecessor(source1, destination) == false) { E backEdge = edgeFactory.create(); mFlowGraph.addEdge(backEdge, destination, source1, EdgeType.DIRECTED); residualCapacityMap.put(backEdge, 0); } } }
@Override protected void initializeIterations() { parentCapacityMap.put(source, Integer.MAX_VALUE); parentMap.put(source, source); List<E> edgeList = new ArrayList<E>(mFlowGraph.getEdges()); for (int eIdx=0;eIdx< edgeList.size();eIdx++) { E edge = edgeList.get(eIdx); Number capacity = edgeCapacityTransformer.transform(edge); if (capacity == null) { throw new IllegalArgumentException("Edge capacities must be provided in Transformer passed to constructor"); } residualCapacityMap.put(edge, capacity); V source = mFlowGraph.getSource(edge); V destination = mFlowGraph.getDest(edge); if(mFlowGraph.isPredecessor(source, destination) == false) { E backEdge = edgeFactory.create(); mFlowGraph.addEdge(backEdge, destination, source, EdgeType.DIRECTED); residualCapacityMap.put(backEdge, 0); } } }
mFlowGraph = directedGraph.getClass().newInstance(); for(E e : mOriginalGraph.getEdges()) { mFlowGraph.addEdge(e, mOriginalGraph.getSource(e), mOriginalGraph.getDest(e), EdgeType.DIRECTED);
mFlowGraph = directedGraph.getClass().newInstance(); for(E e : mOriginalGraph.getEdges()) { mFlowGraph.addEdge(e, mOriginalGraph.getSource(e), mOriginalGraph.getDest(e), EdgeType.DIRECTED);
mFlowGraph = (DirectedGraph<V, E>) directedGraph.newInstance(); for (E e : mOriginalGraph.getEdges()) { mFlowGraph.addEdge(e, mOriginalGraph.getSource(e), mOriginalGraph.getDest(e), EdgeType.DIRECTED);
State src = pg.getSource(ti); State dest = pg.getDest(ti);