Để kỷ niệm sinh nhật của Alan Turing, Google đã xuất bản một hình tượng trưng cho thấy một chiếc máy. Những loại máy của doodle là gì? Nó có thể diễn đạt một ngôn ngữ Turing Complete không?
Có sự khác biệt rõ ràng đối với máy turing cổ điển: một băng hữu hạn, các ràng buộc về cách kết nối trạng thái, ...
Hình tượng trưng vẫn còn có sẵn ở đây
(Màn hình ở phía trên bên phải hiển thị đầu ra dự kiến.)
Băng ở giữa được chia thành các hình vuông có thể giữ trống, không hoặc một. Đầu được đặt phía trên một trong những hình vuông và được sử dụng để đọc và viết.
Bên dưới băng bạn có thể thấy một mũi tên màu xanh lá cây mà bạn có thể nhấp vào để khởi động máy. Có hai dòng vòng tròn bên cạnh, một số trong số đó được kết nối. Tôi sẽ gọi họ là "tiểu bang".
Sau khi máy khởi động, trạng thái đầu tiên bên phải nút màu xanh lá cây sẽ sáng lên, sau đó trạng thái tiếp theo bên phải, v.v ... Mỗi trạng thái chứa một trong các lệnh sau:
- để trống = không làm gì cả (chỉ cần chuyển sang trạng thái tiếp theo)
- 1 = ghi một cái vào băng ở vị trí hiện tại của đầu
- 0 = ghi số 0 vào băng ở vị trí hiện tại của đầu
- mũi tên sang trái = di chuyển đầu một bước sang trái
- mũi tên sang phải = di chuyển đầu một bước sang phải
- điều kiện: nếu giá trị dưới đầu bằng giá trị hiển thị trong hình vuông đi xuống dòng trạng thái thứ hai. nếu không, chuyển sang trạng thái tiếp theo bên phải
- nhảy trái: trở về trạng thái trước (cố định) nhưng chỉ ở hàng trên [Ban đầu tôi quên mất trạng thái đó, cảm ơn @Marzio!]
Không có cách nào để "chồng chéo" hai lần nhảy (lần này qua lần khác). Máy dừng lại khi có trạng thái và không có trạng thái tiếp theo bên phải của nó.
(Sau khi máy dừng nội dung của băng được so sánh với nội dung của màn hình, nhưng tôi không coi đó là một phần của chức năng dự định của máy.)