Class UllmanSubState

All Implemented Interfaces:
State

public class UllmanSubState extends AbstractUllmanState
Class for the Ullman algorithm for exact graph isomorphism. Two vertices are compatible if the degree in the first graph is less than or equal to the degree in the second graph.
Author:
Ignat Gabriel-Andrei
  • Constructor Details

  • Method Details

    • exactOrSubgraphIsomorphismCompatibilityCheck

      public boolean exactOrSubgraphIsomorphismCompatibilityCheck(int vertexIndex1, int vertexIndex2)
      For exact isomorphism, two vertices are compatible if the degree in the first graph is less than or equal to the degree in the second graph.
      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 subgraph isomorphism, a mapping is complete when all vertices from the first graph are mapped.
      Specified by:
      isGoal in interface State
      Specified by:
      isGoal in class AbstractUllmanState
      Returns:
      true if the current state is complete.
    • 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
      Returns:
      true if the current state is dead.