Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: A decorations question



John Pryce wrote:
P1788 and Nate

On 3 Mar 2010, at 18:11, Nate Hayes wrote:
I think what I hear you saying is this is just another example why
Bounded attribute is a thorn in the side, and why things get much
simpler and cleaner if it goes away altogether, e.g., it circles
back to some of Ian's comments. If so, I agree.

As part of writing v02 of the draft standard text I continue to
ponder these things. I want to give "bounded" a fair crack of the
whip, so I continue with my questions...

I think -- as soon as one has chosen a model where intervals are
sets, as we have -- there is a "standard interpretation" (SI) of
intervals. Like the Copenhagen Interpretation of quantum theory, it
has difficulties and critics, but it seems the most cogent one
around. To be more precise, it is an interpretation of the "meaning"
of evaluating an explicit expression f(x_1,...,x_n) over intervals,
i.e computing ff(xx_1,...,xx_n) where ff is the interval version of
f.

- A newly created interval, say xx=[1,2], represents a number
 x that is unknown, but is assumed to lie within [1,2],
 AND in some sense "ranges over" the whole of [0,2].

 The second part is rarely made explicit, and I want to know
 if you agree with it.

- The interval yy = ff(xx_1,...,xx_n) is an attempt to get a
 tight enclosure of range(f; xx_1,...,xx_n), which of course
 is the set of all y=f(x_1,...,x_n) as all the x_i do their
 "ranging" independently over their intervals xx_i.

This affects the rules for setting the "bounded" values: definitely
bounded, possibly bounded, definitely unbounded.

Examples.
(a) After xx=[0,1], yy=1/xx we must have yy is definitely unbounded
because our SI says it definitely contains 1/x values with x -> 0.
(b) Then zz=yy+yy =[0,oo] is definitely unbounded because yy is so,
and zz "really" comprises values y+y with y in yy, and these include
values y -> oo (this is independent of our knowledge that it "even
more really" contains values 1/x + 1/x where x -> 0). (c) But
ww=yy-yy=[-oo,oo] is possibly bounded because it "really" comprises
values y-y with y in yy, so it is "really" [0,0].

Underlying this, and part of my SI it seems, is that intervals like
yy, zz, ww, that are computed from raw data such as literal intervals
xx=[0,1], are NOT raw data. I.e. the unknown y,z or w that belongs to
it does not range freely over its interval, but is a function of x
and therefore only ranges "as x tells it to".

Do you agree? The other extreme, namely _each_ interval qq has its
own variable q that is regarded as ranging over all of qq, makes
"bounded" quite pointless. For then each interval just "is itself",
and to say that [0,oo], say, is possibly bounded is a contradiction.

We can't define consistent semantics for "bounded" till we have
sorted out this semi-philosophical question. And, IMO, we can't
decide whether "bounded" should be kept or dumped, till we have tried
to produce _at least one_ consistent (and useful) semantic model for
it. If we can't find even one, we should definitely dump it!

Your views please.


Hi John,

I think in the broad brush strokes we seem to agree.

It sounds like you keep coming back to the culprit of interval dependence.
This is a valid (and important) discussion. For example, you ask in so many
words should ww=yy-yy=[-oo,+oo] only be POSSIBLY unbounded (as opposed to
CERTAINLY unbounded) because ww is just a pessimistic range enclosure of the
real function f(y)=y-y=0 for the real variable y ranging over yy=[1,+oo].

In this example, f(y) is always 0, so it is clearly NOT unbounded. Yet
simple interval arithmetic yy-yy produces the result [-oo,+oo] which,
although extreemely pessimistic, clearly IS unbounded.

So the question you ask is: should we really say that yy-yy=[-oo,+oo] is
definately unbounded?

My short answer is: yes.

I think we should all realize there is no contradiction or paradox here. But
a clarification is certainly in order.

Let's just stick with the above example:
   -- given real function f(y)=y-y,
   -- what is the range enclosure of f(y) for y in yy, when yy=[1,+oo].

Now, a smart Computer Algebra System (CAS) will define the range enclosure
as the set of values { y-y | y in [1,+oo] }. THis evaluates to the singleton
{0}, which clearly is NOT unbounded. I would say this is the "exact"
solution.

Simple interval arithmetic is not so smart as a CAS, however, since it will
define the range enclosure as the set of values { x-y | x in [1,+oo] and y
in [1,+oo] }. This evaluates to the interval [-oo,+oo], which clearly IS
unbounded. I would say this is the "pessimistic" solution.

The difference between the exact and pessimistic solutions is that simple
interval arithmetic does NOT recognize the interval dependence between the
two instances of the variable y in the function f(y)=y-y. Instead, simple
interval arithmetic computes f(x,y)=x-y, with x and y both ranging
independently over [1,+oo]. The result in this case is certainly unbounded.

So in this sense, I don't think the question is even philosphical (or
semi-philisophical). IEEE 1788 is a standard for interval arithmetic, not
interval analysis. To try and provide definitions used by the smart CAS is,
in my mind, WAY outside the scope and purview of IEEE 1788.

I believe IEEE 1788 should only cocern itself with definitions of the simple
interval arithmetic, as this is how the standard will be used and translated
into hardware circuits.

This is why I nit-pick a little with your SI or "Copenhagen" analogy. Yes,
intervals are sets. But keep in mind intervals ALSO have algebraic
properties, too. Since IEEE 1788 is an arithmetic standard, I think much
more emphasis should be put on these properties and the algebraic structure
of the intervals. Authors of CAS-like packages can then build on top of
that. But I don't expect simple interval processors should be required to be
that sophisticated.

Nate