I feel like the following problem should have a well-known answer, but unfortunately I don't know the keywords to look up.
I would like a procedure that takes as an input an ordered list of items, and outputs a shuffled version of that list. The procedure should have a tunable 'knob' that determines the degree of randomness (defined in some appropriate sense) in the output list. In particular:
If the knob is set to 0, the output should be identical to the input
If the knob is set to 1, the I output should be a complete shuffle, such that none of the input order is preserved (in expectation)
A small value of the knob should make items likely to move around by a few places up or down the list, but big jumps should be rare
Is there a way to make these ideas precise, and is there a known procedure for this problem?
Any leads would be appreciated.