Abstract Syntax Tree for Do-Calculus
The pyCausal package compute every causal query into an Abstract Syntax Tree (CausalFormula) that represents the exact computations to be done in order to answer to the probabilistic causal query.
The different types of node in an CausalFormula are presented below and are organized as a hierarchy of classes from pyAgrum.causal.ASTtree
.
Internal node structure
- class pyAgrum.causal.ASTtree(typ, verbose=False)
Represents a generic node for the CausalFormula. The type of the node will be registered in a string.
- Parameters:
typ (str) – the type of the node (will be specified in concrete children classes.
verbose (bool) – if True, add some messages
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
- class pyAgrum.causal.ASTBinaryOp(typ, op1, op2)
Represents a generic binary node for the CausalFormula. The op1 and op2 are the two operands of the class.
- Parameters:
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
Basic Binary Operations
- class pyAgrum.causal.ASTplus(op1, op2)
Represents the sum of 2
causal.ASTtree
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
- class pyAgrum.causal.ASTminus(op1, op2)
Represents the substraction of 2
causal.ASTtree
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
- class pyAgrum.causal.ASTdiv(op1, op2)
Represents the division of 2
causal.ASTtree
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
- class pyAgrum.causal.ASTmult(op1, op2)
Represents the multiplication of 2
causal.ASTtree
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
Complex operations
- class pyAgrum.causal.ASTsum(var, term)
Represents a sum over a variable of a
causal.ASTtree
.- Parameters:
var (str) – name of the variable on which to sum
term (ASTtree) – the tree to be evaluated
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
- class pyAgrum.causal.ASTjointProba(varNames)
Represent a joint probability in the base observational part of the
causal.CausalModel
- Parameters:
varNames (Set[str]) – a set of variable names
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
- property varNames: Set[str]
- Returns:
the set of names of var
- Return type:
Set[str]
- class pyAgrum.causal.ASTposteriorProba(bn, varset, knw)
Represent a conditional probability \(P_{bn}(vars|knw)\) that can be computed by an inference in a BN.
- Parameters:
bn (pyAgrum.BayesNet) – the
pyAgrum:pyAgrum.BayesNet
varset (Set[str]) – a set of variable names (in the BN) conditioned in the posterior
knw (Set[str]) – a set of variable names (in the BN) conditioning in the posterior
- eval(contextual_bn)
Evaluation of a AST tree from inside a BN
- Parameters:
contextual_bn (pyAgrum.BayesNet) – the observational Bayesian network in which will be done the computations
- Returns:
the resulting Potential
- Return type:
- fastToLatex(nameOccur)
Internal virtual function to create a LaTeX representation of the ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property knw: Set[str]
- Returns:
(Conditioning) knw in \(P_{bn}(vars|knw)\)
- Return type:
Set[str]
- protectToLatex(nameOccur)
Create a protected LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int]) – the number of occurrence for each variable
- Returns:
a protected version of LaTeX representation of the tree
- Return type:
str
- toLatex(nameOccur=None)
Create a LaTeX representation of a ASTtree
- Parameters:
nameOccur (Dict[str,int] default=None) – the number of occurrence for each variable
- Returns:
LaTeX representation of the tree
- Return type:
str
- property type: str
- Returns:
the type of the node
- Return type:
str
- property vars: Set[str]
- Returns:
(Conditioned) vars in \(P_{bn}(vars|knw)\)
- Return type:
Set[str]