If you are trying to calculate the weighted probability of a gene cluster, then I think you really need to bone up on statistics and also numerical methods (to help you translate the statistical formulas and distributions to their programming equivalents). Most of these problems can be solved with fairly standard formulas and a bit of integral calculus.
Depending on why you are studying clusters, you may also want to look at things like monte carlo analysis. A quick google shows me that this is also being used to rule out random chance in gene cluster studies, e.g. Evaluation of the relationship between interleukin-1 gene cluster polymorphisms and early implant failure in non-smoking patients. That study uses monte carlo analysis to help analyze whether differences in gene cluster frequencies between two populations is due to more than random chance.
I realize this may be more math than you bargained for. However, you are never going to solve these problems for anything but trivial numbers of die throws by generating all permutations and calculating the probability one permutation at a time.