Có lẽ câu trả lời là đồng nghiệp của bạn là chính xác. Có lẽ bạn đã hiểu nhầm Turing, hoặc nó áp dụng ở đây như thế nào?
Tất cả các máy đều hữu hạn, do đó không có máy Turing 'thật' và không có chương trình nào sẽ không bao giờ dừng lại. Một chương trình tầm thường thực hiện một vòng lặp vô hạn đơn giản có thể chạy 5 phút hoặc 50 năm nhưng trên một máy hữu hạn, nó sẽ dừng lại. Một vấn đề không dừng không tầm thường như 'tính toán chính xác pi' cũng sẽ dừng lại, bởi vì cuối cùng phép tính sẽ vượt quá khả năng lưu trữ các chữ số tiếp theo.
Kết quả Turing không đảm bảo bất cứ điều gì đặc biệt hữu ích trên các máy hữu hạn, vì vậy nhiệm vụ của bạn cuối cùng không có kết quả. Tốt hơn để tập trung vào bao nhiêu thời gian và bao nhiêu tiền và để lại vô hạn cho các nhà toán học.
Bạn có thể nghĩ rằng một chương trình như { while true: print "running"; print "halted"; }
là một ví dụ ngược lại nhưng thực tế không phải vậy. Chương trình này có tác dụng phụ, có thể hoặc không thể khiến nó dừng lại. Bỏ qua các tác dụng phụ, có thể đưa ra một bằng chứng chính thức rằng chương trình này sẽ không dừng lại. Trong câu hỏi này, chúng tôi chỉ quan tâm đến các chương trình trốn tránh bằng chứng chính thức về việc không tạm dừng, trong đó câu hỏi tạm dừng là không thể giải quyết được. Đây không phải là một chương trình như vậy.
Nó có thể giúp phân biệt Turing 'mạnh' với Turing 'yếu'. Máy Turing mạnh thực sự là vô hạn và nếu chúng không dừng lại, sẽ chạy trong thời gian vô hạn. Chúng ta không thể xây dựng chúng.
Máy yếu Turing có giới hạn hữu hạn về thời gian và không gian, và chúng là loại duy nhất chúng ta có thể xây dựng. Chúng tôi quan tâm đến các chương trình không thể được chứng minh là dừng lại trong những giới hạn đó. Turing nói với chúng tôi rằng có những chương trình như vậy nhưng chúng tôi không thể xác định chúng. Nếu các giới hạn đủ thấp, chúng ta có thể xác định chúng bằng cách viết chương trình và chạy nó đến giới hạn của nó.
Bản chất của Turing là không có phím tắt. Cách duy nhất để chắc chắn liệu một vấn đề có khả thi về mặt tính toán hay không là viết chương trình, chạy nó và tìm hiểu. Với đủ thời gian và tiền bạc, bạn có thể viết tất cả các chương trình, chạy chúng mãi mãi và theo thời gian, và tìm ra những chương trình tạo ra kết quả (bộ chia). Những người khác vẫn sẽ chạy. Bạn đồng nghiệp có đủ thời gian và tiền bạc để làm việc đó không?
Nghiêm túc mà nói, tranh chấp là về giới hạn. Turing và NP hoàn thành cho chúng tôi biết rằng các loại vấn đề nhất định không thể được giải quyết bằng máy tính trong bất kỳ ngân sách nhất định hoặc theo bất kỳ lịch trình cụ thể nào, bất kể ngân sách đó lớn hay lịch trình đó có thể hào phóng đến mức nào. Ví dụ về loại vấn đề đó rất nhiều: phá khóa mật mã; tối ưu hóa các tuyến đường để thực hiện giao hàng đến hàng trăm địa chỉ; hộp đóng gói trong xe tải; tìm lỗi trong các chương trình lớn!
Vì vậy, hãy hỏi đồng nghiệp của bạn về ngân sách và lịch trình, và đưa ra một lời hứa rằng bạn có thể tạo ra một vấn đề không thể giải quyết trong ngân sách hoặc lịch trình đó. Lời hứa đó sẽ rất dễ giữ.