Elements of GeNIe Diagrams: Canonical nodes
From DSL
Introduction
Canonical probabilistic nodes, such as Noisy-MAX/OR, Noisy-MIN/AND nodes, implemented by GeNIe, are convenient knowledge engineering tools widely used in practical applications. In case of a general Chance binary node with n binary parents, the user has to specify 2n parameters, a number that is exponential to the number of parents. This number can quickly become prohibitive. Noisy-MAX nodes allow for specifying this interaction with only n+1 parameters, one for each parent plus one more number.
This section gives a brief introduction to Noisy-OR and Noisy-AND gates and assumes a basic knowledge of the principles applied in these gates. They were introduced for binary variables by Pearl (1988) and extended to binary leaky Noisy-OR gates by Henrion (1989). Generalizations to multi-valued Noisy-OR gates were proposed independently by Diez (1993) and Srinivas (1993). GeNIe and SMILE implementation allows using both parameterizations – proposed by Diez and Henrion.
Both Noisy-OR and Noisy-AND types of nodes can be modeled using Noisy-MAX nodes implemented in GeNIe. At the moment, GeNIe does not take any computational advantage from Noisy-OR or Noisy-AND nodes in its reasoning algorithms and uses them purely as a useful knowledge engineering tool.
The Noisy-MAX node provides implementation of a popular canonical gate Noisy-OR. Actually, Noisy-MAX is a generalization of Noisy-OR capable of modeling multiple states. If the node is binary, the Noisy-MAX node will be reduced to a Noisy-OR node. The Noisy-MAX implemented in GeNIe includes an equivalent of negation. With this it is capable of expressing relationships modeled by Noisy-AND/MIN as well as other logical relationships.
Please note, that the Noisy-MAX gate was completely reimplemented relative to GeNIe 1.0. Backward compatibility is preserved and all models that contain old definitions of Noisy-OR or Noisy-AND nodes are translated correctly into Noisy-MAX. Noisy-MAX implementation with its "causal strengths" mechanism was designed to overcome significant limitations of previous implementation.
In literature one can find two different (but mathematically equivalent) parameterizations of Noisy-OR/MAX. They are often referred by names of the researchers who proposed them, Henrion and Diez. The two parameterizations are in forms P(Y|Xi) and P(Y|~X1,...,Xi,...,~Xn,XL). The first one is used in DSL_NoisyMAX as a "net" representation, while at the interface level, room is made for entering and viewing parameters in the second (Henrion) form. Please note, that "net" parameterizations has changed compared to GeNIe 1.0.
The Noisy-MAX parameters are stored in a two-dimensional table. The first dimension runs through parents' states, and the second dimension runs through the states of Noisy-MAX node. The order of the outcomes in the matrix is assumed to be descending, with the "designated" state for Noisy-MAX/OR always at the end.
The Noisy-MAX parameters are stored in a following way: starting from the first parent of Noisy-MAX, each parent node has assigned number of elements in dimension equal to its number of outcomes.
By default GeNIe hides columns that correspond to designated 'parent' states. You can view them by pressing [ ] button. In that case, the regions marked as gray, denote constraints on Noisy-MAX parameterizations - the last state of each parent is assumed to have distribution {0.0, 0.0, ..., 0.0,1.0}. Implementation of Noisy-MAX in SMILE allows the user to define the order of parents states by assigning them strengths. The details regarding assignments of the strengths are includes in further part of the documentation for Noisy-MAX.
Noisy-MAX in GeNIe introduces the concept of outcome strengths. . The user has the possibility of control, in what is parent's outcomes order in causal relation. For each parent's outcome there's assigned outcome strength, which defines ordering relation of outcomes. Noisy-MAX table always follows the order of strengths - this means, that the first column for each parent is assigned to the outcome of the greatest strength, the second column to the outcome of the second strength end so on. The distinguished state is always assigned to the last column, which is by default hidden.
How to use Noisy-MAX nodes
To create a Noisy MAX node, first create a general Chance node. [See Building a Bayesian Networks tutorial to learn how to create nodes]. Right click on the node, and choose Change Type, from the menu. From the Change Type dialog box, choose ‘Chance - Noisy’ and click OK. Change Type section in Node Menu for more information.
Let us consider the following Bayesian network modeling the interaction of LiverCancer and HepatitisB in producing Jaundice:
It can be reasonably assumed that each of the two causes of Jaundice works independently of the other cause. Both LiverCancer and HepatitisB are able to cause Jaundice in separation and they do not interfere in each other's ability to cause Jaundice. Jaundice can also occur even if neither of the two is active.
The definition tab of a Noisy-MAX node is similar to that of the definition of a conditional probability table.
The probability numbers in the table are specified for each state of every parent (LiverCancer and HepatitisB), except for the states that do not have influence on the Noisy-OR node Jaundice (such as the state NoCancer in LiverCancer or state Absent in HepatitisB ), of the Noisy-OR node Jaundice. These numbers denote causal strengths, i.e., the probabilities that the cause (parent) in question will cause the effect when working alone.
Each probability is defined for the Noisy-OR node in the specified state (indicated by the line where the probability number appears) given that the specified parent node is in a certain state (indicated by the column where it appears) and all other parent nodes, except for a dummy parent LEAK, are in their "designated" states. It is important that the outcomes of the child node (Jaundice) are ordered from the highest to the lowest. The outcomes of the parent nodes are recommended to also be ordered from the highest to the lowest (in term of causal influence on the child node), i.e., from the one that influences the child most to the one that influences it least.
Net Parameters [
]: When the Noisy-MAX Node Properties window is opened (as shown above), this option will be selected by default. This option display the net probability values of the Noisy MAX node given the cause Xi is present and other explicit causes are absent.
Compound Parameters [
]: This option displays the probability values of the Noisy MAX node given the cause Xi is present along with other implicit causes.
Conditional Probability Table [
]: This option displays the conditional probability table.
[
]: displays constrained columns
One can also change order of parent’s outcomes by dragging-and-dropping columns.
The above table also encodes the belief that if the outcome of the node Liver Cancer is going to be Cancer (i.e., cancer is present) and the outcome of all the other parents of the node Jaundice is going to be the lowest (i.e., in our example, the outcome of Hepatitis B is going to be Absent), then the probability that Jaundice will be Severe is 0.3. The LEAK is a default cause that is always acting, even if all explicitly modeled causes of the child node are inactive. When neither Liver Cancer nor Hepatitis B are present, there is still 0.01 chance for Severe jaundice (because of all possible unmodeled causes of Jaundice).
The advantages of Noisy-MAX nodes become apparent when the number of parents of a node becomes large. Then the savings in terms of the number of probability elicitations may be dramatic. To learn more about the Noisy-OR gates and their practical value, please refer to an excellent paper by Henrion (1989).
How to model Noisy-AND nodes
To create a Noisy-AND node, create a normal Chance node. [See Building a Bayesian Networks tutorial to learn how to create nodes].
Right click on the node, and choose Change Type, from the menu. From the Change Type submenu, choose Chance – Noisy. See Change Type section in Node Menu for more information.
Noisy-AND nodes work in a similar way to Noisy-OR nodes, but their parameters correspond to the probability of the effect being still active even if the cause in question is inactive, given that all other causes are active. Each parameter is defined as the probability that the Noisy-AND node is in the "designated" state given that the specified parent node is in a certain inactive state but all other parent nodes, causes of the effect, are in ‘designated’ state, which usually corresponds to Active or Present.
Noisy-MAX implementation of Noisy nodes in GeNIe results in no need for separate implementation of Noisy-AND/MIN nodes. This is for the fact, that Noisy-AND node can be modeled by Noisy-OR node on the basis of DeMorgan’s law. Hence having Noisy-OR model and ability to negate inputs and output, one can implement Noisy-AND gate. Negation corresponds to reversing order of outcomes (or causal strengths), what can be easily done in GeNIe.
Consider a simple model of accidents shown below:
Here, both equipment failure and an error on the part of its human operator are necessary for an accident to happen. Assume that with probability 0.8 the accident will take place if Equipment Failure does not happen but Human Error does. Similarly, assume that with probability 0.7 the accident will take place if Human Error does not happen but Equipment Failure does.
Please note, that if your models saved in GeNIe 1.0 (which had separate implementation of Noisy-OR and Noisy-AND), which contain Noisy-AND nodes, new GeNIe will be able to read them and convert correctly to Noisy-MAX nodes.




