Description
Assign unique supplied item IDs to distinct currently empty integer slots without replacement; report actual slot IDs, preserve occupied slots.
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.
Assign unique supplied item IDs to distinct currently empty integer slots without replacement; report actual slot IDs, preserve occupied slots.
When to use this tool
Use this tool to assign unique supplied item IDs to distinct currently empty integer slots without replacement; report actual slot IDs, preserve occupied slots.
How to use the tool and how it works
- Enter items, slots, occupied, seed using the definitions below.
- Run the operation. Resolve input-format errors before interpreting an output.
- Read result.seed, result.placements, using the stated boundary, ordering, sign and absence conventions.
Require distinct item IDs and distinct occupied slot indexes. Form free slots in ascending order, uniformly choose an ordered distinct slot selection and pair slots with items in input order.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| items | Distinct exact string item IDs, retaining their supplied order where specified. | Dense list of at most 128 literal strings, each at most 8,192 UTF-16 units. |
| slots | Total labeled slot count, integer 1–128. | Finite safe integer satisfying the stated bounds. |
| occupied | Distinct occupied slot indexes from zero through slots−1. | Dense list of at most 128 finite numbers, under the stated integer/range rules. |
| 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.placements | Input-order {item,slot} records using distinct free slots. |
{
"input": {
"items": [
"a",
"b"
],
"slots": 4,
"occupied": [
1
],
"seed": "batch56"
},
"output": {
"result": {
"seed": "batch56",
"placements": [
{
"item": "a",
"slot": 2
},
{
"item": "b",
"slot": 3
}
]
}
}
} Limitations and assumptions
- slots is 1–128, items must be nonempty and no more numerous than free slots. Occupied slots are never overwritten.
- 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 Labeled Capacity Slot Deal
Uniform labeled slot permutation for explicit capacities whose sum equals the unique item count; within-group slot order is retained.
- Random Pinned Slot Permutation
Uniformly permute only unpinned positions; supplied pinned source positions remain in the same output slots.