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
Section titled “Internal node structure”class pyagrum.causal.ASTtree(typ, verbose=False)
Section titled “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
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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)
Section titled “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)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
class pyagrum.causal.ASTBinaryOp(typ, op1, op2)
Section titled “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:
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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 op1 : ASTtree
Section titled “property op1 : ASTtree”- Returns: the left operand
- Return type: ASTtree
property op2 : ASTtree
Section titled “property op2 : ASTtree”- Returns: the right operand
- Return type: ASTtree
protectToLatex(nameOccur)
Section titled “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)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
Basic Binary Operations
Section titled “Basic Binary Operations”class pyagrum.causal.ASTplus(op1, op2)
Section titled “class pyagrum.causal.ASTplus(op1, op2)”Represents the sum of 2 causal.ASTtree
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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 op1 : ASTtree
Section titled “property op1 : ASTtree”- Returns: the left operand
- Return type: ASTtree
property op2 : ASTtree
Section titled “property op2 : ASTtree”- Returns: the right operand
- Return type: ASTtree
protectToLatex(nameOccur)
Section titled “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)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
class pyagrum.causal.ASTminus(op1, op2)
Section titled “class pyagrum.causal.ASTminus(op1, op2)”Represents the substraction of 2 causal.ASTtree
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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 op1 : ASTtree
Section titled “property op1 : ASTtree”- Returns: the left operand
- Return type: ASTtree
property op2 : ASTtree
Section titled “property op2 : ASTtree”- Returns: the right operand
- Return type: ASTtree
protectToLatex(nameOccur)
Section titled “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)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
class pyagrum.causal.ASTdiv(op1, op2)
Section titled “class pyagrum.causal.ASTdiv(op1, op2)”Represents the division of 2 causal.ASTtree
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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 op1 : ASTtree
Section titled “property op1 : ASTtree”- Returns: the left operand
- Return type: ASTtree
property op2 : ASTtree
Section titled “property op2 : ASTtree”- Returns: the right operand
- Return type: ASTtree
protectToLatex(nameOccur)
Section titled “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)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
class pyagrum.causal.ASTmult(op1, op2)
Section titled “class pyagrum.causal.ASTmult(op1, op2)”Represents the multiplication of 2 causal.ASTtree
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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 op1 : ASTtree
Section titled “property op1 : ASTtree”- Returns: the left operand
- Return type: ASTtree
property op2 : ASTtree
Section titled “property op2 : ASTtree”- Returns: the right operand
- Return type: ASTtree
protectToLatex(nameOccur)
Section titled “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)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
Complex operations
Section titled “Complex operations”class pyagrum.causal.ASTsum(var, term)
Section titled “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
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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)
Section titled “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
property term : ASTtree
Section titled “property term : ASTtree”- Returns: the term to sum
- Return type: ASTtree
toLatex(nameOccur=None)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
class pyagrum.causal.ASTjointProba(varNames)
Section titled “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
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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)
Section titled “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)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
property varNames : Set[str]
Section titled “property varNames : Set[str]”- Returns: the set of names of var
- Return type: Set[str]
class pyagrum.causal.ASTposteriorProba(bn, varset, knw)
Section titled “class pyagrum.causal.ASTposteriorProba(bn, varset, knw)”Represent a conditional probability 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
- bn (pyagrum.BayesNet) – the
property bn : BayesNet
Section titled “property bn : BayesNet”- Returns: the observationnal BayesNet in
- Return type: pyagrum.BayesNet
copy()
Section titled “copy()”Copy an CausalFormula tree
- Returns: the new causal tree
- Return type: ASTtree
eval(contextual_bn)
Section titled “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 Tensor
- Return type: pyagrum.Tensor
fastToLatex(nameOccur)
Section titled “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]
Section titled “property knw : Set[str]”- Returns: (Conditioning) knw in
- Return type: Set[str]
protectToLatex(nameOccur)
Section titled “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)
Section titled “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
Section titled “property type : str”- Returns: the type of the node
- Return type: str
property vars : Set[str]
Section titled “property vars : Set[str]”- Returns: (Conditioned) vars in
- Return type: Set[str]