Interface SuborderSearch

All Known Implementing Classes:
Boss, Sp

public interface SuborderSearch
An interface for suborder searches for various types of permutation algorithms. A "suborder search" is a search for permutation <x1a,...x1n, x2a,...,x2m, x3a,...,x3l>> that searches for a good permutation of x2a,...,x2m with x1a,...,x1n as a prefix. This is used by PermutationSearch to form a complete permutation search algorithm, where PermutationSearch handles an optimization for tiered knowledge where each tier can be searched separately in order. (See the documentation for that class.)

This class is configured to respect knowledge of forbidden and required edges, including knowledge of temporal tiers.

Author:
bryanandrews
See Also:
  • Method Details

    • searchSuborder

      void searchSuborder(List<Node> prefix, List<Node> suborder, Map<Node,GrowShrinkTree> gsts)
      Searches the suborder.
      Parameters:
      prefix - The prefix of the suborder.
      suborder - The suborder.
      gsts - The GrowShrinkTree being used to do caching of scores.
      See Also:
    • setKnowledge

      void setKnowledge(Knowledge knowledge)
      The knowledge being used.
      Parameters:
      knowledge - This knowledge.
      See Also:
    • getVariables

      List<Node> getVariables()
      The list of all variables, in order. They should satisfy the suborder requirements.
      Returns:
      This list.
      See Also:
    • getParents

      Map<Node,Set<Node>> getParents()
      The map from nodes to parents resulting from the search.
      Returns:
      This map.
    • getScore

      Score getScore()
      The score being used.
      Returns:
      This score.
      See Also: