Trình tạo tập hợp số và chữ cái ngẫu nhiên là gì?
Công cụ này tạo ra một tập hợp gồm một hoặc nhiều phần tử được chọn ngẫu nhiên từ khoảng giá trị mà bạn tự xác định. Khoảng có thể là số (ví dụ 1-100) hoặc chữ cái (ví dụ a-j). Đây là công cụ hữu ích để lấy mẫu, bốc thăm, tạo mã PIN, chọn câu hỏi trắc nghiệm, chia đội ngẫu nhiên, hay bất kỳ tác vụ nào cần lựa chọn ngẫu nhiên khách quan từ một tập hợp đã biết.
Cách sử dụng
Nhập Số lượng mẫu (số phần tử bạn muốn lấy), sau đó nhập Khoảng lấy mẫu theo dạng ĐẦU-CUỐI. Chọn xem có Cho phép trùng lặp hay không (tức lấy mẫu có hoàn lại) và có Thêm dấu phẩy giữa các phần tử hay không. Nhấn tính toán để nhận một tập hợp mới được rút ra theo thứ tự ngẫu nhiên.
Nếu cả hai đầu của khoảng đều là số nguyên, công cụ sẽ hoạt động ở chế độ số; nếu cả hai đều là một chữ cái đơn, nó sẽ chạy ở chế độ chữ cái và giữ nguyên kiểu chữ (hoa/thường) của chữ cái đầu tiên.
Công thức và thuật toán
Tập hợp ứng viên là mọi giá trị nằm trong khoảng (bao gồm cả hai đầu mút): với số, đó là tất cả số nguyên từ nhỏ đến lớn, cho ra cao - thấp + 1 giá trị; với chữ cái, đó là mọi mã ký tự từ mã thấp đến mã cao.
$$\text{Draw} = \text{Sample Size} \text{ items from a population of size } N$$ $$\text{where}\quad \left\{ \begin{aligned} N &= |\,\text{high} - \text{low}\,| + 1 \\ [\text{low},\text{high}] &= \text{Sample Range} \end{aligned} \right.$$Mỗi phần tử được chọn theo phân phối đều với chỉ số \(= \lfloor \text{số ngẫu nhiên} \times \text{số phần tử còn lại}\rfloor\). Khi không cho phép trùng lặp, tập hợp sẽ được xáo trộn (thuật toán Fisher-Yates) rồi lấy \(N\) phần tử đầu tiên, nên mọi kết quả đều khác nhau:
$$\text{Draw} = \min\!\left( \text{Sample Size},\ N \right) \text{ unique items}$$Khi cho phép trùng lặp, mỗi lần chọn là độc lập và các giá trị có thể lặp lại, mỗi giá trị phân phối đều trên \(1 \ldots N\):
$$\text{Draw} = \text{Sample Size} \text{ values, each uniform over } 1 \ldots N$$ $$P(\text{any item}) = \dfrac{1}{N}$$
Ví dụ minh họa
Số lượng mẫu là 5, Khoảng 1-100, không trùng lặp, không dấu phẩy. Tập hợp ứng viên là các số nguyên từ 1 đến 100 (\(100 - 1 + 1 = 100\) giá trị). Năm lần rút phân phối đều khác nhau có thể cho: 48 50 62 18 10. Khi bật dấu phẩy, cùng kết quả đó sẽ hiển thị là 48, 50, 62, 18, 10.
Câu hỏi thường gặp
Nếu tôi yêu cầu nhiều phần tử hơn số phần tử trong khoảng thì sao? Khi tắt trùng lặp, số kết quả bị giới hạn bởi độ lớn của khoảng. Yêu cầu 12 chữ số khác nhau từ 0-9 sẽ chỉ trả về 10 phần tử.
Kết quả có được sắp xếp không? Không. Các phần tử xuất hiện theo đúng thứ tự ngẫu nhiên mà chúng được rút ra.
Làm sao để tạo mã PIN 4 chữ số? Đặt Số lượng mẫu là 4, Khoảng 0-9, tắt trùng lặp để có bốn chữ số khác nhau, hoặc bật trùng lặp nếu muốn cho phép chữ số lặp lại.