Package org.jgrapht.alg.isomorphism
Class VF2GraphIsomorphismInspector<V,E>
- java.lang.Object
-
- org.jgrapht.alg.isomorphism.VF2AbstractIsomorphismInspector<V,E>
-
- org.jgrapht.alg.isomorphism.VF2GraphIsomorphismInspector<V,E>
-
- Type Parameters:
V
- the type of the verticesE
- the type of the edges
- All Implemented Interfaces:
IsomorphismInspector<V,E>
public class VF2GraphIsomorphismInspector<V,E> extends VF2AbstractIsomorphismInspector<V,E>
This is an 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=1323804This implementation of the VF2 algorithm does not support graphs with multiple edges.
-
-
Field Summary
-
Fields inherited from class org.jgrapht.alg.isomorphism.VF2AbstractIsomorphismInspector
edgeComparator, graph1, graph2, ordering1, ordering2, vertexComparator
-
-
Constructor Summary
Constructors Constructor Description VF2GraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2)
Construct a new VF2 isomorphism inspector.VF2GraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, boolean cacheEdges)
Construct a new VF2 isomorphism inspector.VF2GraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator)
Construct a new VF2 isomorphism inspector.VF2GraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator, boolean cacheEdges)
Construct a new VF2 isomorphism inspector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.jgrapht.alg.isomorphism.VF2GraphMappingIterator<V,E>
getMappings()
Get an iterator over all calculated (isomorphic) mappings between two graphs.-
Methods inherited from class org.jgrapht.alg.isomorphism.VF2AbstractIsomorphismInspector
isomorphismExists
-
-
-
-
Constructor Detail
-
VF2GraphIsomorphismInspector
public VF2GraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator, boolean cacheEdges)
Construct a new 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
-
VF2GraphIsomorphismInspector
public VF2GraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator)
Construct a new VF2 isomorphism inspector.- Parameters:
graph1
- the first graphgraph2
- the second graphvertexComparator
- comparator for semantic equivalence of verticesedgeComparator
- comparator for semantic equivalence of edges
-
VF2GraphIsomorphismInspector
public VF2GraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, boolean cacheEdges)
Construct a new VF2 isomorphism inspector.- Parameters:
graph1
- the first graphgraph2
- the second graphcacheEdges
- if true, edges get cached for faster access
-
-
Method Detail
-
getMappings
public org.jgrapht.alg.isomorphism.VF2GraphMappingIterator<V,E> getMappings()
Description copied from interface:IsomorphismInspector
Get an iterator over all calculated (isomorphic) mappings between two graphs.- Specified by:
getMappings
in interfaceIsomorphismInspector<V,E>
- Specified by:
getMappings
in classVF2AbstractIsomorphismInspector<V,E>
- Returns:
- an iterator over all calculated (isomorphic) mappings between two graphs
-
-