Foros del Web » Programando para Internet » PHP »

Duda existencial RAND()

Estas en el tema de Duda existencial RAND() en el foro de PHP en Foros del Web. Bueno, la verdad tengo una duda que es inimaginable para mi, intente pensarlo pero no se me ocurre ni lo mas mínimo. 1) Como funciona ...
  #1 (permalink)  
Antiguo 04/02/2013, 02:49
Avatar de JorM  
Fecha de Ingreso: diciembre-2012
Ubicación: Argentina
Mensajes: 53
Antigüedad: 12 años
Puntos: 2
Duda existencial RAND()

Bueno, la verdad tengo una duda que es inimaginable para mi, intente pensarlo pero no se me ocurre ni lo mas mínimo.

1) Como funciona internamente RAND para generar un numero aleatorio?

2) Si quisiera armar una función propia como RAND() que genere un numero aleatorio como seria? (el concepto)

Espero sus respuestas. De seguro a mas de uno le debe interesar...

Gracias!
  #2 (permalink)  
Antiguo 04/02/2013, 08:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Duda existencial RAND()

Todas la funciones generadoras de números aleatorios en realidad generan pseudo aleatorios ya que trabajan a partir de una semilla y alguna función generalmente basada en el reloj del sistema.

Buscando funciones pseudo aleatorias encontraras mucha documentación.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 04/02/2013, 09:27
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 4 meses
Puntos: 194
Respuesta: Duda existencial RAND()

Puedo darte una breve descripcion de como funciona, pero es mas matematica discreta que otra cosa.

Primero que nada tienes que saber que no existen en informatica los números aleatorios reales, si no algoritmos que las simulan pero se pueden "predecir" es decir, saber su resultado de modo anticipado. Para intentar evitar estas situaciones, las funciones random, y php no es la excepción, poseen una semilla, un número que de ser cambiado, también varia radicalmente el resultado del aleatorio, normalmente esta semilla es generada a partir de algún dato.

Usando autómatas finitos deberías ser capaz de generar tu mismo una función random, aunque no es sencillo, existen varias formas de hacerlo. Con buscar en google encontraras algunos pseudocodigos ya preparados.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: existencial
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:53.