max / min / smallest float value on Python 2.5

Mark Dickinson dickinsm at gmail.com
Sun Feb 7 22:06:59 CET 2010


On Feb 7, 8:45 pm, duncan smith <buzz... at urubu.freeserve.co.uk> wrote:

[...]
> interested, but the following pseudo-python gives the idea.  For an
[...]

>              try:
>                  yield rand() < exp(dF / temp)

Practically speaking, the condition rand() < exp(dF / temp) is never
going to be satisfied if dF / temp < -40  (in fact, the output of
rand() is always an exact multiple of 2**-53, so the condition rand()
< exp(-40) is identical to the condition rand() == 0.0, which should
occur for one random sample out of every 9 thousand million million or
so).

So assuming that your fitness delta dF can't get smaller than 1e-16 or
so in absolute value (which seems reasonable, given that dF is
presumably the result of subtracting two numbers of 'normal'
magnitude), there would be little point having temp go much smaller
than, say, 1e-20.

IOW, I agree with Steven:  2.2e-308 seems extreme.

--
Mark



More information about the Python-list mailing list