Interface Refinable


  • public interface Refinable
    Implementors are graph-like objects that are refinable by the equitable and discrete partition refiners.
    Author:
    maclean
    Belongs to CDK module:
    group
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int getConnectivity​(int vertexI, int vertexJ)
      Get the connectivity between two vertices as an integer, to allow for multigraphs : so a single edge is 1, a double edge 2, etc.
      Partition getInitialPartition()
      Get an initial partition of the vertices of the refinable - for example, by color.
      int getVertexCount()
      Get the number of vertices in the graph to be refined.
      Invariant neighboursInBlock​(Set<Integer> block, int vertexIndex)
      Given a block (or cell) of a partition, determine the invariant that represents the intersection between the block and the neighbours of vertexIndex supplied.
    • Method Detail

      • neighboursInBlock

        Invariant neighboursInBlock​(Set<Integer> block,
                                    int vertexIndex)
        Given a block (or cell) of a partition, determine the invariant that represents the intersection between the block and the neighbours of vertexIndex supplied.
        Parameters:
        block - a cell of the partition under refinement
        vertexIndex - the element to compare
        Returns:
        the size of the intersection between the neighbours and the block
      • getVertexCount

        int getVertexCount()
        Get the number of vertices in the graph to be refined.
        Returns:
        a count of the vertices in the underlying graph
      • getConnectivity

        int getConnectivity​(int vertexI,
                            int vertexJ)
        Get the connectivity between two vertices as an integer, to allow for multigraphs : so a single edge is 1, a double edge 2, etc. If there is no edge, then 0 should be returned.
        Parameters:
        vertexI - a vertex of the graph
        vertexJ - a vertex of the graph
        Returns:
        the multiplicity of the edge (0, 1, 2, 3, ...)
      • getInitialPartition

        Partition getInitialPartition()
        Get an initial partition of the vertices of the refinable - for example, by color.
        Returns:
        a partition of the vertices