Giả sử tôi gieo 123 bằng srand(123)
và chạy rand()
X lần. Sau đó, tôi muốn có thể khởi động lại Julia và hạt giống một số (hoặc tiểu bang) như vậy mà khi tôi chạy rand()
một lần nữa tôi nhận được số đó có thể đã được tạo ra nếu tôi có hạt giống 123 và chạy rand()
X + 1 lần. Có cách nào tôi có thể làm điều đó, hay tôi thực sự phải chạy rand()
X lần để có được trạng thái tôi muốn?Có cách nào để có được trạng thái của trình tạo số ngẫu nhiên không?
5
A
Trả lời
5
Nếu giải pháp với máy phát điện số tùy chỉnh ngẫu nhiên được trình bày trong Retrieve RNG seed in julia là không khả thi cho bạn là tốt nhất tôi có thể đưa ra là để sao chép toàn bộ cấu trúc của bộ tạo số ngẫu nhiên toàn cầu:
function reset_global_rng(rng_state)
Base.Random.GLOBAL_RNG.seed = rng_state.seed
Base.Random.GLOBAL_RNG.state = rng_state.state
Base.Random.GLOBAL_RNG.vals = rng_state.vals
Base.Random.GLOBAL_RNG.idx = rng_state.idx
end
rs = deepcopy(Base.Random.GLOBAL_RNG)
println(rand(5))
# [0.301558,0.602108,0.220952,0.0338732,0.553414]
reset_global_rng(rs)
println(rand(5))
# [0.301558,0.602108,0.220952,0.0338732,0.553414]
mặc dù tôi không Đảm bảo 100% cách nó không tương tác với dsfmt_gv_srand()
trong random.jl.
Các vấn đề liên quan
- 1. Làm cách nào để tạo số ngẫu nhiên bằng trạng thái chức năng?
- 2. Lưu trạng thái của C++ 11 trình tạo ngẫu nhiên mà không cần sử dụng iostream
- 3. Làm thế nào tôi có thể nhận được R's lapply (và mclapply) để khôi phục trạng thái của trình tạo số ngẫu nhiên?
- 4. Trình tạo số ngẫu nhiên phân phối ngẫu nhiên
- 5. Trình tạo số ngẫu nhiên có phân phối beta
- 6. Trạng thái ngẫu nhiên (số ngẫu nhiên giả) trong Scikit tìm hiểu
- 7. c - trình tạo số ngẫu nhiên
- 8. Sử dụng OpenSSL "không thể ghi" trạng thái ngẫu nhiên "có nghĩa là gì?
- 9. Cách tạo số nguyên ngẫu nhiên ngẫu nhiên "đủ"?
- 10. Hiểu phân bố Poisson của trình tạo số ngẫu nhiên
- 11. Làm cách nào để tạo n số ngẫu nhiên mà không có vòng lặp for
- 12. android - tạo số ngẫu nhiên không có lặp lại
- 13. Trình tạo số ngẫu nhiên tạo số nguyên cho Java
- 14. Làm cách nào để định lượng chất lượng của trình tạo số giả ngẫu nhiên?
- 15. Làm cách nào để tạo một số ngẫu nhiên trong Swift mà không lặp lại số ngẫu nhiên trước đó?
- 16. Làm cách nào để tạo các số ngẫu nhiên mà không có hàm rand()?
- 17. Làm cách nào để tạo số ngẫu nhiên trên iPhone?
- 18. số ngẫu nhiên không quá ngẫu nhiên
- 19. Cách nhận số ngẫu nhiên với trình tạo sai
- 20. Tạo số ngẫu nhiên có trọng số trong R
- 21. Làm cách nào để tạo số ngẫu nhiên bằng Python?
- 22. Trình tạo số ngẫu nhiên không đồng nhất?
- 23. Làm cách nào tôi có thể truy xuất hạt giống hiện tại của trình tạo số ngẫu nhiên của NumPy?
- 24. Cách tạo số ngẫu nhiên khác nhau?
- 25. Làm cách nào để tạo số ngẫu nhiên trong Dart?
- 26. Thuật toán để tạo số ngẫu nhiên
- 27. Tạo số ngẫu nhiên không đồng nhất
- 28. Tôi làm cách nào để có được trạng thái của một chương trình?
- 29. Làm cách nào để có được trạng thái tiến trình của hàm sao chép trong PHP?
- 30. Cách tạo số ngẫu nhiên trong Elixir?
vâng, tôi chỉ cần thay đổi nội dung được đề cập trong nhận xét. – amrods