Stopping circle.py

From Werner KRAUTH

(Difference between revisions)
Jump to: navigation, search
Revision as of 20:11, 12 June 2024
Werner (Talk | contribs)

← Previous diff
Revision as of 20:12, 12 June 2024
Werner (Talk | contribs)

Next diff →
Line 20: Line 20:
print('site = ', k,' probability = ', data[k]) print('site = ', k,' probability = ', data[k])
-site = 0 probability = 0.1673+ site = 0 probability = 0.1673
-site = 1 probability = 0.1671+ site = 1 probability = 0.1671
-site = 2 probability = 0.1645+ site = 2 probability = 0.1645
-site = 3 probability = 0.1657+ site = 3 probability = 0.1657
-site = 4 probability = 0.1656+ site = 4 probability = 0.1656
-site = 5 probability = 0.1696+ site = 5 probability = 0.1696

Revision as of 20:12, 12 June 2024

import random
N_trials = 100000
N = 6
data = [0] * N
for iter in range(N_trials):
    NotVisited = set([k for k in range(N)])
    x = 0
    if random.uniform(0.0, 1.0) < 1.0 / N:
        data[x] += 1.0 / N_trials
    else:
        NotVisited = set([k for k in range(N)])
        NotVisited.discard(x)
        while len(NotVisited) > 0:
            sigma = random.choice([-1, 1])
            x = (x + sigma) % N
            NotVisited.discard(x)
        data[x] += 1.0 / N_trials
print('stopping samples')
for k in range(N):
    print('site = ', k,' probability = ', data[k])
site =  0  probability =  0.1673
site =  1  probability =  0.1671
site =  2  probability =  0.1645
site =  3  probability =  0.1657
site =  4  probability =  0.1656
site =  5  probability =  0.1696
Personal tools