Search Algorithms β By Typeο
This page lists all algorithms whose wrappers implement
edu.cmu.tetrad.algcomparison.algorithm.Algorithm in Tetrad 7.6.9.
Descriptions are based on the corresponding classes in
edu.cmu.tetrad.search.
This catalog provides a comprehensive overview of all structure-learning algorithms available in Tetrad, with links to full per-algorithm documentation.
If you are new to Tetrad or want a curated subset of recommended methods, start with
π Search Algorithms β Short List
Note: Many per-algorithm pages are still being added as part of an ongoing documentation update.
Legend β Algorithm Categoriesο
Badge |
Category |
Description |
|---|---|---|
π |
Constraint-based |
Uses conditional independence (CI) tests |
π |
Score-based |
Optimizes a score such as BIC, BDeu, GIC |
π |
Hybrid |
Combines score-based and CI-test stages |
Extra Structural Badgesο
Badge |
Meaning |
Description |
|---|---|---|
π§© |
Latent-capable |
Can output PAGs; handles latent confounding and selection bias |
π |
Time-series / lagged |
Supports lagged variables (PCMCI, time-lag FGES/PC) |
π¨ |
Non-Gaussian / ICA |
Uses ICA, skewness, or higher-order moments |
π§ |
Multi-dataset |
For multi-sample or cross-subject analyses |
π¦ |
Resampling / stability |
Ensemble, bootstrap, or stability methods |
π§ͺ |
Experimental |
Research / nonstandard algorithms |
π§ |
Orientation-only |
Orient edges from a fixed skeleton |
π Constraint-Based Algorithms (CPDAG / PAG)ο
Use conditional independence tests to prune adjacencies and orient edges.
Algorithm |
Description |
|---|---|
Pc β PC π |
Classic constraint-based CPDAG search (CI-testβdriven). |
Pc-Max β PC-Max π |
PC variant maximizing p-value for collider orientation. |
CPC β CPC π |
Conservative collider rule reducing false orientations. |
Pcd β PCD β»οΈ |
PC variant robust to deterministic relations. |
PcMb PC-MB π |
Local Markov blanket discovery via PC-style logic. |
Fas β FAS π |
Fast Adjacency Search (the adjacency phase of PC). |
Fci β FCI ππ§© |
Full PAG search with latent confounding & selection bias. |
Rfci β RFCI ππ§© |
Fast approximation to FCI (reduced complexity). |
FciIod β FCI-IOD ππ§©π§ |
FCI variant for multi-dataset / partially overlapping variable sets. |
Pcmci β PCMCI ππ |
CI-based causal discovery for time-series data. |
Ccd β CCD π |
Cyclic Causal Discovery (allows feedback loops). |
π Score-Based Algorithms (CPDAG)ο
Optimize a score (BIC, GIC, BDeu, IS-BIC, etc.) over DAGs or equivalence classes.
Algorithm |
Description |
|---|---|
Fges β FGES π |
Fast greedy equivalence search; highly scalable. |
FgesMb β FGES-MB π |
FGES variant specialized for Markov blankets. |
Boss β BOSS π |
Best Order Score Search over variable orderings. |
RestrictedBoss β Restricted BOSS π |
BOSS with parent/tier restrictions for speed. |
Grasp β GRaSP π |
Greedy Relaxations of Sparsest Permutation. |
LV-Heuristic β LV-Heuristic πͺΆ |
Heuristic PAG from BOSS DAG; lightweight alternative to FCI/FCIT. |
Sp β SP π |
Sparsest Permutation; exact but only for very small models. |
Images π§©π§ π β IMaGES |
Multi-sample FGES with cross-sample consistency. |
IMaGESBoss π§©π§ π β IMaGES |
Multi-sample BOSS with cross-sample consistency. |
π Hybrid Algorithms (Score + FCI)ο
Start with a CPDAG from a score-based method, then apply FCI-style pruning/orientation to obtain a PAG.
Algorithm |
Description |
|---|---|
Gfci β GFCI ππ§© |
FGES β FCI refinement yielding a PAG. |
GraspFci β GRaSP-FCI ππ§© |
GRaSP β FCI refinement. |
BossFci β BOSS-FCI ππ§© |
BOSS β FCI refinement. |
SpFci β SP-FCI ππ§© |
Sparsest Permutation β FCI refinement. |
Fcit β FCIT ππ§© |
Score-guided selective testing; efficient, legal-PAG output. |
π¨ Non-Gaussian, Moment-Based, and Orientation Algorithmsο
Use ICA, skewness, or higher-order moments to orient edges or to supplement a skeleton.
Algorithm |
Description |
|---|---|
DirectLingam β Direct LiNGAM π¨ |
Direct LiNGAM for linear non-Gaussian models. |
IcaLingam β ICA LiNGAM π¨ |
ICA-based LiNGAM (classic). |
IcaLingD β ICA LiNG-D π¨ |
Cyclic LiNGAM (Lacerda et al.). |
Fask β FASK π¨ |
FAS skeleton + skewness-based orientation. |
FaskVote β FASK-Vote π¨π¦ |
Voting ensemble of FASK. |
Pairwise β Pairwise π¨ |
Pairwise-skewness orientation. |
Nonlinear & Distribution-Shift Algorithmsο
Handle nonlinear functions, distribution shifts, or cyclic behavior.
Algorithm |
Description |
|---|---|
Cam β CAM |
Causal Additive Model (nonlinear additive noise SEMs). |
Dagma β DAGMA π |
Continuous DAG optimization with smooth acyclicity constraint. |
Cdnod β CD-NOD |
Causal discovery under distributional changes. |
π¦ Stability / Resampling / Ensemble Wrappersο
Run algorithms repeatedly under resampling or varying penalties.
Algorithm |
Description |
|---|---|
StabilitySelection β Stability Selection π¦ |
Stability selection for edges across resampling. |
StARS β StARS π¦ |
Stability Approach to Regularization Selection. |
PagSamplingRfci β PAG Sampling RFCI ππ§©π¦ |
RFCI on resampled/generated PAGs. |
RfciBsc β RFCI-BSC ππ§©π¦ |
RFCI with bootstrap/stability selection. |
π§ͺ Specialized / Utility Algorithmsο
Special-purpose, experimental, or workflow-specific methods.
Algorithm |
Description |
|---|---|
DM DM π§ͺ |
DetectβMimic (intermediate-latent preprocessing). |
Cstar CStaR π§ͺ |
Bounds on causal effects via edge-orientation patterns. |
SingleGraphAlg Single Graph Alg π§ͺ |
Wrapper for running Tetrad on a fixed imported graph. |
Latent Clustering (Measurement Block Discovery)ο
These algorithms discover measurement clustersβgroups of indicators that behave as if they share a single latent parent.
See Latent Clusters for details.
Algorithm |
Description |
|---|---|
TSC |
Trek Separation Clusters using rank constraints. |
FOFC |
First-Order Factor Clustering via pure tetrads. |
FTFC |
Fast Tetrad-Factor Clustering using sextads. |
GFFC |
Generalized Factor Finding Clustering (2Γ2 β 3Γ3 β β¦). |
BPC |
Build Pure Clusters (global purification & merging). |
Once clusters are obtained, they can be treated as measurement blocks. These blocks may be supplied to algorithms that support:
Blocks-Test-TS β a trek-separation conditional independence test over blocks;
Blocks-BIC β a block-aware score.
In this mode, any algorithm that accepts a test and/or a score (PC, FGES, BOSS, GFCI, etc.) can be run on the latent layer: each cluster becomes a latent node, and Blocks-Test-TS / Blocks-BIC handle independence and scoring among the latent variables.
Latent Structure / Measurement-Model Constructionο
Building on cluster discovery and block-based search, these algorithms explicitly construct latent variables or full measurement models before running structural search on the latent layer.
Algorithm |
Description |
|---|---|
Factor Analysis π§© |
Classical SEM-style factor analysis (measurement model). |
Mimbuild Bollen π§© |
MIM builder using Bollen-style BlockSpec constraints. |
Mimbuild PCA π§© |
PCA-based measurement model from pure clusters. |