Hi Roger and others who might be reading this,
Thanks for the timely reply. Your first suggestion was a great point that I forgot to wrote in my pseudocode  that's the code I am using.
Regarding to your second suggestion, here are the expressions for each piece of the conditional probabilities:
A= max(0, B+CD)
Prob(A=aB=b,C=c,D=d)=Prob(max(0, b+cd)=a) > which is either 1 or zero
B=min(L, C+D), where L is an independent external Poisson random variable
Prob(BC,D)=Prob(min(L,c+d)=b) > a mix of 1 and truncated Poisson
Prob(CD)> CD=d follows a binomial distribution (d,p), p is given
Prob(D)=Prob(D_iteration_t) > recursively depends on its own distribution in previous iteration Prob(D_iteration_t1)
So you see, there is no easy closeform expression. A,B,C,D are dependent. Most suggestions I got from friends were exploring independency among variables, so as to eliminate loops, however, as you can see, they are all related in a complicated way.
In general, if using
Prob(AB,C,D)*Prob(B,C,D)*Prob(CD)*Prob(D) to calculate Prob(A), and A,B,C,D are Not independent, is there a lessloopy way?
Or what are the common ways to eliminates loops, when independence is out of the picture?
Thank you all!
Ester
