I. Khái niệm

Số  ngẫu nhiên, hay còn gọi là "loạn số" là một khái niệm phổ biến trong  thống kê và khoa học máy tính. Khái niệm này được dùng để chỉ con số/dãy  số biến thiên bất quy tắc, hay có vẻ là bất quy tắc, hay theo những quy  tắc mà ở mức độ trí tuệ của loài người đương đại chưa nhận biết được.
Số  ngẫu nhiên được ứng dụng nhiều trong việc mã hóa, ứng dụng trong cờ bạc  và rất thường thấy trong xây dựng game. Các ứng dụng lâu đời nhất của  số ngẫu nhiên thường thấy là đổ xí ngầu (xúc xắc) hay búng đồng xu để  phân định thắng thua, quyết định ai được đi trước trong các trò cờ bạc.
Trong từ điển ngôn ngữ của nhân loại có hai từ: "may mắn" và "xui xẻo". Đây là sản phẩm của số ngẫu nhiên.
Lấy  ví dụ về số ngẫu nhiên trong các game RPG, khi nhân vật Level up thì sẽ  tăng ngẫu nhiên các chỉ số: HP, sức mạnh, phòng thủ.... Hay hành động,  phản ứng của đối phương trong game, chẳng hạn như chọn một hành động  trong số những hành động có thể dùng trong tình huống lúc đó: tấn công  vật lý, tấn công ma pháp, dùng Item, dùng kỹ năng đặc biệt...


Các chỉ số của nhân vật được tăng ngẫu nhiên

Lấy  ví dụ chỉ số Hit biểu diễn khả năng đánh trúng mục tiêu của nhân vật.  Khi chỉ số này bằng 0% hoặc 100% thì nó không còn là số ngẫu nhiên,  nhưng khi nó nằm trong phạm vi ngoài hai con số này thì chỉ số này trở  thành số ngẫu nhiên. Nhân vật có 90% cơ hội đánh trúng mục tiêu về bản  chất cũng giống như nhân vật có 10% cơ hội đánh trúng mục tiêu, về bản  chất chỉ là "trật" hoặc "trúng" và chỉ khác nhau ở cơ hội nhiều hay ít.  Vậy khi Hit nằm trong khoảng 1% ~ 99% thì khi nào thì đánh trúng, khi  nào thì đánh trật? Máy tính dựa vào cơ sở nào để phán đoán đòn đánh của  nhân vật là trúng hay trật?

II. Hai loại loạn số

Người ta thường chia số ngẫu nhiên thành hai loại: số ngẫu nhiên thực (chân loạn số) và số ngẫu nhiên giả (nghĩ tự loạn số).
Số  ngẫu nhiên thực là con số mà quy tắc biến đổi mỗi lần lấy của nó nằm  ngoài khả năng dự báo của con người, chẳng hạn như các yếu tố trong tự  nhiên: độ nhiễu khí quyển, nhiệt tạp âm, tia vũ trụ,...
Còn số ngẫu nhiên giả là số được sinh thành từ các thuật toán chính xác.
Nếu  như tính chất của số ngẫu nhiên thực là bất quy tắc và không thể tái  hiện (khi đổ xí ngầu, ta không thể dựa vào mặt xí ngầu hiện tại để dự  đoán lần đổ tiếp theo sẽ ra mặt nào) thì tính chất của số ngẫu nhiên giả  là hoàn toàn có thể dự đoán được nếu như biết trước thuật toán sinh ra  nó và nắm được các điều kiện sinh thành của nó, tuy rằng việc này cũng  rất khó.
Trong  điều kiện bình thường thì không thể phán đoán một con số/dãy số ngẫu  nhiên là thực hay giả và cũng rất khó để nói tính chất về mặt thống kê  của số ngẫu nhiên thực khác với số ngẫu nhiên giả. Do vậy, ở mức độ  người dùng thông thường thì khó để phân biệt hai loại loạn số này.

III. Cách sinh thành

Ta có hai cách sinh thành nên số ngẫu nhiên, ứng với hai loại thực và giả.
Đối  với số ngẫu nhiên thực, cách sinh thành cổ xưa nhất và vẫn được dùng  đến ngày nay là đổ xí ngầu hay búng đồng xu, vòng quay roulette. Nhiều  loại máy tính ngày nay cũng trang bị phần cứng có khả năng sinh thành số  ngẫu nhiên như dùng cảm biến (sensor) đo lường các hiện tượng vật lý  ngẫu nhiên như nhiệt tạp âm, vật chất phóng xạ do diod trong máy sinh ra  và chuyển những tín hiệu đó thành con số.
Đối  với số ngẫu nhiên giả, người ta dùng các thuật toán chính xác, các  phương pháp luận lý như phép dời bit để tạo ra. Các phương pháp tính  toán này cũng mang lại hiệu quả cao như phương pháp đo lường các hiện  tượng vật lý kể trên, tuy nhiên nó có nhược điểm là sau một thời gian  thì sẽ thấy con số được lặp lại (chu kỳ lặp lại).

