I'm tried to better handle your learning classes, so I wrote a program which can be basically summarized as:
- open a network
- generate a Dataset from the network
- copy the original network in new one, also perturbing the CPT
- run the EM algorithm on the copied/perturbed net.
What I got wrong?