random.vip

Xáo trộn danh sách & chia nhóm

Dán danh sách, chọn số nhóm cần chia (1 nếu chỉ muốn đảo thứ tự) rồi bấm Xáo trộn.

Thứ tự mới
Chưa xáo trộn
1 = không chia

Khi nào cần xáo trộn thay vì bốc thăm?

Bốc thăm chọn ra một vài mục và bỏ phần còn lại; xáo trộn giữ nguyên tất cả nhưng sắp lại thứ tự. Xáo trộn phù hợp khi mọi người đều phải tham gia nhưng thứ tự hoặc nhóm cần được quyết định ngẫu nhiên: thứ tự thuyết trình, thứ tự thi đấu vòng loại, chia đội trong buổi team building, xếp cặp đổi quà.

Chia nhóm hoạt động thế nào?

Sau khi đảo thứ tự, các mục được rải lần lượt vào các nhóm theo kiểu chia bài: mục 1 vào nhóm 1, mục 2 vào nhóm 2, hết nhóm thì quay lại. Nhờ đó các nhóm chênh nhau nhiều nhất một thành viên. Với 20 người chia 3 nhóm, bạn được hai nhóm 7 và một nhóm 6.

Về thuật toán Fisher–Yates

Thuật toán duyệt danh sách từ cuối về đầu, mỗi bước hoán đổi phần tử hiện tại với một phần tử ngẫu nhiên phía trước nó. Mỗi hoán vị trong n! hoán vị có thể đều có xác suất bằng nhau. Một cách phổ biến nhưng sai là sort(() => Math.random() - 0.5): hàm so sánh không nhất quán khiến một số thứ tự xuất hiện nhiều hơn hẳn, đồng thời lại dùng nguồn ngẫu nhiên yếu. random.vip không dùng cách đó.

Ví dụ ứng dụng

  • Bốc thăm chia bảng giải bóng đá phong trào: dán 16 đội, chia 4 nhóm, mỗi nhóm là một bảng đấu.
  • Thứ tự bảo vệ đồ án: dán danh sách sinh viên, chia 1 nhóm, thứ tự hiện ra kèm số thứ tự.
  • Secret Santa: xáo trộn danh sách rồi mỗi người tặng quà cho người kế tiếp, người cuối tặng người đầu.