Hacer funciones que establezcan la semilla aleatoria independiente

A veces quiero escribir una función aleatoria que siempre devuelve la misma salida para una entrada en particular. Siempre he implementado esto estableciendo la semilla aleatoria en la parte superior de la función y luego procediendo. Considere dos funciones definidas de esta manera:

sample.12 <- function(size) {
  set.seed(144)
  sample(1:2, size, replace=TRUE)
}
rand.prod <- function(x) {
  set.seed(144)
  runif(length(x)) * x
}

sample.12 devuelve un vector del tamaño especificado muestreado aleatoriamente del conjunto{1, 2} yrand.prod multiplica cada elemento de un vector especificado por un valor aleatorio seleccionado uniformemente de[0, 1]. Normalmente esperaríax <- sample.12(10000) ; rand.prod(x) tener una distribución "escalonada" con pdf 3/4 en el rango[0, 1] y 1/4 en el rango[1, 2], pero debido a mi desafortunada elección de semillas aleatorias idénticas arriba, veo un resultado diferente:

x <- sample.12(10000)
hist(rand.prod(x))

Puedo solucionar este problema en este caso cambiando la semilla aleatoria en una de las funciones a otro valor. Por ejemplo, conset.seed(10000) enrand.prod Me sale la distribución esperada:

Anteriormente en SO Esta solución de usar diferentes semillas ha sido aceptada como el mejor enfoque para generar flujos de números aleatorios independientes. Sin embargo, encuentro que la solución no es satisfactoria porque las corrientes con diferentes semillas podrían estar relacionadas entre sí (posiblemente inclusoaltamente relacionados entre sí); de hecho, incluso podrían producir flujos idénticos de acuerdo con?set.seed:

No hay garantía de que diferentes valores de semilla siembren el RNG de manera diferente, aunque cualquier excepción sería extremadamente rara.

¿Hay alguna manera de implementar un par de funciones aleatorias en R que:

Siempre devuelve la misma salida para una entrada particular, y¿Hacer cumplir la independencia entre sus fuentes de aleatoriedad mediante algo más que simplemente usar diferentes semillas aleatorias?

Respuestas a la pregunta(1)

Su respuesta a la pregunta