V
- the type of the verticesE
- the type of the edgespublic class IsomorphicGraphMapping<V,E> extends Object implements GraphMapping<V,E>
Modifier and Type | Field and Description |
---|---|
static int |
NULL_NODE |
Constructor and Description |
---|
IsomorphicGraphMapping(org.jgrapht.alg.isomorphism.GraphOrdering<V,E> g1,
org.jgrapht.alg.isomorphism.GraphOrdering<V,E> g2,
int[] core1,
int[] core2)
Construct a new isomorphic graph mapping
|
IsomorphicGraphMapping(Map<V,V> forwardMapping,
Map<V,V> backwardMapping,
Graph<V,E> graph1,
Graph<V,E> graph2)
Construct a new isomorphic graph mapping.
|
Modifier and Type | Method and Description |
---|---|
IsomorphicGraphMapping<V,E> |
compose(IsomorphicGraphMapping<V,E> otherMapping)
Computes the composition of two isomorphisms.
|
boolean |
equals(Object o) |
Map<V,V> |
getBackwardMapping()
Get an unmodifiable version of the backward mapping function.
|
E |
getEdgeCorrespondence(E e,
boolean forward)
Gets the mapped value where the key is
edge |
Map<V,V> |
getForwardMapping()
Get an unmodifiable version of the forward mapping function.
|
Set<V> |
getMappingDomain()
Get the active domain of the isomorphism.
|
Set<V> |
getMappingRange()
Get the range of the isomorphism.
|
V |
getVertexCorrespondence(V v,
boolean forward)
Gets the mapped value where the key is
vertex |
boolean |
hasEdgeCorrespondence(E e)
Checks if a edge e from the first graph has a corresponding edge in the second graph
|
int |
hashCode() |
boolean |
hasVertexCorrespondence(V v)
Checks if a vertex $v$ from the first graph has a corresponding vertex in the second graph
|
static <V,E> IsomorphicGraphMapping<V,E> |
identity(Graph<V,E> graph)
Computes an identity automorphism (i.e.
|
boolean |
isEqualMapping(GraphMapping<V,E> rel)
Checks for equality.
|
boolean |
isValidIsomorphism()
Determines whether this mapping is indeed a valid isomorphic mapping between the first graph
and the second graph.
|
String |
toString() |
public static final int NULL_NODE
public IsomorphicGraphMapping(org.jgrapht.alg.isomorphism.GraphOrdering<V,E> g1, org.jgrapht.alg.isomorphism.GraphOrdering<V,E> g2, int[] core1, int[] core2)
g1
- the first graphg2
- the second graph which is a possible subgraph of g1core1
- the mapping as array (forwards)core2
- the mapping as array (backwards)public IsomorphicGraphMapping(Map<V,V> forwardMapping, Map<V,V> backwardMapping, Graph<V,E> graph1, Graph<V,E> graph2)
forwardMapping
- the mapping from graph1 to graph2backwardMapping
- the mapping from graph2 to graph1 (inverse of forwardMapping)graph1
- the first graphgraph2
- the second graphpublic V getVertexCorrespondence(V v, boolean forward)
GraphMapping
vertex
getVertexCorrespondence
in interface GraphMapping<V,E>
v
- vertex in one of the graphsforward
- if true, uses mapping from graph1 to graph2; if false, use mapping from graph2
to graph1public E getEdgeCorrespondence(E e, boolean forward)
GraphMapping
edge
getEdgeCorrespondence
in interface GraphMapping<V,E>
e
- edge in one of the graphsforward
- if true, uses mapping from graph1 to graph2; if false, use mapping from graph2
to graph1public Map<V,V> getForwardMapping()
public Map<V,V> getBackwardMapping()
public Set<V> getMappingDomain()
public Set<V> getMappingRange()
public boolean hasVertexCorrespondence(V v)
v
- the vertexpublic boolean hasEdgeCorrespondence(E e)
e
- the edgepublic boolean isValidIsomorphism()
public boolean isEqualMapping(GraphMapping<V,E> rel)
rel
- the corresponding mappingpublic IsomorphicGraphMapping<V,E> compose(IsomorphicGraphMapping<V,E> otherMapping)
otherMapping
- the other isomorphism (i.e. function $g$)public static <V,E> IsomorphicGraphMapping<V,E> identity(Graph<V,E> graph)
V
- the graph vertex typeE
- the graph edge typegraph
- the input graphCopyright © 2019. All rights reserved.