Class UllmanExactState

All Implemented Interfaces:
State

public class UllmanExactState extends AbstractUllmanState
Class for the Ullman algorithm for exact graph isomorphism. Two vertices are compatible if they have the same degree and same labels.
Author:
Ignat Gabriel-Andrei
  • Constructor Details

  • Method Details

    • exactOrSubgraphIsomorphismCompatibilityCheck

      public boolean exactOrSubgraphIsomorphismCompatibilityCheck(int vertexIndex1, int vertexIndex2)
      For exact isomorphism, two vertices are compatible if they have the same degree.
      Specified by:
      exactOrSubgraphIsomorphismCompatibilityCheck in class AbstractUllmanState
      Parameters:
      vertexIndex1 - the index of the vertex in the first graph (in the list of vertices ordered by degree)
      vertexIndex2 - the index of the vertex in the second graph (in the list of vertices ordered by degree)
      Returns:
      true if the vertices are compatible, false otherwise
    • isGoal

      public boolean isGoal()
      For exact isomorphism, a mapping is complete when all vertices from both graphs are mapped.
      Specified by:
      isGoal in interface State
      Specified by:
      isGoal in class AbstractUllmanState
    • isDead

      public boolean isDead()
      A partial mapping is "dead" if there is a vertex from the first graph that has no compatible vertex in the second graph.
      Specified by:
      isDead in interface State
      Specified by:
      isDead in class AbstractUllmanState