2009-10-25 22 views
12

Pregunta muy simple. ¿Qué significa el término 'siembra' en general? Pondré el contexto, es decir, debes sembrar para funciones aleatorias.¿Qué significa 'siembra'?

+2

El título se supone que es corto, y la publicación real debería explicar la pregunta ... no al revés. – hasen

Respuesta

12

La mayoría de las funciones aleatorias que son comunes en las computadoras personales no son aleatorias, sino deterministas hasta cierto punto. La 'semilla' para estas funciones pseudoaleatorias es el punto de partida en el que se basan los valores futuros. Esto es útil para propósitos de depuración: si mantiene la semilla igual desde la ejecución hasta la ejecución obtendrá los mismos números.

Para obtener números que son más aleatorios, a menudo se usa una semilla diferente desde la ejecución hasta la ejecución. Esto a menudo se basa en el tiempo de la máquina.

Este método es completamente diferente de generar un número aleatorio 'verdadero' basado en algún tipo de propiedad física en el mundo que nos rodea. Las lámparas de lava y las manchas solares son dos de las propiedades más "divertidas" que se pueden observar para generar números "más aleatorios". Cualquiera puede presionar http://www.random.org/ para obtener un número aleatorio real si es realmente necesario como para un sitio web de póquer. Si no tienes un buen generador, la gente puede intentar averiguar cómo funciona el generador y predecir los números futuros.

24

Significa: elija un lugar para comenzar.

Piense en un generador de números pseudoaleatorios como una larga lista de números. Esta lista es circular, eventualmente se repite.

Para utilizarlo, debe elegir un lugar de partida. Esto se llama una "semilla".

+0

Algunas diapositivas que hablan sobre la siembra. Un simple LSFR PNRG es probablemente la forma más fácil de visualizar esto. Ver y los enlaces asociados. –

2

La función aleatoria "Siembra" impide que proporcione la misma secuencia de números aleatorios. Piense en ello como un inicio súper aleatorio de su generador aleatorio.

2

Imagina un juego de cartas y desarrolla el programa del juego en lugar de ejecutar el juego para jugarlo.

Los generadores de números pseudoaleatorios usan una semilla o semillas para determinar el punto de partida de la secuencia. Algunos de ellos siempre hacen la misma secuencia, otros pueden producir secuencias diferentes dependiendo de la semilla. Algunos usan una cascada, a un simple RNG se le da una semilla simple, y esto se ejecuta por un tiempo para producir una semilla más compleja para la obra maestra RNG.

Es bastante útil poder repetir deliberadamente la secuencia al desarrollar el programa o cuando uno desea reproducir los resultados anteriores.

Sin embargo, imagina un juego de cartas. Obviamente, no es una buena idea tratar siempre la misma secuencia de cartas.