Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
Dan Zuras Intervals wrote:
-- As was shown, the single sticky bit in Motion 15 is not enough to reliably propagate exceptional information through all computations... at least one additional sticky bit of history would be required.On the contrary, the sticky bit in motion 15 IS sufficient to remember the history of the computation WRT this decoration. One need only look at the formula to see that.
Dan, P1788, Facts are stubborn things.To refresh everyone's memory why the single sticky bit in Motion 15 bit is not sufficient to rember the history of exceptional information of a computation, I attach the original discussion and example on why.
Sincerley, Nate Dan Zuras Intervals wrote:
Subject: Re: Discussion on tetrits motionFrom: "Nate Hayes" <nh@xxxxxxxxxxxxxxxxx> To: "P1788" <stds-1788@xxxxxxxxxxxxxxxxx> Subject: Discussion on tetrits motion Date: Fri, 23 Apr 2010 15:59:16 -0500 Dan, et. al. In your 4/17 post, for all 3-bits you included the explicit tables:No, Nate. Those tables were part of a discussion that only applied to the 'domain' decoration as I understood it at the time. In the motion just made, you will notice that there are no such tables. The reason for this is that they will not apply to all decorations. And, as this motions says nothing about any particular decoration, I would like to make discussion of particular decorations the subject of some future motion. As I said in the cover letter. Dan
Dan, I'm trying to make sense of your e-mail: -- Of course there are no tables in the motion, but the definitions that generated the 4/17 tables are the same as the definitions in the motion. Below I include both for a "side by side" comparison... the tables are a consequence of these definitions. -- I believe we need to explicitly discuss advantages or disadvantages of the proposed definitions with regard to particular decorations that we probably will adopt, i.e., having or not having a particular decoration should not be the issue, but how suitable the motion enables or inhibits the goals of various decorations would be. Sincerely, Nate Dan Zuras Intervals wrote(4/23/2010):
We define for all dyadic interval functions f(xx,yy): 'thingy'True = {there exists x in xx and y in yy such that is'thingy'(f,x,y) is True} 'thingy'False = {there exists x in xx and y in yy such that is'thingy'(f,x,y) is False} 'thingy'Sticky = 'thingy'False(xx) \or 'thingy'Sticky(xx) \or 'thingy'False(yy) \or 'thingy'Sticky(yy)
Dan Zuras Intervals wrote (4/17/2010):
+------ 'inDomain' = {There exists x in xx & y in yy suchthat (x,y) is in the domain of g(x,y)} +---- 'outDomain' = {There exists x in xx & y in yy suchthat (x,y) is NOT in the domain of g()} +-- 'outSticky' = outDomain(xx) \or outdomain(yy) \oroutSticky(xx) \or outSticky(yy)v v v Meaning - - - ------- F F F No points, never was, [empty] & always has been. F F T No points, also [empty], one operand was [empty] while the other one was outDomain or outSticky. Looks like this state can only be reached by a dyadic function. I'm glad I decided to check that. F T F Completely outside the domain of this function but no previous function had that problem. Returns [empty]. F T T Completely outside the domain of g(), also [empty], also was outside the domain of some previous function. T F F Completely inside the domain of g() & as well as inside the domain of all previous functions. This is the good state we all like to see. T F T Completely inside the domain of g() but some previous function was not so lucky. This is also a good state of sorts. A domain error once happened but it hasn't bothered g(). This may or may not be of interest to the user but it looks like something that is good to know. T T F Both inside & outside the domain of g() but no previous function suffered a domain error. Any problems are g's fault alone. This state & the next are states you likely start with in branch & bound methods. T T T We have points both inside & outside the domain of g() & had problems in the past. This is the other state you start with on branch & bound.
On 4/23/2010 15:59, Nate Hayes wrote:
Dan, et. al. In your 4/17 post, for all 3-bits you included the explicit tables: op1 x op2 --> possible results --- --- ---------------- FFF x FFF --> FFF FFF x FFT --> FFT FFF x FTF --> FFT FFF x FTT --> FFT FFF x TFF --> FFT FFF x TFT --> FFT FFF x TTF --> FFT FFF x TTT --> FFT FFT x FFT --> FFT FFT x FTF --> FFT FFT x FTT --> FFT FFT x TFF --> FFT FFT x TFT --> FFT FFT x TTF --> FFT FFT x TTT --> FFT FTF x FTF --> FFT FTF x FTT --> FFT FTF x TFF --> FFT FTF x TFT --> FFT FTF x TTF --> FFT FTF x TTT --> FFT FTT x FTT --> FFT FTT x TFF --> FFT FTT x TFT --> FFT FTT x TTF --> FFT FTT x TTT --> FFT TFF x TFF --> FTF, TFF, TTF TFF x TFT --> FTT, TFT, TTT TFF x TTF --> FTT, TFT, TTT TFF x TTT --> FTT, TFT, TTT TFT x TFT --> FTT, TFT, TTT TFT x TTF --> FTT, TFT, TTT TFT x TTT --> FTT, TFT, TTT TTF x TTF --> FTT, TFT, TTT TTF x TTT --> FTT, TFT, TTT TTT x TTT --> FTT, TFT, TTT Now, if we examine what's happening only with the domainOut and domainIn bits, i.e., the first 2 of the 3 bits (sans the "sticky" bit), we get: op1 x op2 --> possible results --- --- ---------------- FF* x FF* --> FF* FF* x FT* --> FF* FF* x TF* --> FF* FF* x TT* --> FF* FT* x FT* --> FF* FT* x TF* --> FF* FT* x TT* --> FF* FT* x TT* --> FF* TF* x TF* --> FT*, TF*, TT* TF* x TT* --> FT*, TF*, TT* TT* x TT* --> FT*, TF*, TT* In most cases, these are exactly the same results provided by the Level 2 priority mapping of tetrtis in my position paper. For example: sqrt(([-3,-2],(T,F,*))) + ([1,2],(T,F,*)) = ({empty},(F,T,*)) + ([1,2],(T,F,*)) = ({empty},(F,F,*)) The reason is because sqrt([-3,-2]) is {empty}, even though the decoration is (F,T). As an operand of the addition operation, however, the tetrit of {empty} is (F,F); and this is the infimum (by priority mapping) of all operand tetrits. In other cases, they are quite different, i.e., the proposed mapping is: sqrt(([-3,1],(T,F,*))) + ([1,2],(T,F,*)) = ([0,1],(T,T,*)) + ([1,2],(T,F,*)) = ([1,3],(T,F,*)) By itself, the decoration (domainIn=T,domainOut=F) is quite misleading for the interval result [1,3]. With priority mapping, the decoration would be (domainIn=T,domainOut=T). I understand this is why you are trying to make up the difference with the third bit, i.e., the proposed mapping actually results in (T,F,T). But how is a user supposed to know just by looking at the bits (T,F,T) if somewhere in the history of computation an operand was evaluated entirely vs. partially outside its natural domain? The proposed mapping appears to be counting on the fact that any function evaluated entirely outside its natrual domain will produce {empty}, and that this is good enough to start a chain-reaction of (F,F,T) tetrits propagating through the result all the way to the end. However, {empty} can be absorbed by a union operation, in which case the tetrit can change back to (T,F,T) state. In this case, the fact that a serious domain violation ocurred is lost. With priority mapping the decoration (F,F) would propagate all the way to the end. THis is why I had suggested that if it really is necessary to dividedecorations into "most recent operation" vs. "history", that we should haveat least 4 bits. Otherwise its possible to propagate all the neccessary history in only 2 bits. Nate