Bây giờ, chúng tôi sẽ mô tả một bằng chứng của một trong các định lý nổi tiếng nhất trong khoa học máy tính. Chúng tôi sẽchỉ là một vấn đề mà không thể được giải quyết bằng cách sử dụng bất kỳ thủ tục. Đó là, chúng tôi sẽ hiển thịcó những vấn đề nan giải. Vấn đề chúng tôi sẽ nghiên cứu là vấn đề halting. Nó sẽ hỏi cho dùđó là một thủ tục thực hiện điều này: mất như là đầu vào một chương trình máy tính và các đầu vào cho các chương trìnhvà xác định liệu chương trình cuối cùng sẽ ngừng khi chạy với đầu vào này. Nó sẽ làthuận tiện để có thủ tục như vậy, nếu nó tồn tại. Chắc chắn là có thể kiểm tra xem một chương trìnhnhập vào một vòng lặp infinite sẽ là hữu ích khi viết và gỡ lỗi chương trình. Tuy nhiên,năm 1936 Alan Turing đã cho thấy rằng các thủ tục như vậy không tồn tại (xem tiểu sử của ông ở phần 13.4). Trước khi chúng tôi trình bày bằng chứng rằng các vấn đề halting là nan giải, chính lưu ý rằng chúng tôi không thểđơn giản chỉ cần chạy một chương trình và quan sát những gì nó có phải xác định cho dù nó chấm dứt khi chạyvới các đầu vào cho trước. Nếu chương trình halts, chúng tôi có câu trả lời của chúng tôi, nhưng nếu nó vẫn đang chạy sau khi bất kỳfixed độ dài của thời gian đã trôi qua, chúng tôi không biết liệu nó sẽ không bao giờ tạm dừng hoặc chúng tôi đã khôngchờ đợi đủ lâu để nó kết thúc. Sau khi tất cả, nó không phải là khó khăn để thiết kế một chương trình sẽ dừng lạichỉ sau hơn một tỷ năm đã trôi qua. Chúng tôi sẽ mô tả Turing của bằng chứng rằng vấn đề halting là nan giải; nó là một chứng minh bằngmâu thuẫn. (Người đọc nên lưu ý rằng bằng chứng chúng tôi không phải là hoàn toàn nghiêm ngặt, bởi vì chúng tôicó không một cách rõ ràng defined là một thủ tục gì. Để khắc phục điều này, các khái niệm về một máy Turinglà cần thiết. Khái niệm này được giới thiệu trong phần 13,5.)
đang được dịch, vui lòng đợi..
