See Stanford's CS228 Course Notes for an explanation of the concept of D-separation as a way of inferring conditional independence relationships between variables based on the structure of a Bayesian network. See this tutorial for an overview of how to use the D-Separation simulation


Bayesian Network

Add node

Enter the name of a single, new node to be added to the Bayesian Network. Note that you cannot add the name of a node that already exists in the Bayesian Network.

Remove node

Enter the name of a node currently in the Bayesian Network to be removed. Note that if any edges are adjacent to the given node, they too will be removed.

Add edge

Enter the names of two nodes currently in the Bayesian Network, and a directed edge will be added from the first to the second. Note that cycles are not allowed in Bayesian Networks, so edge additions that create cycles will be rejected.

Remove edge

Enter the names of two nodes currently in the Bayesian Network, and the directed edge between them will be removed from the Bayesian Network.

Test D-Separation

Check if X _|_ Y | Z. Note that X and Y should be single variables and Z should be entered as a comma separated list (e.g. a, b, c if "a", "b" and "c" are the desired nodes to be included in the set. Of the 3, only Z may be empty.