Articles of aleatorio

Convertir la cadena a aleatoria pero con probabilidad determinista repetible

¿Cómo convierto una cadena, por ejemplo, una ID de usuario más sal, a una apariencia aleatoria pero en realidad una probabilidad uniforme repetiblemente determinista en el rango semiabierto [0.0, 1.0)? Esto significa que la salida es ≥ 0.0 y <1.0. La distribución de salida debe ser uniforme independientemente de la distribución de entrada. Por ejemplo, […]

El número aleatorio en el rango 1 a sys.maxsize es siempre 1 mod 2 ^ 10

Estoy tratando de encontrar las propiedades estadísticas de los PRNG disponibles en Python (2.7.10) utilizando la prueba de frecuencia, la prueba de ejecución y la prueba de chi cuadrado. Para realizar la prueba de frecuencia, necesito convertir el número aleatorio generado a su representación binaria y luego contar la distribución de 1 ‘s y 0 […]

Convertir un entero en una elección aleatoria pero deterministicamente repetible

¿Cómo convierto un entero sin signo (que representa un ID de usuario) a una opción aleatoria pero en realidad es una opción repetiblemente determinista? La elección debe seleccionarse con la misma probabilidad (independientemente de la distribución de los enteros de entrada). Por ejemplo, si tengo 3 opciones, es decir, [0, 1, 2] , a la […]

Siembra de generadores de números aleatorios en progtwigs paralelos.

Estoy estudiando el módulo de multiprocesamiento de Python. Tengo dos casos: Ex. 1 def Foo(nbr_iter): for step in xrange(int(nbr_iter)) : print random.uniform(0,1) … from multiprocessing import Pool if __name__ == “__main__”: … pool = Pool(processes=nmr_parallel_block) pool.map(Foo, nbr_trial_per_process) Ej 2. (usando numpy) def Foo_np(nbr_iter): np.random.seed() print np.random.uniform(0,1,nbr_iter) En ambos casos, los generadores de números aleatorios se […]

Rendimiento de elección vs randint

Quiero elegir un entero aleatorio entre a y b , inclusive. Conozco 3 formas de hacerlo. Sin embargo, su rendimiento parece muy contraintuitivo: import timeit t1 = timeit.timeit(“n=random.randint(0, 2)”, setup=”import random”, number=100000) t2 = timeit.timeit(“n=random.choice([0, 1, 2])”, setup=”import random”, number=100000) t3 = timeit.timeit(“n=random.choice(ar)”, setup=”import random; ar = [0, 1, 2]”, number=100000) [print(t) for t in […]

Decimal aleatorio en python

¿Cómo obtengo una instancia decimal.Decimal ? Parece que el módulo aleatorio solo devuelve flotadores que son una pita para convertir a decimales.

Uso de los diccionarios en Python en lugar de la sentencia Case / Switch

Quiero aleatorizar un cubo de rubik que se inicializa como completo (todos los colores en los lados correctos). Tengo funciones de movimiento que giran el cubo. Quiero elegir aleatoriamente 50 funciones seguidas para aleatorizarlo correctamente. Estoy haciendo este proyecto para aprender un poco más sobre Python, ya que principalmente hago C ++ y veo que […]

Trazar árboles para un bosque aleatorio en Python con Scikit-Learn

Quiero trazar un árbol de decisión de un bosque aleatorio. Entonces, creo el siguiente código: clf = RandomForestClassifier(n_estimators=100) import pydotplus import six from sklearn import tree dotfile = six.StringIO() i_tree = 0 for tree_in_forest in clf.estimators_: if (i_tree <1): tree.export_graphviz(tree_in_forest, out_file=dotfile) pydotplus.graph_from_dot_data(dotfile.getvalue()).write_png('dtree'+ str(i_tree) +'.png') i_tree = i_tree + 1 Pero no genera nada … ¿Tiene […]

Haz que el módulo aleatorio sea seguro para hilos en Python

Tengo una aplicación que requiere los mismos resultados dado el mismo valor aleatorio. Pero encuentro random.randint no threadsafe. He intentado mutex pero esto no funciona. Aquí está mi código de experimento (largo pero simple): import threading import random def child(n, a): g_mutex = threading.Lock() g_mutex.acquire() random.seed(n) for i in xrange(100): a.append(random.randint(0, 1000)) g_mutex.release() def main(): […]

El método más rápido para generar una gran cadena aleatoria con letras latinas más bajas

Estoy tratando de resolver este problema del juez en línea Timus. Para resolver este problema, necesita generar una secuencia de 1 000 000 letras latinas en minúsculas y escribirlas en stdin en 1 segundo. Es fácil resolver este problema con C ++ o Java. Tengo solución de python aquí: import os from random import randint […]