At the core of a CIfly algorithm lies its ruletable. Here, we present an overview the ruletables that we use in our application examples. For personal use, just copy the ruletable into your project and modify it to your needs.
-
Ancestors
EDGES --> <--, <-> SETS X START <-- AT X OUTPUT ... ... | <-- | true
-
Backdoor-connected
EDGES --> <--, --- SETS X, C, W START <-- AT X OUTPUT ... --> | <-- | current in W --- | --- | current not in W ... | --> | current not in W and (current not in X or next not in C) <-- | ... | current not in W
-
Closure
EDGES --> <--, <-> SETS X, Z, A START <-- AT X OUTPUT ... -->, <-> | <--, <-> | next in A ... | ... | next in A and current not in Z
Graph type:ADMGApplications:References: -
d-connected
EDGES --> <--, <-> SETS X, Z START <-- AT X OUTPUT ... -->, <-> | <--, <-> | current in Z ... | ... | current not in Z
-
Descendants
EDGES --> <--, <-> SETS X START --> AT X OUTPUT ... ... | --> | true
-
Forbidden-path connected
EDGES --> <--, --- SETS X, W COLORS pass, yield START --> [pass] AT X OUTPUT ... [yield] ... [pass] | ---, --> [pass] | next not in X and next not in W ... [pass] | ---, --> [yield] | next not in X and next in W ... [yield] | ---, --> [yield] | next not in X
-
Non-causal connected
EDGES --> <--, --- SETS X, W COLORS init, poss-causal, non-causal START ... [init] AT X OUTPUT ... [non-causal] ... [init] | ---, --> [poss-causal] | next not in X ... [init] | <-- [non-causal] | next not in X --> [...] | <-- [non-causal] | next not in X and current in W --- [poss-causal] | --- [poss-causal] | next not in X and current not in W ... [poss-causal] | --> [poss-causal] | next not in X and current not in W --- [non-causal] | --- [non-causal] | next not in X and current not in W <-- [non-causal] | ... [non-causal] | next not in X and current not in W ... [non-causal] | --> [non-causal] | next not in X and current not in W
-
Not-amenable
EDGES --> <--, --- SETS X COLORS init, yield START ... [init] AT X OUTPUT ... [yield] ... [init] | --- [yield] | next not in X ... [yield] | ---, --> [yield] | next not in X
Graph type:CPDAGApplications:References: -
Optimal IV
EDGES --> <--, <-> SETS S, D, F COLORS pass, yield START <-- [pass] AT S OUTPUT ... [yield] ... | --> | false <-- [pass] | <-- [pass] | next in D and next not in F <-- [pass] | <--, <-> [yield] | next not in D and next not in F <-> [yield] | <--, <-> [yield] | next not in D and next not in F
-
Possible ancestors
EDGES --> <--, --- SETS X, W START <-- AT X OUTPUT ... ... | <-- | next not in W ... | --- | next not in W
-
Possible descendants
EDGES --> <--, --- SETS X, W START --> AT X OUTPUT ... ... | --> | next not in W ... | --- | next not in W