Quy tắc 30 là một ô tự động một chiều cực đơn giản, được Stephen Wolfram nghiên cứu năm 1983: mỗi ô đen hoặc trắng, và màu của nó ở hàng sau chỉ phụ thuộc vào ba ô ngay phía trên (trái, giữa, phải). Bắt đầu từ một ô đen duy nhất, quy tắc 30 vẽ ra một hình tam giác mà bên trái khá đều đặn còn bên phải lại lộn xộn như ngẫu nhiên, đến mức cột giữa của nó từng được dùng làm nguồn số ngẫu nhiên. Đây là ví dụ kinh điển cho thấy một luật hoàn toàn tất định, ngắn đến tám dòng, vẫn có thể sinh ra hỗn loạn.
Ô tự động sơ cấp: 256 thế giới nhỏ
Wolfram tập trung vào lớp ô tự động đơn giản nhất mà ông gọi là ô tự động sơ cấp: lưới chỉ là một hàng ô, mỗi ô hai màu, và luật chỉ nhìn ba ô. Ba ô hai màu cho 2 × 2 × 2 = 8 tổ hợp có thể. Với mỗi tổ hợp, luật phải chọn ô bên dưới đen hay trắng. Tám lựa chọn đen/trắng cho 2⁸ = 256 luật khác nhau, không hơn không kém.
Wolfram đánh số mỗi luật bằng một cách rất gọn: viết tám tổ hợp theo thứ tự từ 111 xuống 000, ghi kết quả của mỗi tổ hợp thành một chữ số nhị phân, rồi đổi dãy tám chữ số ấy sang số thập phân. Cách đánh số này nay là chuẩn chung.
Luật 30 viết ra đầy đủ
Số 30 trong hệ nhị phân tám chữ số là 00011110. Ghép từng chữ số với tám tổ hợp:
| Ba ô phía trên (trái – giữa – phải) | 111 | 110 | 101 | 100 | 011 | 010 | 001 | 000 |
|---|---|---|---|---|---|---|---|---|
| Ô bên dưới | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
(1 là đen, 0 là trắng.) Có một cách nhớ ngắn hơn: ô mới bằng ô trái XOR (ô giữa HOẶC ô phải). Tức là: nếu ô giữa và ô phải đều trắng, ô mới lấy đúng màu ô trái; nếu ít nhất một trong hai đen, ô mới lấy màu ngược với ô trái.
Thử tay trên giấy kẻ ô
Kẻ một hàng dài, tô đen một ô ở giữa. Áp bảng trên để tô hàng thứ hai: ba ô đen liền nhau. Hàng thứ ba: năm ô, trong đó có xen trắng. Sau khoảng 15–20 hàng, đã thấy rõ hai mặt khác nhau: mép trái có những sọc chéo đều, phần giữa và phải đầy những tam giác trắng to nhỏ lẫn lộn, không có quy luật nhìn thấy được. Làm tay chậm nhưng chính sự chậm đó giúp hiểu: không có bước nào ngẫu nhiên, vậy mà kết quả trông như ngẫu nhiên.
Bốn lớp hành vi và vị trí của quy tắc 30
Chạy cả 256 luật, Wolfram thấy chúng rơi vào bốn kiểu: luật làm mọi thứ chết về một màu; luật sinh hoa văn đều lặp lại; luật sinh hỗn loạn; và luật sinh cấu trúc định xứ tương tác phức tạp. Quy tắc 30 là đại diện tiêu biểu nhất của kiểu thứ ba, hỗn loạn.
| Luật | Từ một ô đen sinh ra | Kiểu hành vi |
|---|---|---|
| Quy tắc 0 | Toàn trắng ngay bước sau | Chết về đồng nhất |
| Quy tắc 4 | Một cột đen thẳng đứng mãi | Tĩnh |
| Quy tắc 90 | Tam giác lồng tam giác đều đặn | Có trật tự, tự đồng dạng |
| Quy tắc 30 | Tam giác mép trái đều, phần còn lại hỗn loạn | Hỗn loạn |
| Quy tắc 110 | Nền hoa văn lặp lẫn các cấu trúc di chuyển, va chạm | Phức tạp |
Quy tắc 110, láng giềng gần của 30 về mặt số học, nổi tiếng theo cách khác: Matthew Cook, khi làm việc cùng Wolfram trong thập niên 1990, chứng minh nó đủ sức tính mọi phép tính mà một máy tính làm được. Chứng minh được công bố năm 2004. Một luật nhìn ba ô hai màu mà mạnh ngang máy tính, đó là một kết quả gây sửng sốt.
Hỗn loạn mà vẫn tất định
"Hỗn loạn" ở đây không có nghĩa là có yếu tố may rủi. Cùng một hàng đầu, quy tắc 30 luôn cho đúng cùng một hình. Hỗn loạn có nghĩa là: hình không lặp lại, không có cách nào dự đoán ô ở hàng thứ một triệu nhanh hơn đáng kể so với việc tính lần lượt cả triệu hàng, và một thay đổi rất nhỏ ở hàng đầu lan rộng ra rất nhanh.
Wolfram gọi tính chất này là bất khả quy giản tính toán: có những quá trình mà cách nhanh nhất để biết kết quả là chạy chính nó. Ông cho rằng điều này giải thích vì sao nhiều hệ trong tự nhiên khó dự báo, dù luật cơ bản có thể đơn giản. Đây là một luận điểm gây tranh luận: nhiều nhà khoa học đồng ý với ý tưởng cốt lõi, nhưng không đồng ý với tầm quan trọng mà Wolfram gán cho nó trong cuốn A New Kind of Science xuất bản năm 2002.
Về mặt thực tế, cột giữa của quy tắc 30 qua nhiều kiểm định thống kê trông như dãy ngẫu nhiên, và từng được dùng làm bộ sinh số giả ngẫu nhiên trong phần mềm Mathematica. Năm 2019, Wolfram treo ba giải thưởng cho ai chứng minh được một số tính chất của cột giữa này, ví dụ nó không bao giờ trở thành tuần hoàn; các câu hỏi đó vẫn còn mở.
Hoa văn trên vỏ ốc
Ốc biển Conus textile, một loài ốc nón, có vỏ phủ những hình tam giác trắng to nhỏ đan xen trên nền nâu, nhìn rất giống hình do quy tắc 30 và một số ô tự động một chiều khác sinh ra. Sự giống nhau này có lý do: mép vỏ ốc lớn lên từng chút một, mỗi dải tế bào tiết sắc tố dựa trên tín hiệu của các tế bào lân cận ở dải trước. Đó chính là một ô tự động một chiều chạy theo thời gian, và vỏ ốc là bản ghi từng bước của nó.
Các nhà nghiên cứu như Hans Meinhardt đã mô hình hoá hoa văn vỏ ốc bằng các phương trình phản ứng – khuếch tán, gần với ý tưởng của Turing hơn là một quy tắc nhị phân cụ thể. Vì vậy cách nói đúng là: vỏ ốc nón gợi nhớ quy tắc 30 và minh hoạ cùng một nguyên lý, chứ không phải ốc "chạy quy tắc 30".
Góc nhìn hôm nay: tự khám phá 256 luật
Ô tự động sơ cấp là chỗ bắt đầu lý tưởng cho người muốn tự lập trình mô phỏng: chỉ cần một mảng một chiều, một vòng lặp và tám dòng tra bảng. Một bài tập hay là in ra cả 256 luật, mỗi luật 50 hàng, rồi tự phân loại theo bốn kiểu của Wolfram, xem mình đồng ý với ông được bao nhiêu phần.
Câu hỏi đáng suy nghĩ sau khi làm xong: nếu ba ô và tám dòng luật đã đủ sinh hỗn loạn, thì việc thời tiết, dòng chảy hay quần thể sinh vật khó dự báo có còn đáng ngạc nhiên không? Muốn đọc thêm, có thể tìm bài báo năm 1983 của Wolfram về cơ học thống kê của ô tự động, hoặc các tài liệu nhập môn về lý thuyết hỗn loạn.
Câu hỏi thường gặp
Quy tắc 30 là gì?
Là một ô tự động một chiều hai màu, trong đó màu mỗi ô ở hàng sau phụ thuộc vào ba ô phía trên theo một bảng tám dòng. Bắt đầu từ một ô đen, nó sinh ra hình trông như ngẫu nhiên dù luật hoàn toàn tất định.
Vì sao gọi là quy tắc 30?
Viết kết quả của tám tổ hợp ba ô, từ 111 xuống 000, ta được dãy nhị phân 00011110. Đổi sang thập phân là 30. Wolfram dùng cách đánh số này cho cả 256 luật sơ cấp.
Ô tự động sơ cấp có bao nhiêu luật?
Có 256 luật. Ba ô hai màu cho 8 tổ hợp, mỗi tổ hợp chọn kết quả đen hoặc trắng, nên có 2 mũ 8 bằng 256 cách.
Quy tắc 30 được dùng để làm gì?
Cột giữa của nó trông ngẫu nhiên qua nhiều kiểm định nên từng được dùng làm bộ sinh số giả ngẫu nhiên trong phần mềm Mathematica. Nó cũng là ví dụ kinh điển về hỗn loạn sinh ra từ luật đơn giản.
Quy tắc 30 và quy tắc 110 khác nhau thế nào?
Quy tắc 30 sinh hỗn loạn, còn quy tắc 110 sinh nền hoa văn lẫn các cấu trúc di chuyển và va chạm. Quy tắc 110 đã được chứng minh đủ sức tính mọi phép tính của một máy tính, công bố năm 2004.