Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
On 05/10/2012 12:51 AM, Nate Hayes wrote:
midpoint([1,+Inf]) = undefined (current Level 1) midpoint([1,+Inf]) = undefined = NAN (current Level 2) However, this means many interval algorithms involving midpoint are undefined at both Level 1 and Level 2 in the current model. For example, how does a branch-and-bound algorithm that bisects on the midpoint even begin to proceed (at Level 1 or Level 2) when the user provides X = [1,+Inf] as input?
It is ill-defined, as it should be. Bisection at the midpoint in B&B is extremely inefficient when bounds are very wide, and infinitely inefficient if a bound is infinite. For efficiency reasons, one _must_ bisect huge intervals such as [0,Inf] but also [0,1e12] at a reasonable value (much smaller than 0.5e12), and the error message one gets when trying to bisect at an infinite bound points the user to this.
In our paper and motion, Z = Omega(X) = Omega([1,+Inf]) = [1,+omega] is an overflow family. This is different mathematical object than an unbounded interval, so we may define the midpoint of [1,+omega] as a real number.
Now all the interval algorithms that are undefined for unbounded intervals in the current model are defined for overflow in the new model.
But this midpoint is useless. Your bisection algorithm will spend most time exploring a tiny neighborhood of infinity.