Class VF2SubgraphIsomorphismInspector<V,E>
- Type Parameters:
V- the type of the verticesE- the type of the edges
- All Implemented Interfaces:
IsomorphismInspector<V,E>
public class VF2SubgraphIsomorphismInspector<V,E> extends VF2AbstractIsomorphismInspector<V,E>
Note that this inspector only finds isomorphisms between a smaller graph and all induced subgraphs of a larger graph. It does not find isomorphisms between the smaller graph and arbitrary subgraphs of the larger graph. For example, given as input the cubical graph $Q_{3}$ and the square graph, isomorphic mappings will be found between the square and the faces of the cube. However, given the complete graph $K_{5}$ and the square graph as input, no isomorphisms will be found since all induced subgraphs of a complete graph are themselves complete graphs.
Consequently, in the case where both input graphs have the same number of vertices, this
algorithm is equivalent to running VF2GraphIsomorphismInspector.
This implementation of the VF2 algorithm does not support graphs with multiple (parallel) edges.
-
Field Summary
Fields inherited from class org.jgrapht.alg.isomorphism.VF2AbstractIsomorphismInspector
edgeComparator, graph1, graph2, ordering1, ordering2, vertexComparator -
Constructor Summary
Constructors Constructor Description VF2SubgraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2)Construct a new VF2 subgraph isomorphism inspector.VF2SubgraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, boolean cacheEdges)Construct a new VF2 subgraph isomorphism inspector.VF2SubgraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator)Construct a new VF2 subgraph isomorphism inspector.VF2SubgraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator, boolean cacheEdges)Construct a new VF2 subgraph isomorphism inspector. -
Method Summary
Modifier and Type Method Description org.jgrapht.alg.isomorphism.VF2SubgraphMappingIterator<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 Details
-
VF2SubgraphIsomorphismInspector
public VF2SubgraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator, boolean cacheEdges)Construct a new VF2 subgraph isomorphism inspector.- Parameters:
graph1- the first graphgraph2- the second graph (possible induced subgraph of graph1)vertexComparator- comparator for semantic equivalence of verticesedgeComparator- comparator for semantic equivalence of edgescacheEdges- if true, edges get cached for faster access
-
VF2SubgraphIsomorphismInspector
public VF2SubgraphIsomorphismInspector(Graph<V,E> graph1, Graph<V,E> graph2, java.util.Comparator<V> vertexComparator, java.util.Comparator<E> edgeComparator)Construct a new VF2 subgraph isomorphism inspector.- Parameters:
graph1- the first graphgraph2- the second graph (possible induced subgraph of graph1)vertexComparator- comparator for semantic equivalence of verticesedgeComparator- comparator for semantic equivalence of edges
-
VF2SubgraphIsomorphismInspector
Construct a new VF2 subgraph isomorphism inspector.- Parameters:
graph1- the first graphgraph2- the second graph (possible induced subgraph of graph1)cacheEdges- if true, edges get cached for faster access
-
VF2SubgraphIsomorphismInspector
Construct a new VF2 subgraph isomorphism inspector.- Parameters:
graph1- the first graphgraph2- the second graph (possible induced subgraph of graph1)
-
-
Method Details
-
getMappings
Description copied from interface:IsomorphismInspectorGet an iterator over all calculated (isomorphic) mappings between two graphs.- Specified by:
getMappingsin interfaceIsomorphismInspector<V,E>- Specified by:
getMappingsin classVF2AbstractIsomorphismInspector<V,E>- Returns:
- an iterator over all calculated (isomorphic) mappings between two graphs
-