Description
Uniformly sample all unit-step walks with specified start/end and step count by choosing exactly the required up-step subset; impossible endpoint/parity requests reject.
A random construction is defined by its sampling support: positions, permutations, complete tilings, proposal sequences or another explicit set. Uniform choices at one stage do not necessarily make final visible outcomes uniform. A replay seed gives a deterministic sequence; equal values can hide different sampled positions. These tools are for reproducible synthetic examples rather than cryptographic entropy.
Uniformly sample all unit-step walks with specified start/end and step count by choosing exactly the required up-step subset; impossible endpoint/parity requests reject.
When to use this tool
Use this tool to uniformly sample all unit-step walks with specified start/end and step count by choosing exactly the required up-step subset; impossible endpoint/parity requests reject.
How to use the tool and how it works
- Enter start, end, steps, seed using the definitions below.
- Run the operation. Resolve input-format errors before interpreting an output.
- Read result.seed, result.increments, result.states, result.support, using the stated boundary, ordering, sign and absence conventions.
Compute positive-step count=(steps+end−start)/2 and require it to be an integer from zero through steps. Choose that many step positions uniformly; fill them with +1 and the rest with −1, then accumulate initial-plus-step states.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| start | Integer initial walk coordinate within ±1,000,000. | Finite safe integer satisfying the stated bounds. |
| end | Integer target walk coordinate within ±1,000,000; reachable parity and distance are required. | Finite safe integer satisfying the stated bounds. |
| steps | Number of transitions, integer 1–127; the states output includes the initial state as well. | Finite safe integer satisfying the stated bounds. |
| seed | Nonblank replay seed, at most 256 UTF-16 code units; an injected source overrides seeded draws. | Text, at most 8,192 UTF-16 code units; narrower grammar/range rules also apply. |
| Output field | Interpretation |
|---|---|
| result | Object containing the fields below. |
| result.seed | Original supplied seed string; injected-source replay additionally requires that source’s state. |
| result.increments | Proposed signed increments in generated order. |
| result.states | State sequence including the initial coordinate followed by every transition. |
| result.support | Exact finite support count as decimal text. |
{
"input": {
"start": 0,
"end": 0,
"steps": 4,
"seed": "batch56"
},
"output": {
"result": {
"seed": "batch56",
"increments": [
-1,
-1,
1,
1
],
"states": [
0,
-1,
-2,
-1,
0
],
"support": "6"
}
}
} Limitations and assumptions
- steps is 1–127 and endpoint coordinates within ±1,000,000. Parity or reachability failures reject; support is C(steps,positiveStepCount).
- A nonblank seed of at most 256 UTF-16 code units is required. With ordinary use the seed initializes one deterministic advancing source; an application-injected random source takes precedence and the seed alone then cannot replay the result. Uniformity statements assume independent uniform source draws in [0,1). Source calls are bounded and degenerate injected sources can fail a rejection budget. This is not cryptographically secure.
- Every declared outer field is required and unknown outer fields are rejected. Strings and JSON text have size limits, lists are bounded to 128 entries, and JSON nesting/node counts are bounded. Tighter operation-specific bounds stated above take precedence.
- Ordinary numeric outputs must be finite and within safe-integer magnitude. Exact large lengths/counts use decimal strings. Original record indexes and code-unit positions are zero-based; span ends are exclusive unless stated otherwise.
Alternative or Complementary methods
Choose a generator whose support matches the intended experiment and retain source-position provenance. Use a separate statistically justified process model or cryptographic source where those properties matter.
References
Similar or alternative tools
- Random Fixed-Pair Dyck Word
Uniformly sample a fixed-pair Dyck word by exact valid-completion count unranking; no rejection of unbalanced random strings, bounded to 64 pairs.
- Random Fixed Popcount Mask
Choose a uniform fixed-cardinality bit-position subset without replacement, returning ascending selected positions; no arbitrary rejection loop.