honestly i don't understand perfectly your question (and i cannot comment thats why i answer). However there is two main things to do when learning a bayesian network. 1. Learning structure of the bayesian network, and for that there is two main ways: a. By computing an indépendant test between all the variables (with different depth, see Pearl and Company for that) b. By score, you compute the likelihood for example. Then you add or delete or reverse an arc then you compute the likelihood. If the change improve the likelihood then you are happy, if not you forget the change. You loop till no improvement. For the score you can choose many ways (mainly for the penalization). 2. Learning the parameters when the structure is known. In this case you just need to compute the frequencies (because you have multinomial, i assume you have a common bayesian network, and with multinomial the linked distribution in bayesian setting is dirichlet. The maximum a posteriori method show that frequency method and bayesian are then very close). So i don"t see why you would compute maximum likelihood estimation to get the parameters knowing the structure (which whatever would give you the fact you need to compute the frequencies... I guess you are just looking to a proof of the formulas.) If i am not clear (reading myself again i feel its not perfect :D), i can try to add some mathematical notation to make it easier.