IV. Ví dụ về cách sinh thành số ngẫu nhiên giả

Mọi  con số ngẫu nhiên giả đều được sinh thành từ một số khởi đầu gọi là  "chủng tử" (seed, hạt giống). Một ví dụ thường thấy trong game RPG: nhân  vật A khi level up có 40% cơ hội tăng HP, 30% cơ hội tăng sức mạnh và  ta có thuật toán đơn giản như sau:
1. Lập sẵn một bảng (table) gồm những con số từ 0 tới 100.
2.  Lấy chủng tử là con số biểu diễn vị trí ngang/dọc của đường quét  (scanline) trên màn hình. Đường quét của các thiết bị điện tử có chu kỳ  lặp lại cố định nhưng tại một thời điểm, mắt người và não người gần như  không thể phán đoán được nó đang ở vị trí nào.
3.  Giới hạn chủng tử trong phạm vi 0 ~ 200. Màn hình các thiết bị ngày nay  có độ phân giải cao, lượng điểm ảnh lớn nên vị trí ngang/dọc của đường  quét sẽ vượt khỏi giới hạn 200.
4.  Giá trị của chủng tử là chỉ số trong bảng trên. Chẳng hạn, đường quét ở  vị trí điểm ảnh thứ 63 thì số ngẫu nhiên được tạo thành lúc này là 63.
5. Chia đôi giá trị của chủng tử, chỉ lấy phần nguyên, ta được 63/2=31.
6. Cộng giá trị của chủng tử với 1 nếu giá trị này khác zero. Kết quả ta được 31+1 = 32.
7. So sánh số ngẫu nhiên vừa tạo thành với cơ hội tăng các chỉ số của nhân vật:
- Nếu số ngẫu nhiên lớn hơn cơ hội thì sẽ không tăng.
- Nếu số ngẫu nhiên nhỏ hơn hoặc bằng cơ hội thì nhân vật được tăng.
Trong  ví dụ trên, nhân vật có 40% cơ hội tăng HP, 30% cơ hội tăng sức mạnh  thì khi so sánh với số ngẫu nhiên 32 vừa được tạo thành, ta thấy chỉ số  HP được tăng còn chỉ số sức mạnh thì không.
Đó  cũng là cách mà máy tính đánh giá một cú đánh trong phạm vi 1% ~ 99% là  trúng hay trật mục tiêu. Và rõ ràng phần trăm cơ hội càng cao thì càng  dễ đánh trúng.
Trên  đây chỉ là một ví dụ đơn giản về cách lấy số ngẫu nhiên. Có những  phương pháp phức tạp hơn để tăng độ ngẫu nhiên, chẳng hạn như đem chủng  tử thực hiện các phép toán luận lý, rồi cộng trừ nhân chia với giá trị  của một vùng bộ nhớ biến thiên. Có những game dùng chủng tử là hằng số  cho trước, lại có game dùng chủng tử là thời gian hiện tại và có game  dùng chính giá trị nút bấm mà người chơi nhấn để làm điểm bắt đầu tính  toán số ngẫu nhiên.
[​IMG]

Hình  ảnh trên lấy từ game Darkwing Duck, đối phương sẽ rơi một món đồ ngẫu  nhiên khi ta bắn trúng hắn. Game này sử dụng chủng tử là giá trị thời  gian người chơi nhấn nút để tính toán số ngẫu nhiên, từ đó phán đoán cho  kẻ địch rơi món đồ gì. Trong hình này, thời gian nhấn nút thay đổi thì  món đồ rơi ra cũng thay đổi.


V. Quan điểm Phật giáo và góc nhìn nhất nguyên

