Ngẫu nhiên

**Ngẫu nhiên** nghĩa là thiếu một khuôn mẫu hay khả năng dự báo trong các sự kiện. Sự ngẫu nhiên cho thấy một sự vô thứ tự hoặc không gắn kết trong một chuỗi các ký hiệu hoặc bước, nấc; sao cho không có một khuôn mẫu hoặc sự kết hợp nào minh bạch dễ hiểu.

## Khái yếu
Ngẫu nhiên còn là một thuật ngữ được sử dụng trong toán học (và ít chính thức) có nghĩa là không có cách nào để dự đoán đáng tin cậy một kết quả (để biết điều gì sẽ xảy ra *trước khi* nó xảy ra) hoặc phán đoán một khuôn mẫu. Cái được chọn ngẫu nhiên thì được chọn mà không có ý thức về bất kỳ lý do nào, và do đó được cho là hoàn toàn tình cờ. Một ví dụ về một sự kiện ngẫu nhiên là chiến thắng xổ số.

Con người không thể lập một danh sách ngẫu nhiên, bởi vì bộ não hoạt động theo khuôn mẫu. Máy tính, mặc dù thường được yêu cầu lập các danh sách ngẫu nhiên, nhưng nó cũng không thực sự lập một danh sách hoàn toàn ngẫu nhiên. Nếu một người hoặc máy tính nào đó được yêu cầu liên tục nói "sấp" hoặc "ngửa" một cách ngẫu nhiên, một người quan sát một cách sắc sảo hoặc máy tính được lập trình đúng cách cuối cùng có thể phán đoán xem từ tiếp theo sẽ là gì qua việc nhận biết các khuôn mẫu trong việc người nói lựa chọn "ngẫu nhiên" giữa hai từ.

Đôi khi từ "ngẫu nhiên" được sử dụng một cách thoáng hơn. Có những trang web "truyện cười ngẫu nhiên", có nghĩa là: một loạt các câu chuyện cười về tất cả mọi thứ.

## Tạo các số ngẫu nhiên

#
Có nhiều cách thức mà một quá trình hoặc hệ thống có thể được xem là *ngẫu nhiên:*
# *Ngẫu nhiên* từ môi trường (ví dụ, chuyển động Brown, phần cứng tạo số ngẫu nhiên)
# *Ngẫu nhiên* đến từ các điều kiện bắt đầu. Khía cạnh này được nghiên cứu bởi lý thuyết hỗn loạn. Nó có thể được quan sát thấy trong các hệ thống phụ thuộc rất nhiều vào sự khác biệt trong điều kiện lúc đầu. Ví dụ về các hệ thống như vậy là pachinko hoặc xúc xắc.
# *Ngẫu nhiên* được tạo ra bởi chính hệ thống. Điều này cũng được gọi là giả ngẫu nhiên, và là loại được sử dụng trong máy tạo số ngẫu nhiên giả ngẫu nhiên. Có rất nhiều thuật toán (dựa trên số học hoặc cellular automata) để tạo ra các số giả ngẫu nhiên. Hành vi của một hệ thống như vậy có thể được dự đoán, nếu biết hạt giống ngẫu nhiên và các thuật toán. Những phương pháp này nhanh hơn so với việc chờ sự "thực sự" *ngẫu nhiên* từ môi trường.
Nhiều ứng dụng của sự ngẫu nhiên đã dẫn đến nhiều phương pháp khác nhau để tạo ra dữ liệu ngẫu nhiên. Những phương pháp này có thể thay đổi dựa theo mức độ "không đoán trước được" hoặc ngẫu nhiên thống kê, và mức độ tạo ra các số ngẫu nhiên nhanh chóng.

Trước khi có các máy tính toán tạo số ngẫu nhiên, tạo ra một lượng lớn các số ngẫu nhiên thích đáng (vốn quan trọng trong thống kê) đòi hỏi rất nhiều công việc. Kết quả đôi khi sẽ được thu thập và phân phối dưới dạng bảng số ngẫu nhiên.

Máy tính có thể tạo số (có vẻ là) ngẫu nhiên. Có hai cách:
* TRNG (True Random Number Generator - bộ tạo số ngẫu nhiên "thật"): Dựa vào kết quả của một phép đo nào đó, máy tính (có thể cần thêm một số phép tính nữa) sẽ xuất ra kết quả ngẫu nhiên. Lựa chọn phổ biến nhất là đếm các chữ số thập phân của thời gian hiện tại.
* PRNG (Pseudo Random Number Generator - bộ tạo số ngẫu nhiên "ảo"): Từ một số được chọn trước làm "hạt giống" (có thể là số đã được gắn sẵn hoặc từ kết quả của TRNG trước đó), máy tính sau khi thực hiện thêm một số phép tính sẽ xuất ra kết quả ngẫu nhiên. Kết quả này được giữ lại làm hạt giống mới trong những lần xuất sau.
*

## Trong cách viết mật mã
Chuỗi các ký hiệu mã hóa phải ngẫu nhiên để được an toàn. Các chuỗi được tạo ra bởi một yếu tố tạo số ngẫu nhiên có lỗi sẽ có khả năng bị bẻ khoá (cracked).

## Chú thích

## Xem thêm
* Điện toán
* Xác suất