Module org.jgrapht.core
Package org.jgrapht.alg.isomorphism
Class VF2AbstractIsomorphismInspector<V,E>
java.lang.Object
org.jgrapht.alg.isomorphism.VF2AbstractIsomorphismInspector<V,E>
 Type Parameters:
V
 the type of the verticesE
 the type of the edges
 All Implemented Interfaces:
IsomorphismInspector<V,
E>
 Direct Known Subclasses:
VF2GraphIsomorphismInspector
,VF2SubgraphIsomorphismInspector
public abstract class VF2AbstractIsomorphismInspector<V,E>
extends Object
implements IsomorphismInspector<V,E>
Base implementation of the VF2 algorithm using its feature of detecting
isomorphism between two graphs
as described in Cordella et al. A (sub)graph isomorphism algorithm for matching large graphs
(2004), DOI:10.1109/TPAMI.2004.75,
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1323804
This implementation of the VF2 algorithm does not support graphs with multiple edges.

Field Summary

Constructor Summary
ConstructorDescriptionConstruct a new base implementation of the VF2 isomorphism inspector.Construct a new base implementation of the VF2 isomorphism inspector.VF2AbstractIsomorphismInspector
(Graph<V, E> graph1, Graph<V, E> graph2, Comparator<V> vertexComparator, Comparator<E> edgeComparator) Construct a new base implementation of the VF2 isomorphism inspector.VF2AbstractIsomorphismInspector
(Graph<V, E> graph1, Graph<V, E> graph2, Comparator<V> vertexComparator, Comparator<E> edgeComparator, boolean cacheEdges) Construct a new base implementation of the VF2 isomorphism inspector. 
Method Summary
Modifier and TypeMethodDescriptionabstract Iterator<GraphMapping<V,
E>> Get an iterator over all calculated (isomorphic) mappings between two graphs.boolean
Check if an isomorphism exists.

Field Details

graph1

graph2

vertexComparator

edgeComparator

ordering1

ordering2


Constructor Details

VF2AbstractIsomorphismInspector
public VF2AbstractIsomorphismInspector(Graph<V, E> graph1, Graph<V, E> graph2, Comparator<V> vertexComparator, Comparator<E> edgeComparator, boolean cacheEdges) Construct a new base implementation of the VF2 isomorphism inspector. Parameters:
graph1
 the first graphgraph2
 the second graphvertexComparator
 comparator for semantic equivalence of verticesedgeComparator
 comparator for semantic equivalence of edgescacheEdges
 if true, edges get cached for faster access

VF2AbstractIsomorphismInspector
public VF2AbstractIsomorphismInspector(Graph<V, E> graph1, Graph<V, E> graph2, Comparator<V> vertexComparator, Comparator<E> edgeComparator) Construct a new base implementation of the VF2 isomorphism inspector. Parameters:
graph1
 the first graphgraph2
 the second graphvertexComparator
 comparator for semantic equivalence of verticesedgeComparator
 comparator for semantic equivalence of edges

VF2AbstractIsomorphismInspector
Construct a new base implementation of the VF2 isomorphism inspector. Parameters:
graph1
 the first graphgraph2
 the second graphcacheEdges
 if true, edges get cached for faster access

VF2AbstractIsomorphismInspector
Construct a new base implementation of the VF2 isomorphism inspector. Parameters:
graph1
 the first graphgraph2
 the second graph


Method Details

getMappings
Description copied from interface:IsomorphismInspector
Get an iterator over all calculated (isomorphic) mappings between two graphs. Specified by:
getMappings
in interfaceIsomorphismInspector<V,
E>  Returns:
 an iterator over all calculated (isomorphic) mappings between two graphs

isomorphismExists
public boolean isomorphismExists()Description copied from interface:IsomorphismInspector
Check if an isomorphism exists. Specified by:
isomorphismExists
in interfaceIsomorphismInspector<V,
E>  Returns:
 true if there is an isomorphism, false if there is no isomorphism
