Tại sao mô hình automata hữu hạn là không đủ?
Mặc dù các câu trả lời khác đã đề cập đến nhiều khía cạnh liên quan, tôi tin rằng lợi thế mạnh mẽ của máy Turing so với automata hữu hạn là phân tách dữ liệu và chương trình . Điều này cho phép bạn phân tích một chương trình khá hữu hạn và đưa ra tuyên bố về cách chương trình đó sẽ xử lý các đầu vào khác nhau, mà không giới hạn kích thước của đầu vào.
Mặc dù về mặt lý thuyết có thể mô tả cả máy tính thực tế và thứ gì đó giống như máy Turing với băng hữu hạn là máy trạng thái, điều đó không thực sự khả thi: số lượng trạng thái theo cấp số nhân trong bộ nhớ của máy bạn và hữu hạn chung chính thức tự động hóa nhà nước yêu cầu bạn liệt kê rõ ràng sự chuyển đổi giữa các trạng thái này. Vì vậy, đối với một máy tự động trạng thái hữu hạn chung có kích thước đó, việc đưa ra bất kỳ khoản khấu trừ nào dựa trên một bảng liệt kê đầy đủ của tất cả các chuyển đổi trạng thái là không khả thi.
Tất nhiên, trong một máy tính thực, các trạng thái chuyển tiếp không thể xảy ra tùy ý. Không có lệnh để trao đổi một phần ba bit trong bộ nhớ trong một bước tính toán. Vì vậy, bạn có thể cố gắng đưa ra một đặc điểm kỹ thuật nhỏ gọn hơn cho các chuyển đổi trạng thái. Một cái gì đó giống như đặc tả tập lệnh của kiến trúc của bạn. Tất nhiên, các kiến trúc máy tính thực sự phức tạp vì mục đích hiệu năng, vì vậy bạn có thể đơn giản hóa điều này hơn nữa, với một số tập lệnh rất đơn giản, chỉ thực hiện các bước rất nhỏ bằng cách sử dụng đầu vào và đầu ra rất hạn chế. Cuối cùng, bạn có thể thấy rằng kiến trúc của bạn giống với trình thông dịch máy Turing: sử dụng một số bit mã chương trình và một bit đầu vào, tạo một chút đầu ra và di chuyển xung quanh trong mã chương trình của bạn.
Một cách khác là sử dụng các trạng thái của máy tự động trạng thái hữu hạn chỉ để biểu diễn dữ liệu đang được chương trình xử lý, đồng thời mã hóa chính chương trình thành các chuyển trạng thái. Điều đó sẽ kéo theo cùng một vấn đề về cách liệt kê tất cả các trạng thái và một đại diện nhỏ gọn có thể lại gần với những gì một máy Turing làm.
Quan điểm của việc nghiên cứu những mô hình mạnh mẽ hơn nhiều đối với máy tính thực sự là gì?
Nhìn chung, tôi muốn nói rằng một máy Turing băng hữu hạn có thể là một mô hình tốt hơn cho các máy tính thực tế. Nhưng đối với nhiều câu hỏi khoa học, sự khác biệt giữa một băng hữu hạn nhưng lớn và vô hạn là không liên quan, vì vậy chỉ cần yêu cầu một băng vô hạn sẽ khiến mọi việc dễ dàng hơn. Đối với các câu hỏi khác, phần mở rộng của băng được sử dụng là cốt lõi của câu hỏi, nhưng mô hình dễ dàng cho phép bạn nói về lượng sử dụng băng mà không gặp rắc rối khi chỉ định điều gì xảy ra nếu tính toán hết băng.