Tôi có một tập lệnh lớn bằng Python. Tôi lấy cảm hứng từ mã của người khác vì vậy tôi đã sử dụng mô-đun numpy.random
cho một số thứ (ví dụ để tạo một dãy số ngẫu nhiên được lấy từ phân phối nhị thức) và ở những nơi khác tôi sử dụng mô-đun random.random
.Sự khác nhau giữa numpy.random và random.random trong Python
Ai đó có thể cho tôi biết sự khác biệt chính giữa hai loại này không? Nhìn vào trang web doc cho mỗi một trong hai dường như với tôi rằng numpy.random
chỉ có nhiều phương pháp hơn, nhưng tôi không rõ ràng về cách tạo ra các số ngẫu nhiên khác nhau.
Lý do tại sao tôi hỏi là vì tôi cần để gieo rắc chương trình chính của tôi cho mục đích gỡ lỗi. Nhưng nó không hoạt động trừ khi tôi sử dụng cùng một bộ tạo số ngẫu nhiên trong tất cả các mô-đun mà tôi đang nhập, điều này có đúng không?
Ngoài ra, tôi đọc ở đây, trong một bài đăng khác, một cuộc thảo luận về KHÔNG sử dụng numpy.random.seed()
, nhưng tôi đã không thực sự hiểu tại sao đây là một ý tưởng tồi. Tôi thực sự sẽ đánh giá cao nếu có ai đó giải thích cho tôi tại sao lại như vậy.
Là một lưu ý hàng xa có liên quan, đôi khi neccesary sử dụng * không *, kể từ khi twister Mersenne không tạo chuỗi ngẫu nhiên của entropy đủ để mã hóa (và một số mục đích khoa học khác thường). Trong những trường hợp hiếm hoi này, bạn thường cần [Crypto.Random] (https://www.dlitz.net/software/pycrypto/apidoc/Crypto.Random.random-module.html), có thể sử dụng các nguồn entropy cụ thể của hệ điều hành để tạo ra các chuỗi ngẫu nhiên không xác định có chất lượng cao hơn nhiều so với chỉ có sẵn từ 'random.random'. Bạn thường không cần điều này, mặc dù. – SingleNegationElimination
Cảm ơn bạn Hannnele. Thông tin chi tiết của bạn thực sự rất hữu ích! Nó chỉ ra rằng tôi không thể lấy đi bằng cách sử dụng ONLY một bộ tạo số ngẫu nhiên duy nhất, (cần phải được numpy vì ngẫu nhiên không tạo ra các bản phân phối nhị thức) bởi vì các phần của chương trình của tôi gọi một chương trình khác sử dụng ngẫu nhiên. Tôi sẽ phải gieo hạt cho hai máy phát điện. – Laura
"nếu bạn biết số nào bạn có bây giờ, có thể dự đoán với sự chắc chắn tuyệt đối số lượng sẽ đến tiếp theo." Tôi nghĩ rằng tuyên bố này có thể cần một số làm rõ. Điều gì có nghĩa là nếu bạn biết * trạng thái bên trong * của bộ tạo, bạn có thể tái tạo trình tự - đó là những gì bạn làm khi bạn gieo hạt máy phát điện. Với một đầu ra số duy nhất từ máy phát, bạn không thể dự đoán số tiếp theo. Khoảng thời gian quá lớn, bạn có thể sẽ cần một chuỗi số dài trước khi bạn có thể tính toán vị trí của bạn trên chuỗi giả ngẫu nhiên và do đó dự đoán chuỗi tiếp theo. –