Class BossFci

java.lang.Object
edu.cmu.tetrad.search.StarFci
edu.cmu.tetrad.search.BossFci
All Implemented Interfaces:
IGraphSearch

public final class BossFci extends StarFci
Uses BOSS in the *-FCI algorithm.

For BOSS only a score is needed, but *-FCI requires a test, so both are needed.

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

Version:
$Id: $Id
Author:
josephramsey, bryan andrews
See Also:
  • Constructor Details

    • BossFci

      public BossFci(IndependenceTest test, Score score)
      Constructor. The test and score should be for the same data.
      Parameters:
      test - The test to use.
      score - The score to use.
      See Also:
  • Method Details

    • getMarkovCpdag

      public Graph getMarkovCpdag() throws InterruptedException
      Executes the Markov CPDAG search algorithm using the BOSS (Best Order Score Search) method and returns the resulting graph. The algorithm is initialized and configured based on the current state of the BOSS-FCI instance, including scoring, knowledge constraints, and multithreading options.
      Specified by:
      getMarkovCpdag in class StarFci
      Returns:
      The resulting Markov CPDAG (Completed Partially Directed Acyclic Graph) generated by the search algorithm.
      Throws:
      InterruptedException - if the thread executing the search is interrupted.
    • setNumStarts

      public void setNumStarts(int numStarts)
      Returns the number of times to restart the search.
      Parameters:
      numStarts - The number of times to restart the search.
    • setBossUseBes

      public void setBossUseBes(boolean useBes)
      Sets whether the BES should be used.
      Parameters:
      useBes - True if the BES should be used, false otherwise.
    • setNumThreads

      public void setNumThreads(int numThreads)
      Sets the number of threads to use.
      Parameters:
      numThreads - The number of threads to use. Must be at least 1.