Почитайте про
метод обратного преобразования.
Там же дается пример для
экспоненциального распределения, которое вам как нельзя лучше подходит.
Функция (результат в приложении):

Код AS3:
private function exponentialRandom(lambda : Number):Number{
var x : Number = Math.random();
return -(1/lambda)*Math.log(1-x);
}
Вариант, адаптированный к вашим требованиям:

Код AS3:
private function ravenNikmaRandom(min : Number, max : Number, gravity : Number):Number{
return min + exponentialRandom(gravity) % (max-min);
}