Số ngẫu nhiên Máy phát điện
Tạo số ngẫu nhiên ngay lập tức trong trình duyệt của bạn. Tùy chỉnh phạm vi, số lượng và định dạng. Miễn phí, riêng tư và không có dữ liệu nào được gửi đến bất kỳ máy chủ nào.
Tạo
Tạo số ngẫu nhiên ngay lập tức trong trình duyệt của bạn. Tùy chỉnh phạm vi, số lượng và định dạng. Miễn phí, riêng tư và không có dữ liệu nào được gửi đến bất kỳ máy chủ nào.
Tạo
Trình tạo số ngẫu nhiên tạo ra các số trong một phạm vi xác định mà không có mẫu có thể dự đoán được. Các ứng dụng phổ biến bao gồm tung xúc xắc, chọn số xổ số, lấy mẫu cho công việc thống kê, tạo dữ liệu thử nghiệm và bất kỳ bối cảnh nào cần có sự lựa chọn khách quan. Chất lượng của tính ngẫu nhiên phụ thuộc vào nguồn: nguồn yếu có thể tạo ra các số trông ngẫu nhiên nhưng có mẫu có thể phát hiện được; những nguồn mạnh không thể đoán trước được ngay cả đối với những phân tích phức tạp.
Trình tạo này sử dụng nguồn ngẫu nhiên được bảo mật bằng mật mã của trình duyệt (window.crypto.getRandomValues) cho các mục đích sử dụng liên quan đến bảo mật, với dự phòng Math.random tùy chọn cho các mục đích giải trí trong đó tốc độ quan trọng hơn bảo mật. Đối với việc tung xúc xắc, lượt chọn trong cuộc thi hoặc bất kỳ điều gì ảnh hưởng đến kết quả, nguồn an toàn là lựa chọn phù hợp.
Phạm vi đầu ra và số lượng có thể được cấu hình. Tạo một số, nhiều số cùng một lúc hoặc một chuỗi có tính duy nhất tùy chọn (không trùng lặp). Các định dạng đầu ra bao gồm số đơn giản, danh sách được phân tách bằng dấu phẩy và văn bản mỗi dòng.
Nhiều quyết định nhỏ được hưởng lợi từ việc lựa chọn ngẫu nhiên không thiên vị. Chọn người chiến thắng trong cuộc thi, quyết định nên thử nhà hàng nào, sắp xếp ngẫu nhiên thứ tự các trường hợp thử nghiệm, lấy mẫu hàng từ tập dữ liệu - tất cả đều được cải thiện bằng trình tạo số ngẫu nhiên loại trừ sự thiên vị của con người.
Công việc thống kê và khoa học cũng phụ thuộc vào chất lượng ngẫu nhiên. Mô phỏng Monte Carlo, chỉ định nhóm thử nghiệm A/B, ngẫu nhiên hóa đầu vào thử nghiệm và nhiều kỹ thuật khác cần các con số thống nhất về mặt thống kê và không thể đoán trước đối với hệ thống đang được nghiên cứu.
Đặt phạm vi và số lượng, tạo.
Tạo số nguyên ngẫu nhiên: lấy một byte (hoặc từ) ngẫu nhiên từ crypto.getRandomValues, áp dụng lấy mẫu từ chối để tránh sai lệch modulo, ánh xạ tới phạm vi mong muốn. Modulo đơn giản không có lấy mẫu từ chối sẽ tạo ra độ lệch nhẹ cho các phạm vi không phân chia đều cho phạm vi của nguồn; lấy mẫu từ chối tránh điều này.
Tạo số nguyên thống nhất không có sai lệch: tạo byte ngẫu nhiên, nếu byte> tầng (256/phạm vi) × phạm vi, từ chối và thử lại, nếu không thì trả về phạm vi mod byte. Tỷ lệ từ chối trung bình cao nhất là 50%, do đó thuật toán thực tế nhanh ngay cả đối với các phạm vi khó xử.
Math.random so với crypto.getRandomValues: Math.random nhanh hơn nhưng sử dụng xorshift hoặc PRNG tương tự có thể dự đoán được với đủ đầu ra. crypto.getRandomValues được bảo mật bằng mật mã. Đối với mục đích sử dụng không bảo mật (xúc xắc, lựa chọn thông thường), cả hai đều có tác dụng; để bảo mật, hãy sử dụng tiền điện tử.