At each footstep I impose some constraints on the trial random interval velocity
model before integrating along the semblance scan. I impose a global
minimum and maximum interval velocity value. For the marine data example,
I used *v*_{min} = 1.55 km/s (water velocity), and *v*_{max} = 3.0 km/s.
The standard deviation of the uniform distribution from which I
draw random velocity perturbations, implicitly imposes a velocity corridor
type of constraint on the local minimum and maximum allowed velocities,
*for a single walk*. Since the initial model to be perturbed
changes from walk to walk, these velocity corridors change also. Only the
*v*_{min}, *v*_{max} values are global bounds for all trial models.
I also allow the surface velocity *v*_{o} (with possible error tolerance)
to be specified to anchor the interval velocities to some reality. This
is because, at shallow times, there is usually little or no semblance
information available to constrain a velocity fit, due to the refraction
mute pattern.

I allow the user to specify the number of interval velocity transmission layers per second of traveltime, which may be perturbed to fit the semblance scan. For this data example, choosing the number of layers to be on the order of 10-20 per second gave reasonable results. Too few layers will not allow the velocity curve enough flexibility to fit the semblance peaks, and too many layers will tend to give unnecessary high-frequency velocity variations which average out to a smoother 10-20 layer response. Note that the number of layers does not affect the speed of my algorithm, since I assume that each time sample may contain a velocity variation when I do the rms and semblance integrations.

I also impose an important continuity constraint for each step of a walk. The
parameter *v*_{z} is a bound on the maximum velocity gradient at each point
in depth (time). For the data example, I set this value to be 200 m/s,
which allows enough oscillation to fit scattered semblance peaks, but not
enough to be geologically unreasonable in appearance. Furthermore, I weight
the maximum allowable velocity gradient by the local value of
(unit normalized) semblance at that vertical traveltime.
This has the desirable effect that maximum gradient velocity perturbations
are allowed at strong semblance peaks (i.e., where strong reflectors obviously
must exist), and nearly zero gradient velocity perturbations (smooth) at
semblance gaps (where strong reflectors apparently do not exist).
These continuity constraints impose some geological sanity on the acceptable
class of random models, and serve as a prefilter to the test phase in which
the acceptable trial random models are integrated against the semblance scan
and measured for optimality.

It is important to realize that the interval
velocities inverted from *traveltime* data cannot be too discontinuous,
because there is no resolution in such velocity analysis data to support
thin layers of large velocity contrast (e.g., thin carbonate streaks). Only an
*average* interval velocity can be resolved, and this average must
be reasonably continuous by the very definition of an ``average.'' This
is the underlying physical basis for the continuity constraints I impose.
In stark contrast, the interval velocities inverted from reflection
*amplitude* data must be highly discontinuous, since it is these very
impedance discontinuities which generate the reflection amplitudes. But
the latter is not applicable here.

11/17/1997