Skip to content

Enumerative vs analytic treatment of lane-order dependence #131

Description

@rabujamra

Chris — taking you up on the thread you left open, and starting with a question
rather than a construction.

Working through #130 I noticed that what the script actually does is neither
of the two things your phrase names. It is Monte Carlo. With 24 lanes there are
24! ≈ 6.2 × 10²³ orderings, so exhaustive enumeration was never available; the
script samples 20,000 of them and reports what varies.

That made me want to separate three things rather than two:

  1. Enumerative — evaluate over every admissible ordering and report what is
    invariant. ⚠ Only available when the admissible family is small, which for
    whole-permutation reordering it is not.
  2. Sampled — what Add lane-order invariance check to validation #130 does. Establishes the phenomenon; bounds nothing.
  3. Analytic — characterize why a quantity is order-dependent and derive its
    expectation, or its attainable range, without sampling at all.

One small result, to check I have the distinction right.

The within-lane ranges are fixed under reordering, so the only order-dependent
term in mR-bar is the boundary sum. For a uniformly random ordering, lane j
immediately follows lane i with probability 23!/24! = 1/24, so the expected
boundary mean is just the mean of |last_i - first_j| over all 24 × 23 = 552
ordered pairs:

analytic     E[mR-bar] = 1413.0445      closed form, no sampling
sampled          mR-bar = 1413.4200      20,000 orderings, sd 39.20, se 0.277
difference                    -0.3755      1.36 se

So for the mean, the 20,000 permutations were not needed.

Where it stops being easy, which is the part I am actually asking about.

The range is a different object. Minimizing or maximizing the boundary sum over
orderings is a Hamiltonian path problem on the asymmetric matrix
w(i,j) = |last_i - first_j| — an optimization, not an expectation. So
"what are the attainable limits under reordering" and "what are the expected
limits" are not the same question, and only the second falls out in closed form.

The question: is that the distinction you had in mind, or were you pointing at
something else? I would rather find out what you meant before building anything.

If it is roughly this, then the progression I would want is: sampling discovers
the phenomenon → analytic treatment characterizes it → the suite checks that the
implementation agrees with what can be derived. That would make #130's script
validation evidence rather than the method.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions