Assuming you have an iPod4 with 500 songs, and you put them all on shuffle play, how many songs would you have to observe before you could mathematically determine the shuffle/PRNG algorithms and be able to predict the next song with 100% accuracy?
I don't know Apple's specifics, and they won't tell me, but I assume the simplest rule set for shuffling would be something like: [in a list of T songs, let N=1. Choose a random integer X between (and including) T and N. Then swap the list items at positions N and X.]
The most common PRNG (or pseudo random number generator), according to Google, seems to be the Linear Conguential Generator.
I don't know Apple's specifics, and they won't tell me, but I assume the simplest rule set for shuffling would be something like: [in a list of T songs, let N=1. Choose a random integer X between (and including) T and N. Then swap the list items at positions N and X.]
The most common PRNG (or pseudo random number generator), according to Google, seems to be the Linear Conguential Generator.