Popular recipes tagged "walker_s_alias"http://code.activestate.com/recipes/tags/walker_s_alias/2008-11-16T15:05:51-08:00ActiveState Code RecipesWalker's alias method for random objects with different probablities (Python) 2008-11-16T15:05:51-08:00denishttp://code.activestate.com/recipes/users/4168005/http://code.activestate.com/recipes/576564-walkers-alias-method-for-random-objects-with-diffe/ <p style="color: grey"> Python recipe 576564 by <a href="/recipes/users/4168005/">denis</a> (<a href="/recipes/tags/random_number/">random_number</a>, <a href="/recipes/tags/walker_s_alias/">walker_s_alias</a>). </p> <p>an example, strings A B C or D with probabilities .1 .2 .3 .4 --</p> <pre class="prettyprint"><code>abcd = dict( A=1, D=4, C=3, B=2 ) # keys can be any immutables: 2d points, colors, atoms ... wrand = Walkerrandom( abcd.values(), abcd.keys() ) wrand.random() # each call -&gt; "A" "B" "C" or "D" # fast: 1 randint(), 1 uniform(), table lookup </code></pre>