dimanche 30 octobre 2016

Are pseudo random number generators less likely to repeat?

So they say if you flip a coin 50 times and get heads all 50 times, you're still 50/50 the next flip and 1/4 for the next two. Do you think/know if this same principle applies to computer pseudo-random number generators? I theorize they're less likely to repeat the same number for long stretches.

I ran this a few times and the results are believable, but I'm wondering how many times I'd have to run it to get an anomaly output.

def genString(iterations):
   mystring = ''
   for _ in range(iterations):
       mystring += str(random.randint(0,9))
   return mystring


def repeatMax(mystring):
    tempchar = ''
    max = 0
    for char in mystring:
            if char == tempchar:
                    count += 1
                    if count > max:
                            max = count
            else:
                count = 0
            tempchar = char
    return max


for _ in range(10):
    stringer = genString()
    print repeatMax(stringer)

I got all 7's and a couple 6's. If I run this 1000 times, will it approximate a normal distribution or should I expect it to stay relatively predictable? I'm trying to understand the predictability of pseudo random number generation.




Aucun commentaire:

Enregistrer un commentaire