줄리아에서 랜덤 시드 고정하는 법
설명1
줄리아에서 랜덤 시드는 다음과 같이 고정한다.
seed!([rng=default_rng()], seed) -> rng
seed!([rng=default_rng()]) -> rng
입력 변수rng
는 Random Number Generator난수생성기의 약자로 난수를 추출하는 알고리즘을 말한다. Random
패키지에서는 다음과 같은 옵션을 제공한다.
TaskLocalRNG
: 기본 설정 값이다.Xoshiro
RandomDevice
MersenneTwister
코드
시드를 0으로 고정하고 세번을 뽑은 뒤, 다시 0으로 고정하고 세번을 뽑으면 같은 값이 나옴을 확인할 수 있다.
julia> using Random
julia> Random.seed!(0)
TaskLocalRNG()
julia> rand(1)
1-element Vector{Float64}:
0.4056994708920292
julia> rand(1)
1-element Vector{Float64}:
0.06854582438651502
julia> rand(1)
1-element Vector{Float64}:
0.8621408571954849
julia> Random.seed!(0)
TaskLocalRNG()
julia> rand(3)
3-element Vector{Float64}:
0.4056994708920292
0.06854582438651502
0.8621408571954849