Vòng quay ngẫu nhiên trực tuyến có thật sự công bằng?
Một vòng quay có thể trông công bằng mà vẫn bị gian lận — đây là cách phân biệt.
Nếu một vòng quay sẽ quyết định ai thắng giải, ai đi trước, hay ai nhận suất cuối, thì hỏi xem thứ đó có thật sự công bằng là điều hợp lý. Câu trả lời thẳng thắn: một cái tốt thì có, và bạn có thể kiểm tra. Hướng dẫn này giải thích, bằng tiếng Việt dễ hiểu, cách vòng quay trực tuyến chọn người thắng, “ngẫu nhiên” trên máy tính thật sự nghĩa là gì, và những dấu hiệu thực tế tách bộ chọn đáng tin khỏi cái mờ ám.
“Công bằng” thật sự nghĩa là gì
Công bằng gom lại thành hai điều. Thứ nhất, mỗi mục đủ điều kiện có đúng cơ hội nó được cho là có — không hơn, không kém. Thứ hai, kết quả không bị quyết từ trước hay bị đẩy nhẹ về một câu trả lời nào đó. Vòng quay công bằng không nhất thiết nghĩa là mọi mục đều có xác suất bằng nhau; nghĩa là tỉ lệ đúng như đã công bố, và không có gì diễn ra sau hậu trường để ghi đè chúng.
Sự phân biệt ấy quan trọng vì “công bằng” và “bằng nhau” không phải một. Một lần rút có thể hoàn toàn công bằng trong khi cố ý ưu ái một số mục, miễn là sự ưu ái ấy được để lộ. Sự bất công đến từ ảnh hưởng giấu kín, không phải từ tỉ lệ không đều.
“Ngẫu nhiên” trên máy tính nghĩa là gì
Máy tính không thể tự phát, nên chúng giả ngẫu nhiên bằng toán. Cách phổ biến nhất là bộ tạo số giả ngẫu nhiên (PRNG): một công thức khéo bắt đầu từ một số gọi là “hạt giống” rồi nhào ra một dòng giá trị trông như ngẫu nhiên. Chúng đủ ngẫu nhiên cho hầu hết mục đích, nhưng có một cái bẫy — vì chỉ là công thức, bất kỳ ai biết hạt giống và phương pháp đều có thể, về nguyên tắc, tính ra chính xác cái sẽ đến tiếp. Nó chỉ trông như không đoán được từ bên ngoài.
Trình duyệt cũng có lựa chọn thứ hai, mạnh hơn: bộ tạo an toàn mật mã, mở ra qua Web Crypto API (crypto.getRandomValues). Cái này được thiết kế đặc biệt để không đoán được — bạn không thể đảo ngược giá trị tiếp theo từ những giá trị đã thấy. Đây cùng lớp ngẫu nhiên dùng để bảo vệ mật khẩu và kết nối bảo mật, đúng vì thế nó là lựa chọn tốt hơn cho những lần rút mà người ta thật sự quan tâm. SpinKit dùng bộ tạo mật mã của trình duyệt cho các lần chọn, thay vì PRNG cơ bản, đúng để kết quả không thể bị đoán hay bị lái.
Bẫy “modulo bias”
Có một cái bẫy tinh vi đáng biết. Để biến một số ngẫu nhiên lớn thành “chọn một trong tám tên này”, mã phải nén nó xuống đúng khoảng. Cách làm ngây thơ có thể hơi nghiêng về một số mục hơn mục khác — một độ lệch nhỏ, lệch lạc mà bạn chẳng bao giờ nhận ra trên một lượt quay nhưng là thật trên nhiều lượt. Bộ chọn cẩn thận sửa điều đó để mỗi ô vẫn có trọng số đều. SpinKit sửa điều này, nên toán bên dưới không âm thầm nghiêng kết quả.
Trọng số vẫn công bằng — khi nhìn thấy được
Vòng quay mà một mục có lát lớn hơn các mục kia không phải bị hỏng. Lát lớn hơn đơn giản nghĩa là cơ hội cao hơn, và hoàn toàn chính đáng khi trọng số hiện rõ và mọi người đã đồng ý. Ví dụ kinh điển là rút thăm: người mua năm vé phải có cơ hội gấp năm lần người mua một vé. Không ai gọi đó là gian lận, vì lý do của tỉ lệ không đều thì rõ như ban ngày.
Điều biến trọng số thành gian lận là giấu nó. Nếu một lát trông cùng kích thước với các lát khác nhưng bí mật dễ thắng hơn, hoặc tỉ lệ bị nghiêng mà không ai được bảo, đó mới là phiên bản không trung thực. Bài kiểm tra thì đơn giản: bạn có thấy vì sao một mục dễ ra hơn mục khác không? Nếu có, là công bằng. Nếu sự ưu ái vô hình, thì không.
Quay độc lập so với xoá tên
Người ta thường nghi gian lận khi cùng một tên ra hai lần liên tiếp. Nhưng nếu mỗi lượt quay là độc lập — vòng quay không nhớ kết quả trước — thì lần trùng chỉ là may rủi, không phải bất công. Đồng xu công bằng có thể ra ngửa năm lần liền; chẳng có gì sai với đồng xu.
Xoá một tên sau khi được rút là một chế độ khác hẳn, và cũng công bằng — nó chỉ cố ý đổi tỉ lệ. Lấy người thắng ra thì các mục còn lại mỗi cái trở nên dễ ra hơn, đúng là điều bạn muốn cho lần rút không trùng, nơi mọi người nên có một lượt trước khi ai đó đi hai lần. Cả hai cách đều chính đáng; điều quan trọng là biết bạn đang dùng cái nào và vì sao.
Cách kiểm tra nhanh bất kỳ bộ chọn nào
Bạn không cần đọc mã để đánh giá một vòng quay. Vài kiểm tra nhìn thấy được đã đi được rất xa:
- Bạn có thấy hết danh sách không? Mọi mục nên được hiện trước khi quay, để không ai bị thiếu hay bị nhân đôi một cách bí mật.
- Mỗi mục có lát nhìn thấy được không? Nếu một lựa chọn nằm trong danh sách nhưng không có chỗ thật trên vòng quay, tỉ lệ không khớp với những gì bạn đang được xem.
- Bạn có xem được lượt quay không? Kết quả hiện ra suông, không có vòng quay nhìn thấy, là đang bảo bạn tin bằng niềm tin.
- Tỉ lệ có được giải thích không? Nếu một số mục có trọng số, bạn phải thấy được vì sao.
Và các cờ đỏ cũng nói nhiều không kém: vòng quay mà kết quả dường như luôn nghiêng về cùng một lựa chọn, bộ chọn không có cách nào xem các mục, hoặc “quay lại” cứ chạy đến khi một câu trả lời cụ thể — ví dụ nhà tài trợ — tình cờ thắng. Bất kỳ cái nào trong đó nghĩa là kết quả đang bị quản chứ không phải đang được rút.
Kết luận
Vòng quay trực tuyến hoàn toàn có thể công bằng, nhưng “trông như vòng quay” không phải bằng chứng. Bộ chọn đáng tin dùng ngẫu nhiên thật sự không đoán được, sửa các thiên lệch nhỏ len vào toán, và cho bạn xem mọi thứ — các mục, các lát, lượt quay và tỉ lệ — để bạn xác minh kết quả thay vì chỉ tin. Một vòng quay được dựng như vậy cho bạn kết quả mà cả nhóm có thể xem và đồng ý. Nếu bạn chẳng thấy được người thắng được chọn thế nào, đó chính là câu trả lời. Để biết thêm về chạy những lần rút mà người ta tin, xem các hướng dẫn còn lại.
SpinKit