----- Original Message -----
From: "Hal E. Fulton" <hal9000 / hypermetrics.com>

Now, is there a good name for this function?
I was likely misusing the word "biased."
----------------------------

Nope.

:)

PsychologicalInfiniteShuffle?
HumanRandom?

It's too much a matter of human expectation, I think.  I'm not even sure we
have properly formalized the question yet.  Are we only trying to avoid
repeats, or are we also wanting to discourage more recent choices in favor
of more distant ones?  Do we want this function to work on all possible
inputs?  If your input weights are simply {"." => 1, "'" => 1}, which of
these is the best answer?

- transition matrix:
  .'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'

- my latest algorithm:
  .'..'.'.'..'..'..'.'.'...'.''.''....''

- truly random at each step:
  ''..''..'....'.'''''.'..'''..'''....''

- "skipping and running at the same time":
  .'..'.''.'..'.''.'..'.''.'..'.''.'..'.

We can't name the answer until we ask the question.

Chris