Consider slides in random order for which the time serves as an index. However, if slides take varying amounts of time to display, things become tricky.
One way to do it is to schedule blocks of slides at a time. Perhaps an hour worth of slides is precomputed from that hour's random seed. The total number of slides shown in the hour is varying, depending on which slides took longer. One can later know what slide was shown when from recovering the random seed computed from the hour, then linear search by time.
Avoid repeats between blocks by the following approximation: compute not just the current hour but the blocks 2 and 1 hour before. Assume all slides were shown 2 hours before: this is an approximation. Compute the approximated block 1 hour before avoiding repeats with the approximated block 2 hours before. Compute the current block avoiding repeats with approximated the block 1 hour before. We must use approximations and not reality to avoid an infinitely long Markov chain into the past.
Need to do slight fudging to cause each block to be exactly 1 hour. For example, scale everything by time.
No comments :
Post a Comment