Implement the IC algorithm using your d-separation oracle. That is, your IC learning algorithm should take as
Question:
Implement the IC algorithm using your d-separation oracle. That is, your IC learning algorithm should take as input a list of variables and then, using the oracle supplied with some Bayesian network, discover as much of the Bayesian network structure as possible. It should output the network structure in some convenient ascii format (not a graph layout, unless you happen to find that easy!). For example, you can generate an alphabetical list of nodes, with their adjacencies listed and the arc types indicated
(parent, child or undirected).
Note that this algorithm is exponential in the number of variables. You will have to deal with this in some way to complete the assignment. You may want to implement some kind of heuristic for which subsets Z are worth looking at relative to a given pair X and Y. Or, you might simply implement a cutoff to prevent your program from examining any more than k subsets, looking at lower order subsets first.
Whatever you decide to do, document it.
Run your algorithm on a set of test networks, including at least the IC Learning example, LearningEg.dne, Cancer Neapolitan.dne, and ALARM.dne. Summarize the results of these experiments.
Step by Step Answer:
Bayesian Artificial Intelligence
ISBN: 9781439815915
2nd Edition
Authors: Kevin B. Korb, Ann E. Nicholson