Xáo trộn dòng
Xáo trộn các dòng của danh sách theo thứ tự ngẫu nhiên bằng thuật toán Fisher–Yates an toàn về mật mã. Xáo lại chỉ với một cú nhấn; không tải gì lên.
Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.
Xáo trộn dòng là gì?
Đặt các dòng của danh sách theo thứ tự ngẫu nhiên. Mỗi lần xáo dùng bộ sinh số ngẫu nhiên an toàn về mật mã của trình duyệt, nên mọi thứ tự đều có khả năng như nhau, và bạn có thể xáo lại bao nhiêu lần tùy ý.
Cách sử dụng Xáo trộn dòng
- Dán danh sách, mỗi dòng một mục, vào ô Đầu vào.
- Danh sách đã xáo xuất hiện ngay ở ô Đầu ra.
- Nhấn Xáo trộn lại để có thứ tự ngẫu nhiên mới.
- Giữ bật Xóa dòng trống để bỏ qua dòng trống.
Ví dụ
a b c
c a b
Một kết quả có thể có – mỗi lần chạy đều ngẫu nhiên.
Khi nào nên dùng Xáo trộn dòng
Dùng công cụ để sắp xếp ngẫu nhiên tên, câu hỏi, bài hát trong danh sách phát hay test case. Để chọn người thắng cuộc cần minh bạch công khai, hãy ưu tiên phương pháp mà người khác có thể kiểm chứng tính ngẫu nhiên; kết quả xáo trên trình duyệt không thể kiểm tra lại sau đó.
Xáo trộn dòng hoạt động như thế nào
Công cụ chạy thuật toán xáo trộn Fisher–Yates (Knuth): đi từ dòng cuối lên dòng đầu, hoán đổi mỗi dòng với một dòng được chọn ngẫu nhiên ở vị trí đó hoặc phía trước. Chỉ số ngẫu nhiên lấy từ crypto.getRandomValues kèm lấy mẫu loại bỏ (rejection sampling), giúp loại bỏ sai lệch nhỏ mà phép modulo đơn giản gây ra, nên mỗi thứ tự trong n! thứ tự có xác suất như nhau.
Các Trường Hợp Sử Dụng Phổ Biến
- Sắp xếp ngẫu nhiên thứ tự người thuyết trình hoặc các đội
- Xáo trộn câu hỏi trắc nghiệm hoặc flashcard
- Tạo thứ tự phát ngẫu nhiên cho danh sách nhạc
- Xáo trộn dữ liệu thử nghiệm hoặc phương án trả lời khảo sát
Câu Hỏi Thường Gặp
Việc xáo trộn có thực sự ngẫu nhiên không?
Có, công cụ dùng bộ sinh số an toàn về mật mã của hệ điều hành thông qua Web Crypto API và thuật toán Fisher–Yates không thiên lệch.
Cùng một thứ tự có thể xuất hiện hai lần không?
Có, mỗi lần xáo là độc lập. Với ít dòng thì rất dễ trùng: 3 dòng chỉ có 6 thứ tự khả dĩ.
Tôi có thể chọn ngẫu nhiên một dòng không?
Hãy xáo danh sách và lấy dòng đầu tiên – dòng nào cũng có khả năng như nhau để đứng đầu.