[PATCHES]

Rick Walsh rickmwalsh at gmail.com
Tue Sep 1 15:27:34 PDT 2015


On 2 September 2015 at 05:32, Robert C. Helling <helling at atdotde.de> wrote:

> Dirk,
>
> On 01 Sep 2015, at 16:27, Dirk Hohndel <dirk at hohndel.org> wrote:
>
> Let's please remember that these algorithms are mathematical
> approximations of mostly unproven theories with random, made up limits
> that were tuned to make them match known good profiles. And then a safety
> factor was added for good measurement.
>
> So "accurate" is a very ill defined term here.
>
> I agree absolutely, by "accurate" I meant it appears Subsurface can
generate a profile / calculated a ceiling closer to that implied by
applying the theory's formulae consistently.  Not for a moment did I mean
to suggest that Subsurface actually knows anything about the physiology of
a diver.


> The theory behind VPM-B is, as far as I can tell, totally made up and not
> even internally consistent. I have given up any hope in that direction. I
> don’t think of it as modelling anything in the divers body but only as an
> algorithm to come up with numbers for deco stops that have the advantage
> that there is a certain empirical basis for it, i.e. that people used these
> numbers in the past for their decompression and they are not all dead, yet.
>
> There is no physics that we could try to model „better“ in any sense than
> the reference implementation, the best we can do is to imitate the
> reference implementation since that is the one with the empirical basis.
> This is sad but that’s the way it is.
>

I don't think VPM-B is any more guilty than any other model of doing
anything other than coming up with formulae relating to a series of
hypotheses, then adopting parameters on the grounds that, "they appear to
come up with a profile that matches the data/expectations".  I'm a
geotechnical engineer, and I'd have to give it up if I got too upset that
our quasi-rational methods for soil and rock mechanics can't actually be
derived from anything known.  But you just need to look at any bridge,
building, tunnel, wharf or dam that hasn't collapsed to see that they do
appear to work, once you add an appropriate safety buffer.

Having defended VPM-B, I'm sure you'll forgive my hypocrisy if I plan my
next dive using Buhlmann 45/85.

>
> That said, it would be a nice comfort booster if we did match the numbers
> by the reference algorithm exactly or at least didn't show any shorter
> deco (simply from a "risk of some idiot suing us" perspective.
>
>
> My worry are not so much the lawyers but the users: They will compare the
> schedules computed with subsurface to their old schedules and based on that
> will decide if it is good or not (too often even the better algorithm is
> the one with shorter runtime). This has no empirical basis whatsoever but
> that is what people do (and have done in the past and discussed for example
> on diving web forums). People are stupid.
>
>
> Assuming there's no mistake that needs fixing in our implementation, we
> could either live with the difference, or we could introduce a slight
> conservatism to our nominal case.  The following is a very basic patch that
> makes us pass all the tests again.  I'm not proposing it yes, at least not
> until we've worked out there isn't some other tweak that we ought to do.
> But it does work.
>
>
> Um. On some level this makes me cringe (no offense Rick - this has nothing
> to do with your code) - it's yet one more "random number pulled out of a
> dark place to make profiles match.
>
> But given what I said above, I'd be certainly willing to take this simply
> as insurance that we don't end up with shorter deco times than the
> reference.
>
>
I'm definitely not offended - the thought of it made me cringe too.  I did
it to see for myself if we could make it pass the tests if we were just a
bit more conservative.  But then I thought that perhaps it isn't such a bad
idea, and I'd rather fail the tests for being too conservative than
aggressive - decompression diving is one area we don't want to be
aggressive.  Of course there are dozens of other places in the code where
we could deliberately introduce a fudge factor to achieve a similar
outcome, but this appears reasonably transparent (to anyone that opens
deco.c).


>
>
> Robert, what do you think?
>
>
> I would apply this conservatism. After all, it changes a number that is
> not really measured by one percent which is surely very well within the
> measurement error if that had existed in the first place.
>
> Yes, very very well within the error, considering I don't know if the
error is even quantifiable.

The attached patch tries to make it even more transparent what the fudge is.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150902/0736d6c2/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-VPM-B-Add-1-percent-conservatism-to-pass-tests.patch
Type: text/x-patch
Size: 1498 bytes
Desc: not available
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150902/0736d6c2/attachment-0001.bin>


More information about the subsurface mailing list