java.lang.Object
edu.cmu.tetrad.algcomparison.algorithm.AbstractBootstrapAlgorithm
edu.cmu.tetrad.algcomparison.algorithm.oracle.cpdag.Cam
All Implemented Interfaces:
Algorithm, LatentStructureAlgorithm, ReturnsBootstrapGraphs, HasKnowledge, HasParameters, TetradSerializable, Serializable

Represents the CAM algorithm, which is a causal additive model search algorithm. This class extends AbstractBootstrapAlgorithm and implements Algorithm, HasKnowledge, ReturnsBootstrapGraphs, and LatentStructureAlgorithm interfaces. It provides functionality for searching for optimal directed acyclic graph (DAG) structures that best fit the data.
See Also:
  • Constructor Details

    • Cam

      public Cam()
      Constructor for the Cam class. Initializes a new instance of the Cam algorithm. This algorithm forms part of the latent structure modeling tools and supports bootstrapping and other algorithmic features. The constructor prepares the Cam instance for searching graphical causal structures based on input data and modeling parameters.
  • Method Details

    • getComparisonGraph

      public Graph getComparisonGraph(Graph graph)
      Constructs and returns a comparison graph in the form of a completed partially directed acyclic graph (CPDAG). This method transforms an input graph into a directed acyclic graph (DAG) and subsequently converts it to a CPDAG representation.
      Specified by:
      getComparisonGraph in interface Algorithm
      Parameters:
      graph - the input graph to be transformed into a CPDAG; must be a valid representation of a graph.
      Returns:
      the transformed graph in CPDAG form.
    • getDescription

      public String getDescription()
      Provides a description of the CAM algorithm's functionality in this implementation.
      Specified by:
      getDescription in interface Algorithm
      Returns:
      a string summarizing the CAM algorithm, including its order via IncEdge with PNS and pruning via local additive BIC with a swappable scorer.
    • getDataType

      public DataType getDataType()
      Retrieves the data type associated with the implementation.
      Specified by:
      getDataType in interface Algorithm
      Returns:
      the data type of the dataset, which in this implementation is always DataType.Continuous.
    • getParameters

      public List<String> getParameters()
      Retrieves a list of parameter names used in the configuration and execution of the CAM algorithm. These parameters are integral to the setting and tuning of the algorithm for specific use cases or datasets.
      Specified by:
      getParameters in interface HasParameters
      Returns:
      a list of parameter names as strings, representing the configurable options and settings available for the CAM algorithm.
    • getKnowledge

      public Knowledge getKnowledge()
      Description copied from interface: HasKnowledge
      Returns a knowledge object.
      Specified by:
      getKnowledge in interface HasKnowledge
      Returns:
      a knowledge object.
    • setKnowledge

      public void setKnowledge(Knowledge knowledge)
      Description copied from interface: HasKnowledge
      Sets a knowledge object.
      Specified by:
      setKnowledge in interface HasKnowledge
      Parameters:
      knowledge - a knowledge object.