Re: 1/[0,2]=NaI???
Nate Hayes schrieb:
Arnold Neumaier wrote:
Nate Hayes wrote
(in: Re-submission of motion 5: multiple-format arithmetic):
Arnold Neumaier wrote:
Nate Hayes schrieb:
Arnold Neumaier wrote:
Nate Hayes schrieb:
Moore's theroem remains valid with the proposed definition, since
a real expression defines a real function f(x_1, ..., x_n) only
on domains where no divisor is zero.
Therefore, correctly, for xx=[0,1]
{1/(x^2-x+1) | x in xx}
subseteq 1/(xx^2-xx+1) = 1/([0,1]-[0,1]+1) =
1/[0,2]=[1/2,inf], while with your definition, division by an
interval containing zero gives NaN), and we'd get NaN, violating
Moore's law since {1/(x^2-x+1) | x in xx} subseteq NaI
does not hold.
The reason it "violates Moore's law" is because x = 0 is not in the
domain of the function! That's the whole point of returning NaI...
???
When I evaluate f(x):=1/(x^2-x+1) at x=0,
I get the perfectly reasonable value f=1.
But 1 is not in NaI, violating Moore's law.
Real analysis for { 1/(x^2-x+1) | x in [0,1] } does not lead to NaI.
It's optimal range enclosure is [1,4/3].
Of course, real analysis does not know of NaI.
But you had been claiming that x=0 is not in the domain of the
function, which is false.
I point-out that x=0 is not in the natrual domain of f(x) := 1/x, i.e.,
{ 1/x | x \in [0,2] },
which appears as one of the intermediary steps of your example.
This observation is completely irrelevant, since 1/(x^2-x+1) never
has the denominator zero.
But in the example, you compute a non-optimal range enclosure by
composition of arithmetic operations.
Moore's theorem only requires that an enclosure is obtained, and says
nothing about optimality (which holds only in rarte cases). With the
definition of the proposed motion, Moore's law always holds.
But with your definition, Moore's law fails in the above case since
1 in NaI is false.
This is because composition of arithmetic operations to compute the range
enclosure does not have the same mathematical defintion as
{ 1/(x^2-x+1) | x in [0,1] }
because of the interval dependence.
It is why the modal anlaysis in this case does not lead to NaI, but,
strictly speaking, your non-optimal range enclosure does.
It is just the opposite.
_My_ interval evaluation (and the one in the proposed motion)
results in [1/2,inf].
But one gets NaI with _your_ modal definition of division.
One of the intermediate operations is 1/[0,2].
This is violation of Moore's law since division by interval
containing zero is undefined.
The point is that you introduce an unnecessary violation of Moore's
law.
Ah... so it *is* a violation of Moore's law, afterall.
Yes, but only with _your_ modal definition of division.
This is why this should be avoided.
In any case, dropping 0 from the domain of the intermediate step
1/[0,2] gives [1/2,Inf), which is severely pessimistic.
Nearly as pessimistic is the result of 1/(xx^2-xx+1) for xx=[eps,1]
with tiny eps, although no division by an inteval containing zero
occurs.
Thus this cannot be an argument for not allowing divisions by an
interval containing zero.
I don't argue there should not be a division operation in 1788 that does not
allow this case (Vincent convinces me about this).
I advocate that *in addition* there should be the possibility to obtain
1/[0,2] = NaI.
My position on this subject therefore allows you to compute
1/[0,2]=[1/2,Inf) in your range enclosure example, i.e., it allows to avoid
NaI in this case because it implies
1/[0,2] = 1/[0,0] \union 1/(0,2]
= {empty} \union [1/2,Inf)
= [1/2,Inf)
In the context of predicate logic, though, such an interpretation is not
correct. For example, if I seek values of y such that
(for all x \in [0,2]) y = 1/x (*)
is true, there is no value of y when x=0 to make the conditional equation
true.
(*) is a y-dependent predicate. It has the value false for all y.
Therefore, the natural interval answer to this query is the empty set,
signalling that there is no y satisfying (*), (This holds even when
[0,2] is replaced by the uncontroversional [eps,2].).
On the other hand, standard interval arithmetic is only concerned with
the problem
(for some x \in [0,2]) y = 1/x (**)
Again, (*) is a y-dependent predicate. It has the value true precisely
for all y in [1/2,inf]. Therefore, the natural interval answer to
this query is [1/2,inf], as computed by _my_ definition of interval
division.
So the predicate is undefined, i.e., NaI
Since there is no value of y when x=0 to make the conditional equation
true, the predicate (*) is false, not undefined.
By the way, this pessimistic estimate is enouh to exclude the box
xx=[0,1], yy=[0,10] in constraint propagation for the constraint
1/(x^2-x+1) + y <= 0,
while your definition erases all information.
Huh? Modal intervals give
[1,4/3]+[0,10] <= 0
which is false, too.
I was refering to your version of ordinary interval evaluation,
not to a modal reinterpretation that depends on a prior monotonicity
analysis.
If someone writes in a program z=1/(x^2-x+1) + y, evaluates it in
xx=[0,1] and yy=[0,10], and then checks the intersection with
[-inf,0], one gets with my division the empty set.
But with your division, one gets NaI, no matter whether or not
the operations were performed in modal arithmetic.
To make use of your trickery, one must write quite a different
program that first finds the extreme values, then splits
the interval accordingly, then changes some intervals to their duals,
etc., a long process.
Moreover, for f(x)=1/(x^4-2x^2+x+2), the simple interval recipe still
works with my definition of division and fails with yours, while the
modal approach gets really costly.
With the same amount of analysis, one gets here the exact range
without using intervals at all, since in 1D, a monotone function
attains its extrema at a bound, Thus the range is the hull of the
function values at 0, 0.5 and 1.
The example is also perfectly symmetrical, so all that is required with
modal intervals is
fR([0,1/2]) = 1/([0,1/2]*(Dual([0,1/2])-1)+1) = [1,4/3],
i.e., four interval operations.
This is special to this particular toy example.
Please make the same analysis for f(x)=1/(x^4-2x^2+x+2)
to see that things are usually much more costly.
Therefore there is no need for modal arithmetic in this example.
A modal interval processor can compute the optimal range enclosure in the
same time as four floating-point operations.
But it cannot do the complex preanalysis needed in all but the simplest
examples.
So a user applying your modal processor to the constraint satisfaction
problem
1/(x^4-2x^2+x+2) + y <= 0
x in [0,1], y in [0,10]
will not be able to benefit from the speed you claimed but will get
as result the completely uninformative NaI.
But with an implementation that has 1/[0,s]= [1/s,inf] for s>0,
the problem will immediately be recognized as infeasible with hardly
any work.
I know of only two dangers of standard interval arithmetic:
1. The unprotected conversion of decimal numbers to floats,
ignoring round-off, and
2. The use of a fixed-point theorem without having checked continuity
on the whole box.
Both dangers can be avoided with little care on the part of the user,
and in the Vienna Proposal. they are avoided as far as possible
by design.
With modal intervals, these dangers persist but are multiplied by
the possibilities of introducing errors by replacing intervals by
their duals without sufficient justification. These are much more
serious since there is no easy way to guard against it, and since
the modal theorems are quite subtle to understand correctly.
Just go back and look at some of the examples people have given about how
classical interval analysis can easily lead to unexpected results when in
the hands of novices.
Please copy the examples you have in mind that do not fall under 1.
or 2. so that I can see what you mean. I cannot check the 2500 mails
in my 1788 folder to figure out what you intend to refer to.
Arnold Neumaier