"Đời sống" của Conway là một ô tự động do nhà toán học Anh John Horton Conway đưa ra năm 1970: trên lưới ô vuông vô hạn, mỗi ô sống hoặc chết, và sau mỗi bước, ô thay đổi theo đúng bốn luật dựa trên số hàng xóm sống trong 8 ô xung quanh. Ô sống có 2 hoặc 3 hàng xóm sống thì tiếp tục sống; ít hơn 2 thì chết vì cô đơn, nhiều hơn 3 thì chết vì chật chội; ô chết có đúng 3 hàng xóm sống thì sống lại. Chỉ chừng ấy, nhưng mô hình sinh ra những hình đứng yên, nhấp nháy, bay đi, thậm chí đủ sức tính mọi phép tính mà một máy tính làm được.
Bốn luật, viết cho rõ
| Tình huống | Số hàng xóm sống | Bước sau | Cách nhớ |
|---|---|---|---|
| Ô đang sống | 0 hoặc 1 | Chết | Cô đơn |
| Ô đang sống | 2 hoặc 3 | Sống tiếp | Vừa đủ bạn |
| Ô đang sống | 4 trở lên | Chết | Chật chội, thiếu nguồn sống |
| Ô đang chết | Đúng 3 | Sống lại | Sinh sản |
| Ô đang chết | Khác 3 | Vẫn chết | Không có gì xảy ra |
Người làm mô phỏng hay viết gọn bộ luật là B3/S23: B (birth, sinh) khi có 3 hàng xóm, S (survival, sống sót) khi có 2 hoặc 3. Cách viết này giúp so sánh với các biến thể khác, ví dụ B36/S23 nghĩa là ô chết có 3 hoặc 6 hàng xóm đều sống lại.
Mọi ô được tính cùng lúc dựa trên trạng thái của bước trước. Người ta gọi mỗi bước là một thế hệ. Hình ban đầu do người đặt; từ đó trở đi, không ai can thiệp nữa. Đây là điểm khiến mô hình giống một thí nghiệm tự nhiên hơn là một bài toán có lời giải.
Chạy tay vài thế hệ
Lấy giấy kẻ ô và thử ba ô sống nằm thành một hàng ngang. Đếm hàng xóm cho từng ô:
- Ô giữa có 2 hàng xóm sống (trái và phải): sống tiếp.
- Hai ô hai đầu mỗi ô chỉ có 1 hàng xóm sống: chết.
- Ô ngay trên và ngay dưới ô giữa, đang chết, mỗi ô có đúng 3 hàng xóm sống: sống lại.
Kết quả: hàng ngang thành cột dọc ba ô. Làm lại với cột dọc, nó thành hàng ngang. Hình này đổi qua lại mãi với chu kỳ 2, được gọi là đèn nháy. Thử tiếp với khối vuông 2×2: mỗi ô có đúng 3 hàng xóm sống, các ô chết xung quanh không ô nào có đúng 3, nên khối đứng yên vĩnh viễn. Hai ví dụ nhỏ này đã cho thấy hai kiểu hành vi cơ bản: dao động và tĩnh.
Vì sao Conway chọn đúng bốn luật này
Conway không chọn ngẫu nhiên. Theo bài giới thiệu của Martin Gardner trên Scientific American tháng 10/1970, Conway cùng các đồng nghiệp ở Đại học Cambridge đã thử nhiều bộ luật để tìm một bộ thoả ba điều kiện:
- Không có hình ban đầu nào mà người ta dễ dàng chứng minh được sẽ lớn mãi không giới hạn.
- Nhưng phải có những hình ban đầu trông như lớn mãi không giới hạn.
- Phải có những hình ban đầu đơn giản tiến hoá rất lâu, qua nhiều biến đổi phức tạp, trước khi dừng lại ở trạng thái tĩnh, dao động hay chết hết.
Nói cách khác, Conway tìm một luật nằm ngay trên ranh giới: không quá dễ chết, không quá dễ bùng nổ. Lệch một chút, ví dụ cho ô chết sống lại khi có 2 hàng xóm, lưới sẽ bùng nổ hỗn loạn. Cho ô sống cần 3 hoặc 4 hàng xóm, phần lớn hình sẽ tắt nhanh. Đây cũng là ý tưởng chung mà các nhà nghiên cứu sự sống nhân tạo sau này hay nhắc: sự phức tạp thú vị nhất thường xuất hiện ở "mép của hỗn loạn".
Trong bài đó, Conway treo giải 50 đô la cho ai chứng minh hoặc bác bỏ được rằng có hình lớn mãi không giới hạn. Chỉ vài tuần sau, một nhóm ở MIT do Bill Gosper dẫn đầu tìm ra câu trả lời: một hình phóng ra những "tàu lượn" đều đặn, nên số ô sống tăng mãi.
Thứ không đoán trước được
Bốn luật là hoàn toàn tất định: cùng một hình ban đầu, kết quả luôn giống nhau. Nhưng tất định không có nghĩa là dễ đoán. Một hình năm ô gọi là R-pentomino, trông vô hại, phải mất 1.103 thế hệ mới ổn định, sinh ra nhiều mảnh rời và tàu lượn trên đường đi. Cách duy nhất để biết là chạy thử.
Đầu thập niên 1980, Conway cùng Elwyn Berlekamp và Richard Guy chỉ ra rằng có thể dựng trong "Đời sống" các cổng logic từ dòng tàu lượn, và do đó mô hình đủ sức tính mọi thứ mà một máy tính thông thường tính được. Năm 2000, Paul Rendell dựng được một máy Turing chạy thật trong lưới. Hệ quả kỳ lạ: không có cách tổng quát nào đoán trước một hình bất kỳ có chết hết hay không, mà không cần chạy nó. Đây là kết quả gắn với bài toán dừng nổi tiếng của Alan Turing.
Vườn Địa Đàng
Có những hình không bao giờ có thể xuất hiện từ một thế hệ trước, tức là không hình nào sinh ra chúng. Người ta gọi chúng là "Vườn Địa Đàng", vì chỉ có thể tồn tại nếu được đặt vào từ đầu. Hình đầu tiên loại này được tìm ra năm 1971. Sự tồn tại của chúng cho thấy luật của "Đời sống" không thể chạy ngược: biết hiện tại chưa chắc biết quá khứ.
Vì sao gọi là "Đời sống"
Bốn luật mượn ngôn ngữ của sinh thái học quần thể: chết vì cô đơn giống hiện tượng quần thể quá thưa khó tìm bạn giao phối; chết vì chật chội giống cạnh tranh nguồn sống khi mật độ quá cao; sinh ra khi có đủ hàng xóm giống sinh sản. Tất nhiên đây chỉ là ẩn dụ. Ô trong lưới không ăn, không thở, không tiến hoá; không có đột biến hay chọn lọc. "Đời sống" không mô phỏng một loài nào cả.
Giá trị của mô hình nằm ở chỗ khác: nó là một bằng chứng sống động rằng luật cục bộ rất đơn giản có thể sinh ra hành vi phức tạp, ổn định, di chuyển, tự duy trì. Điều mà trước đó người ta nghĩ chỉ có sinh vật mới có.
Conway và đứa con nổi tiếng nhất
John Horton Conway (1937–2020) sinh ở Liverpool, dạy nhiều năm ở Cambridge rồi Princeton. Ông có những đóng góp lớn trong lý thuyết nhóm, lý thuyết nút, và phát minh ra hệ "số siêu thực". Nhiều người kể lại rằng ông có thời gian khá khó chịu vì mọi người chỉ nhớ đến mô hình lưới ô của mình, trong khi ông cho rằng các công trình toán học khác quan trọng hơn. Về sau ông nói chuyện về nó cởi mở hơn. Chính câu chuyện này cũng là một bài học: thứ được nhớ nhất không nhất thiết là thứ tác giả coi trọng nhất.
Góc nhìn hôm nay: tự thử bốn luật
Có rất nhiều chương trình miễn phí trên trình duyệt để chạy "Đời sống", trong đó Golly là phần mềm mã nguồn mở được cộng đồng dùng nhiều để chạy những hình khổng lồ. Kho lưu trữ LifeWiki do cộng đồng lập ghi lại hàng chục nghìn hình đã biết. Học sinh có thể bắt đầu trên giấy kẻ ô, rồi tự viết chương trình Python khoảng 30 dòng: một mảng hai chiều, một hàm đếm hàng xóm, một vòng lặp áp bốn luật.
Bài tập gợi ý: đặt ngẫu nhiên khoảng 30% ô sống trên lưới 50×50, chạy 500 thế hệ, đếm còn bao nhiêu ô sống và phân loại các hình còn lại. Rồi đổi luật thành B36/S23 hoặc B2/S và so sánh. Mỗi lần đổi luật là một "thế giới" mới để quan sát.
Câu hỏi thường gặp
"Đời sống" của Conway là gì?
Là một ô tự động hai chiều do John Horton Conway đưa ra năm 1970. Mỗi ô sống hoặc chết và thay đổi theo bốn luật dựa trên số hàng xóm sống trong 8 ô xung quanh. Từ luật đơn giản, mô hình sinh ra hình tĩnh, dao động và di chuyển.
Bốn luật của "Đời sống" là gì?
Ô sống có ít hơn 2 hàng xóm sống thì chết; có 2 hoặc 3 thì sống tiếp; có hơn 3 thì chết. Ô chết có đúng 3 hàng xóm sống thì sống lại. Bộ luật thường viết gọn là B3/S23.
B3/S23 nghĩa là gì?
B3 nghĩa là ô chết được sinh ra khi có đúng 3 hàng xóm sống. S23 nghĩa là ô sống sống sót khi có 2 hoặc 3 hàng xóm sống. Cách viết này dùng để so sánh các biến thể luật khác nhau.
"Đời sống" của Conway có ứng dụng gì?
Nó là công cụ nghiên cứu hệ phức hợp, sự sống nhân tạo và lý thuyết tính toán. Mô hình đã được chứng minh đủ sức tính mọi phép tính của một máy tính thông thường, và là ví dụ kinh điển về luật đơn giản sinh hành vi phức tạp.
Conway công bố mô hình này khi nào?
Năm 1970, qua cột toán giải trí của Martin Gardner trên tạp chí Scientific American số tháng 10. Bài viết nhanh chóng lan rộng trong giới toán học và những người dùng máy tính thời đó.