Interface DominanceKey<T,K>

Type Parameters:
T - the type representing the problem state
K - the type of the extracted dominance key

public interface DominanceKey<T,K>
Defines a function that extracts a canonical dominance key from a given state.

A DominanceKey serves as a mapping between problem states and a representative key used to group equivalent or comparable states under a dominance relation. This abstraction allows the solver to efficiently detect and manage duplicate or dominated states when exploring a search space or compiling a decision diagram.

The extracted key can represent structural or semantic properties of the state that are relevant to the dominance relation. Two states producing the same key are typically considered to belong to the same equivalence class for dominance checking.

  • Method Summary

    Modifier and Type
    Method
    Description
    value(T state)
    Returns the dominance key associated with the given state.
  • Method Details

    • value

      K value(T state)
      Returns the dominance key associated with the given state.

      Implementations should extract and return a value that uniquely or canonically represents the relevant features of the state for dominance comparison. States that share the same key will be compared using the associated Dominance relation to determine whether one dominates the other.

      Parameters:
      state - the state from which to extract the dominance key
      Returns:
      the canonical key corresponding to the given state