On Sat, 3 Jun 2006 22:06:23 -0500
Adam Porter <[EMAIL PROTECTED]> wrote:

> > So I did some trial and error by gradually deleting stuff from the
> > bad config file, then moving stuff over from the good one.  This
> > eventually fixed the problem.  But I haven't yet been so thorough
> > as to figure out exactly which line or lines triggered the bug.
> 
> It seems to me that what we really need is to know what lines caused
> the crash.  Without that, what can be done?

Well, I hope to get around to looking into it.  The trial-and-error of
it is too much work, so I have this idea for a no-brains util that
would help with such things, based on the correct 'hilo' (i.e. the
number guessing game) strategy.

        HiLo is not particularly exciting to play because there is a simple
        optimal strategy that narrows the range of possible numbers in half
        each time by choosing the midpoint of the range. For example, for the
        range [1..1000], the midpoint guess is 500. If 500 is too high, the
        next range is [1..499] and next guess is 250; if 500 is too low, the
        next range is [501..1000] and next guess is 750. With this strategy, it
        is possible to guess any number between 1 and 1000 in ten or fewer
        guesses because 1000 can successively be divided by 2 only ten times
        before a 1 is reached. (In other words, the base 2 logarithm of 1000 is
        about 10). This divide-in-half strategy, known as binary search, is
        extremely important in computer applications for efficiently searching
        large information spaces.
        http://community.middlebury.edu/~schar/courses/cs101-f04/hw/hw5/

That is we have two configs, A (good), and B (bad).  So we combine the
first half of A with the last half of B.  Test program again.

If it doesn't fail, combine the second half of A with the first half of
B. Assuming that fails, (it should), we know the line is in the first
half of B.  So we repeat the process the first quarter of A and the
second quarter of B.  Etc. etc.

For a config with X lines, it should require at most 'log X (base 2)'
tests.

More later, knock on wood...



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to