Cho thấy rằng có vô số vấn đề hơn chúng ta sẽ có thể tính toán


8

Tôi đã xem bài đọc này của MIT về độ phức tạp tính toán và vào phút 15:00 Erik Demaine bắt tay vào một cuộc biểu tình để cho thấy những gì được nêu trong tiêu đề của câu hỏi này. Tuy nhiên tôi không thể làm theo lý luận của anh ấy, trong thực tế những gì anh ấy nói là thế này:
chúng ta có thể nêu một vấn đề quyết định là chuỗi và trong thực tế là bảng chân lý của hàm. Ông tiếp tục nói rằng một vấn đề quyết định là một chuỗi bit vô hạn trong khi một chương trình là một chuỗi bit hữu hạn và cho đến nay không có vấn đề gì. Điều tôi không hiểu là sự tiếp tục của bằng chứng kể từ thời điểm này: Các vấn đề về quyết định nằm trong01
R vì bạn có thể đặt dấu thập phân trước chuỗi đại diện cho vấn đề, do đó có được phần thập phân của số thực

 for example if you have 0111011010101010101... it could become x.0111011010101010101... 

Một chương trình "chỉ" là một số nguyên trong vì nó là một chuỗi bit hữu hạn. Điểm mà tôi không hiểu là làm thế nào có thể một vấn đề quyết định có thể so sánh với một số thực thay vì một số nguyên ... Ý tôi là, nếu chúng ta sử dụng đối số "đặt một dấu chấm trước số" thì không thể lý do tương tự cũng được áp dụng cho số lượng thuật toán có thể được tạo ra?N


11
Vấn đề là số lượng thuật toán là có thể đếm được, trong khi số lượng các vấn đề quyết định là không thể đếm được. Tôi đề nghị tra cứu các thuật ngữ này trong sách giáo khoa về lý thuyết tập cơ bản.
Yuval Filmus

1
@Yuval Filmus Tôi hoàn toàn nhận thức được ý nghĩa của các thuật ngữ này, điều tôi đấu tranh để đồng hóa là lý do cho các yếu tố khác nhau (thuật toán / vấn đề quyết định).
Yamar69

1
@JimmyB cùng một tuyên bố là đúng với các số hữu tỷ, nhưng các số hữu tỷ vẫn có thể đếm được (có cùng "kích thước" với các số nguyên) trong khi các số thực thì không.
Gregory J. Puleo

1
Thú vị hơn có lẽ, có vô số vấn đề quyết định được xác định rõ ràng mà không thể được quyết định bởi bất kỳ máy Turing nào. Bạn không cần một lời kêu gọi đối với các tập hợp không thể đếm được để có kết luận rằng có vô số vấn đề không thể giải quyết bằng thuật toán. Bạn không cần tính không đếm được của các số thực để kết luận rằng tập hợp các số thực tính toán có phần bù vô hạn.
John Coleman

1
"... hơn bao giờ hết chúng ta sẽ có thể tính toán" gợi ý rằng những vấn đề chúng ta có thể tính toán thay đổi theo thời gian. Định nghĩa của "tính toán" không phụ thuộc vào thời gian.
David Richerby

Câu trả lời:


9

Nếu tôi hiểu bạn một cách chính xác, câu hỏi của bạn là - tại sao một giải pháp có thể được mã hóa bằng một số tự nhiên và một vấn đề với một số thực. (Tôi giả sử rằng bạn hiểu giai đoạn tiếp theo của bằng chứng dựa trên sự khác biệt giữa các bộ cardinality và .)c0

Lý do nằm ở lý thuyết tập hợp, cụ thể hơn là tính chính xác của các tập hợp khác nhau. Đếm số lượng chương trình - đó là kích thước của các chuỗi khác nhau của một ngôn ngữ hoặc bộ ký tự cụ thể (ví dụ ASCII). Kích thước này tương đương với kích thước của tập (số tự nhiên). (Mỗi chuỗi có thể được biểu diễn dưới dạng giá trị của nó được tính bằng phản hồi nhị phân của nó.)N

Nhưng, đếm số lượng hàm từ số tự nhiên (hoặc chuỗi đại diện cho chúng) đến , đó là một câu chuyện hoàn toàn khác, và ở đây chúng ta đang xử lý sự khác biệt về kích thước giữa hai bộ vô hạn; kích thước của bộ này là lớn hơn. Có một bằng chứng tốt đẹp dựa trên thực tế là các hàm từ đến tất cả các bộ đã đề cập ở trên không thể "bật", dẫn đến kết luận về chênh lệch tim. Bạn có thể đọc bằng chứng ở đây .{0,1}N


11

Định dạng lại một cách chính xác hơn về mặt toán học, điều mà giảng viên đang cố gắng nói là: Bất kỳ thuật toán nào cũng có thể được mã hóa (duy nhất) dưới dạng một chuỗi bit hữu hạn và bất kỳ chuỗi bit hữu hạn nào (duy nhất) mã hóa một chương trình; do đó, có một sự lựa chọn giữa và tập hợp các thuật toán, vì vậy cả hai đều là các tập hợp đếm được. Ngược lại, khi đã cố định thứ tự các chuỗi, bất kỳ vấn đề quyết định cũng có thể được mã hóa (duy nhất) dưới dạng một chuỗi vô hạn, trong đó bit thứ biểu thị xem chuỗi thứ có ở hay không và bất kỳ chuỗi vô hạn nào bit (duy nhất) mã hóa một vấn đề quyết định (theo cùng một cách); do đó,NPiiPR và tập hợp các vấn đề quyết định là cả hai tập hợp không thể đếm được.


6

Mọi thuật toán có thể được mô tả bằng một chuỗi hữu hạn, và do đó chỉ có vô số thuật toán. Ngược lại, chúng ta có thể mô tả mọi vấn đề quyết định như một số thập phân vô hạn trong cơ sở 2, và hơn nữa đây là một surjective lập bản đồ: mỗi số trong có thể được "giải mã" vào một vấn đề quyết định. Do đó, có rất nhiều vấn đề quyết định.[0,1]

Đối số giải mã không hoạt động đối với các thuật toán - trong khi mọi thuật toán tương ứng với một số thập phân hữu hạn, điều này không bao gồm tất cả , mà chỉ là một tập hợp con có thể đếm được của nó.[0,1]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.