Máy  tính là một cỗ máy làm theo các mệnh lệnh một cách tuần tự, phân nhánh  khi gặp các điều kiện nên nói một cách nghiêm mật thì khái niệm "ngẫu  nhiên" không hề tồn tại đối với máy tính. Tất  cả những gì nó làm là tuân theo các chỉ thị một cách trung thực. Nếu  điều kiện như thế này thì sẽ cho kết quả thế kia. Tất cả mọi kết quả do  máy tính xử lý đều có thể hiểu được một cách rõ ràng, rành mạch theo  tinh thần nhân quả: vì có nguyên nhân thế này nên mới có kết quả thế  kia.
Xét  về điểm này thì nguyên tắc hoạt động của máy tính giống với quan điểm  của Phật giáo. Theo góc nhìn của tôn giáo này thì cuộc đời là một siêu  máy tính, nó cho ra mọi kết quả dựa vào luật nhân quả. Nhân là ăn mặn  thì quả là khát nước, đây là một thuật toán hết sức đơn giản mà cỗ máy  cuộc đời sử dụng. Nhưng lắm khi cỗ máy này lại sử dụng những thuật toán  tinh vi hơn, cho ra kết quả ăn mặn nhưng không khát nước, hoặc không ăn  mặn  vẫn khát nước. Điều này khiến con người hoài nghi về tính đúng sai  của nhân quả khi người ta không hiểu rõ thuật toán mà cỗ máy cuộc đời  đang áp dụng.
Bên  trên có đề cập đến hai loại số ngẫu nhiên. Với con số được sinh thành  từ những dữ kiện mà loài người chưa nắm được quy tắc thì được xem là số  ngẫu nhiên thực. Nhưng đến khi con người hiểu biết đầy đủ về các dữ kiện  này thì số ngẫu nhiên thực sẽ trở thành số ngẫu nhiên giả. Chẳng hạn,  người xưa xem việc mưa nắng là chuyện trời đất không thể lường trước (số  ngẫu nhiên thực) nhưng ngày nay con người đã hiểu biết gần như đầy đủ  về cơ chế sinh ra mưa nắng, có thể dự đoán được trong tương lai gần nên  chuyện mưa nắng đã trở thành số ngẫu nhiên giả (do thuật toán của thiên  nhiên sinh thành).
Xét  trong một phạm vi không thời gian nhỏ hẹp thì cái ngẫu nhiên là có tồn  tại, nhưng xét rộng khắp thì ngẫu nhiên không hề tồn tại. Với khả năng  hiện nay, con người vẫn chưa đo lường được sự biến thiên của tia vũ trụ  nhưng khi có trí tuệ đầy đủ thì dữ kiện này sẽ không còn được coi là  ngẫu nhiên nữa. Khi tung đồng xu thì mặt rơi xuống đất là sấp hay ngửa?  Kết quả này phụ thuộc vào quá nhiều yếu tố chung quanh tác động tới như  lực tung, hướng tung, hướng gió,... và vô số yếu tố khác mà con người  chưa nắm được hết. Trong tương lai, khi hiểu thấu được hết các yếu tố  tác động này thì ta sẽ dự báo được mặt nào của đồng xu sẽ chạm đất, và  cái ngẫu nhiên tuyệt đối sẽ không còn là ngẫu nhiên nữa.
Như  vậy, có thể nói "ngẫu nhiên" là một từ đại diện cho sự vô tri của con  người. Còn khi có trí tuệ soi chiếu thì người ta sẽ không còn nói đến  ngẫu nhiên vì lúc đó đã thấu hiểu mọi hiện tượng được sinh thành ra sao,  do đâu mà có. Không có may mắn, không có xui xẻo, tất cả đều do nguyên  nhân mà tạo thành kết quả. Điều này có nghĩa là cuộc đời là một chuỗi  kết quả của những nguyên nhân trong quá khứ, hay nói cách khác, mọi thể  sống trong đời đều được lập trình theo những hướng đã định sẵn. Đó là  thứ mà người ta gọi là "định mệnh".
Nhưng  ai đã lập trình nên mọi thứ này? Phật giáo phủ nhận vai trò của một  đấng tối cao trong việc lập trình này, tức phủ nhận vai trò của  programmer. Và nếu là như vậy thì mọi sự nỗ lực hay sa đọa đều không có ý  nghĩa, vì kết quả đã được định sẵn từ trước. Không phải như vậy, nếu đã  chấp nhận nhân quả, chấp nhận hiện tại là kết quả của quá khứ thì sẽ  hiểu được tương lai là kết quả của hiện tại, mọi sự nỗ lực hay sa đọa  đều mang lại những kết quả khác nhau. Nói cách khác, mọi thể sống trên  đời là kết quả của những nguyên nhân từ trước, và chính nó cũng là  nguyên nhân cho chính nó ở ngay khoảnh khắc sau đó.
Thể  sống là một đoạn code đặc biệt của cỗ siêu máy tính cuộc đời. Trong đó,  đoạn code này được sinh thành từ những yếu tố điều kiện khác và chính  nó cũng tạo ra những đoạn code có thể xem là "chính nó sau này". Đây  cũng là một mục tiêu của con người trong việc xây dựng trí tuệ nhân tạo.
Và dù thuật toán có phức tạp đến đâu thì máy tính và cuộc đời cũng đều hoạt động trên một nguyên tắc đơn giản: nếu ABC thì XYZ.