Skip to main content

Turing hoàn thiện là gì?

Tính đầy đủ là khi một ngôn ngữ lập trình có thể thực hiện các chức năng của máy Turing.Đây là một khái niệm cho một máy tính cơ học rất cơ bản, đôi khi được mô tả là máy đơn giản nhất có thể được coi là một máy tính.Hầu như tất cả các ngôn ngữ lập trình được sử dụng ngày nay, và về lý thuyết, các máy tính điều hành chúng, có tính đầy đủ của Turing. Khái niệm về tính đầy đủ của Turing đến từ Alan Turing, một nhà khoa học máy tính người Anh có công việc bao gồm giải mã các thông điệp được mã hóa trong Thế chiến II.Trong số các tác phẩm của ông về máy tính là sự phát triển của một triết lý về những gì một máy tính thực sự có thể làm.Điều này bao gồm khái niệm rằng máy tính hoạt động đơn giản bằng cách chạy các thuật toán.Điều đó có nghĩa là họ tuân theo một bộ quy tắc cố định để xử lý dữ liệu và lần lượt giải quyết các vấn đề.Điều này có nghĩa là một máy tính không nghĩ hoặc đưa ra quyết định như một người có thể. Để minh họa cho khái niệm này, Turing đã mô tả một cỗ máy giả thuyết mà anh ta gọi là A-Machine, với sự đứng tự động;Những người khác sau đó gọi nó là máy Turing.Máy sẽ xử lý một cuộn băng có thể di chuyển trở lại hoặc chuyển tiếp và chứa một dòng các ký hiệu.Bất cứ lúc nào máy có thể xử lý một biểu tượng và, nếu cần, thay đổi nó.Đối với các mục đích của khái niệm, cuộn băng có thể dài vô hạn, có nghĩa là bộ nhớ của máy tính vốn không bị giới hạn.Đây là một sự tương tự cho ý tưởng rằng một khi máy tính có một bộ hướng dẫn để tuân theo, lượng dữ liệu có thể áp dụng các hướng dẫn đó chỉ là giới hạn vật lý. Trớ trêu thay, hầu hết các máy tính ngày nay không thực sự có tính hoàn chỉnh.Điều này là do họ có những hạn chế trên không gian lưu trữ có sẵn và do đó dữ liệu họ có thể xử lý.Họ cũng có những hạn chế về thể chất, đáng chú ý nhất là cuối cùng họ sẽ bị hao mòn.Nó thực sự là ngôn ngữ lập trình có tính hoàn chỉnh của Turing.Bởi vì điều này, một máy tính đang chạy một chương trình như vậy không phải là một máy tính Turing, nhưng có thể được sử dụng để mô phỏng một.Đây là một thử nghiệm được thiết kế bởi Turing để xem máy tính có thể trò chuyện bằng ngôn ngữ tự nhiên hay không.Nguyên tắc của bài kiểm tra là nếu con người không thể nói sự khác biệt giữa một cuộc trò chuyện chỉ có văn bản với máy tính và người khác, máy tính sẽ vượt qua bài kiểm tra.Trong khi một số máy tính đã vượt qua bài kiểm tra khi phạm vi của các đối tượng trò chuyện bị hạn chế, nhưng không có máy tính nào làm như vậy trong cuộc trò chuyện không giới hạn.