Class Knowledge

java.lang.Object
edu.cmu.tetrad.data.Knowledge
All Implemented Interfaces:
TetradSerializable, Serializable

public final class Knowledge extends Object implements TetradSerializable
Stores information about required and forbidden edges and common causes for use in algorithm. This information can be set edge by edge or else globally via temporal tiers. When setting temporal tiers, all edges from later tiers to earlier tiers are forbidden.

For this class, all variable names are referenced by name only. This is because the same Knowledge object is intended to plug into different graphs with MyNodes that possibly have the same names. Thus, if the Knowledge object forbids the edge X --> Y, then it forbids any edge which connects a MyNode named "X" to a MyNode named "Y", even if the underlying MyNodes themselves named "X" and "Y", respectively, are not the same.

In place of variable names, wildcard expressions containing the wildcard '*' may be substituted. These will be matched to as many myNodes as possible. The '*' wildcard matches any string of consecutive characters up until the following character is encountered. Thus, "X*a" will match "X123a" and "X45a".

Version:
$Id: $Id
Author:
josephramsey, Kevin V. Bui (kvb2@pitt.edu)
See Also: