In [21]:
import random

def w0nk0sample(a,diversity=0.4):
    randomized = np.array(a)
    winner = len(a)-1
    while random.random() < diversity:
        randomized[np.argmax(randomized)] *= 0.25
    print randomized
    return np.argmax(randomized)

In [26]:
vec = [x*(1+x) for x in range(10)]
import numpy as np
v = np.array(vec)
print v


[ 0  2  6 12 20 30 42 56 72 90]

In [27]:
print w0nk0sample(vec,0.7)
print w0nk0sample(vec,0.7)
print w0nk0sample(vec,0.7)
print w0nk0sample(vec,0.7)
print w0nk0sample(vec,0.7)


[ 0  2  6 12 20  7 10 14 18 22]
9
[ 0  2  6 12 20  7 10 14 18  5]
4
[ 0  2  6 12 20 30 42 14 18 22]
6
[ 0  2  6 12 20 30 42 56 72 22]
8
[ 0  2  6 12 20 30 42 56 72 22]
8

In [20]:
print w0nk0sample(vec,0.9999)


9

In [ ]: