# Copyright (c) 2018  Alexander Marx  [amarx@mpi-inf.mpg.de]
# All rights reserved.  See the file COPYING for license terms. 

# Corresponding Paper
This code is supplementary material for
@InProceedings{marx:19:sci,
	author="Marx, Alexander and Vreeken, Jilles",
	title="Testing Conditional Independence on Discrete Data using Stochastic Complexity",
	booktitle = {Proceedings of the 22th International Conference on Artificial Intelligence and Statistics},
	series = {Proceedings of Machine Learning Research},
	publisher = {PMLR},
	year={2019}
}

## About
This package mainly serves to make the results provided in the corresponding paper reproducible. It contains basic algorithms to mine the parents and children or the Markov blanket of a target node in the 'utils' folder. In addition, this folder contains helper methods needed to run the experiments, that are:
-'applied_tests.R' executes tests based on the alarm network (MB extraction, mining the causal graph with SCI)
-'test_d_separation.R' executes the d-separation test on a four node network (see paper)
-'test_dimensions.R' executes tests that assess the accuracy under large conditioning sets
-'test_gamma.R' executes an evaluation and comparison of the regret terms from different versions of our algorithm and competitors (see paper)

## Installation & execution
To run the tests for SCI please install the SCCI R package from CRAN.
Tests that include the G^2 test or the PC algorithm also require the pcalg R package from CRAN.