What is the difference between causal models and directed graphical models?
or:
What is the difference between causal relationships and directed probabilistic relationships?
or, even better:
What would you put in the interface of a DirectedProbabilisticModel class, and what in a CausalModel class? Would one inherit from the other?
Collaborative solution:
interface DirectedModel {
map<Node, double> InferredProbabilities(map<Node, double> observed_probabilities,
set<Node> nodes_of_interest)
}
interface CausalModel: DirectedModel {
bool NodesDependent(set<Node> nodes, map<Node, double> context)
map<Node, double> InferredProbabilities(map<Node, double> observed_probabilities,
map<Node, double> externally_forced_probabilities,
set<Node> nodes_of_interest)
}