Day: January 30, 2009

Enough to Make a Developer Blush

As most Palisade customers know, computer processing speed is important in both Monte Carlo software and packages for genetic algorithm optimization.  So when I came across an InfoWorld article on the acceleration capabilities of GPU-based processing, I clicked right through to find out more about the gizmos called GPUs. 

A GPU (Graphics Processing Unit) is used to speed up graphics rendering and–much more interesting to me since I’m not a gamer — to process huge data sets via complex algorithms.  The reason the gizmo is good at both of these tasks, I learned, is that has a very, very parallel structure.  And this structure makes it ideal for "embarrassingly parallel"  –I’m not making this up–problems.  This, embarrassingly,  is standard developer lingo. 

What does it take to be embarrassingly parallel? It takes many independent, easily separated tasks.  Each of these tasks can be processed on a different computational unit.  Massive amounts of data, many separate algorithms, many machines.  Read risk analysis, decision evaluation, face recognition, and weather prediction.  So what’s not to be embarrassed about? 

I progressed and was tickled to discover that in the early days an embarrassingly parallel problem might have been solved with a gizmo called a "blitter," which is—-oh,never mind, it’s enough to make even the most senior developer blush!

Is Beta Better?

From a theoretical perspective, the Beta distribution is intimately related to the Binomial distribution.  In this context it represents the distribution of the uncertainty of the probability parameter of a Binomial process based on a certain number of observations. As a distribution of probability, its range is clearly between zero and one, and as it is related to noting successful outcomes within a number of trials, it is a two-parameter distribution. The BetaGeneral is directly derived from the Beta distribution by scaling the range of the Beta distribution with the use of minimum and maximum values, and is hence a four parameter distribution (min, max, alpha1, alpha2).

Special cases of the BetaGeneral distribution are however perhaps most frequently used as a way to build models, where a pragmatic modelling approach is desired. For example, the PERT distribution is a special case of the BetaGeneral distribution, using the three parameters min, most likely, and max. If the parameters alpha1, alpha2 of the BetaGeneral are derived from those of the PERT distribution (e.g. by setting alpha1 equal to 6*(µ-min)/(max-min), where µ (the mean of the PERT) is equal to (min+4*ML+max)/6, and alpha1 equal to 6*(max-µ)/(max-min). The BetaSubjective distribution is another variation, and requires the four parameters min, most-likely, mean, max.  In a sense it is quite an unusual distribution, having both the mode and the mean as a parameter, and in some contexts can therefore be quite useful when one has knowledge of both of these and requires a distribution to capture that.

Dr. Michael Rees
Director of Training and Consulting