Ancestral Causal Inference (ACI)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
INSTALL Adding more files. Oct 26, 2016

Ancestral Causal Inference (ACI):

Ancestral Causal Inference (ACI) is a logic-based causal discovered algorithm for causal systems with latent confounders and no feedback. You can find a short introduction here .

ACI is described in more detail in the NIPS 2016 publication:

  author =    {Sara Magliacane and Tom Claassen and Joris M. Mooij},
  title =     {Ancestral Causal Inference},
  Booktitle = {{A}dvances in {N}eural {I}nformation {P}rocessing {S}ystems 27 ({NIPS}-16)},
  Pages = {4466--4474},
  year =      {2016},

Also available at:

ACI uses the Answer Set Programming solver clingo 4, also available at

Practical information

Installation instructions can be found in the INSTALL file.

The repository is organized as follows:

  • The ASP folder contains various Answer Set Programming encodings of causal discovery algorithms.
  • The R folder contains most of the code (surprisingly, in R).
  • The experiments folder contains various Matlab code that we used to plot the evaluation graphs, or run the experiments on the Sachs2005 dataset.


The code of ACI builds heavily on the code from the following publication:

Antti Hyttinen, Frederick Eberhardt, Matti Järvisalo: "Constraint-Based Causal Discovery: Conflict Resolution with Answer Set Programming", UAI 2014.

In the NIPS 2016 paper we refer to this implementation as HEJ (from the surnames of the authors). The original code of HEJ is available at: