Luận cứ cho / chống lại phỏng đoán của Kolmogorov về độ phức tạp của P


19

Theo tài khoản lịch sử (chưa được xác minh), Kolmogorov nghĩ rằng mọi ngôn ngữ trong đều có độ phức tạp mạch tuyến tính. (Xem câu hỏi trước đó của Kolmogorov phỏng đoán rằng có các mạch kích thước tuyến tính .) Lưu ý rằng nó ngụ ý .P PN PPPPNP

Tuy nhiên, phỏng đoán của Kolmogorov có thể bị thất bại. Ví dụ, Ryan Williams viết trong một bài báo gần đây : "Giả thuyết sẽ gây ngạc nhiên, nếu đúng. Đối với các ngôn ngữ trong yêu cầu thời gian , dường như không có sự phức tạp của các vấn đề như vậy kỳ diệu sẽ co lại thành kích thước , chỉ vì một mạch khác nhau có thể được thiết kế cho mỗi chiều dài đầu vào. "n 100 100 O ( n )Pn100100O(n)

Mặt khác, Andrey Kolmogorov (1903-1987) được công nhận rộng rãi là một trong những nhà toán học hàng đầu của thế kỷ 20. Thật khó để tưởng tượng rằng anh ta sẽ đề xuất một phỏng đoán hoàn toàn vô lý. Do đó, để hiểu rõ hơn về nó, tôi đã cố gắng tìm một số lập luận có thể thực sự hỗ trợ cho dự đoán đáng ngạc nhiên của anh ấy. Đây là những gì tôi có thể nghĩ ra:

Giả sử . Sau đó, chúng ta có thể chọn một ngôn ngữ , sao cho có độ phức tạp siêu tuyến tính cả trong đồng phục và trong mô hình không đồng nhất. Sau đó, có hai khả năng:L P LPSIZE(lin)LPL

  1. Có một tiếng rõ ràng thuật toán (Turing máy) mà chấp nhận . Từ đó chúng ta có thể xây dựng một họ hàm rõ ràng phải có độ phức tạp mạch siêu tuyến. Tuy nhiên, điều này có thể được xem là không thể, vì không ai có thể tìm thấy một ví dụ như vậy trong hơn 60 năm nghiên cứu mạnh mẽ về các mạch.L

  2. Không có tiếng rõ ràng thuật toán cho . Ví dụ, sự tồn tại của nó được chứng minh thông qua các phương tiện không mang tính xây dựng, như Tiên đề của sự lựa chọn. Hoặc, ngay cả khi thuật toán rõ ràng tồn tại, không ai có thể tìm thấy nó. Tuy nhiên, được đưa ra rằng có vô số ngôn ngữ có thể đóng vai trò của , một lần nữa chắc chắn rằng tất cả chúng đều hành xử theo cách không thân thiện này.LLL

Nhưng sau đó, nếu chúng ta loại bỏ cả hai lựa chọn là không thể, thì khả năng duy nhất còn lại là không tồn tại. Điều đó có nghĩa là , đó chính xác là phỏng đoán của Kolmogorov.LPSIZE(lin)

Câu hỏi: Bạn có thể nghĩ ra bất kỳ lý lẽ nào nữa cho / chống lại phỏng đoán của Kolmogorov không?


2
Tôi tự hỏi: Chúng ta có ứng cử viên để bác bỏ phỏng đoán của Kolmogorov không? Tất nhiên, người ta có thể xem xét bất kỳ vấn đề nào có thể chứng minh có độ phức tạp siêu tuyến tính. Có lẽ một số trong số họ có nhiều khả năng không có mạch kích thước tuyến tính?
Bruno

2
Hãy đối mặt với nó, không ai có manh mối nhỏ nhất. (trích dẫn của goldman trên hollywood: "không ai biết gì cả.") phỏng đoán (chưa được công bố) có thể đã được mở thậm chí lâu hơn P =? NP. tuy nhiên, một ý tưởng sơ bộ / góc đáng để khám phá: lý thuyết nén & khả năng nén. về cơ bản, đây là những gì williams đang ám chỉ và có thể là trung tâm của nhiều sự phân tách giai cấp phức tạp. ý tưởng là có những cách / thuật toán cơ bản để mã hóa dữ liệu và một số mẫu thực chất khó nén hơn bằng cách sử dụng mã hóa (bất kỳ tùy ý) . nhưng dường như có rất ít kết quả trong lĩnh vực này.
vzn

1
và btw, nhiều mối liên hệ của độ phức tạp Kolmogorov với độ phức tạp tính toán, ví dụ như được khám phá bởi Fortnow có thể có một số kết nối giải thích tại sao các câu hỏi rất khó giải quyết, bởi vì rất nhiều câu hỏi liên quan đến độ phức tạp Kolmogorov là không thể giải quyết được ...?
vzn

1
@Bruno: Tôi đoán rằng - các bài toán hoàn chỉnh sẽ là ứng cử viên tốt, ví dụ: Lập trình tuyến tính hoặc Bài toán giá trị mạch. Nếu thì những vấn đề này không thể được giải quyết thậm chí không đồng nhất ở độ sâu đa kích thước và đa logarit, do đó, ít nhất có vẻ hợp lý để đoán rằng những vấn đề như vậy không nên có thể giải được ở kích thước tuyến tính (và độ sâu không giới hạn) hoặc. Các yếu tố quyết định có thể là một ứng cử viên hợp lý khác. Nhưng đây chỉ là những đề xuất - tôi không có lý do mạnh mẽ để nghĩ rằng chúng có kích thước mạch siêu tuyến tính. PN CPPNC
Joshua Grochow

Câu trả lời:


22

Chú thích của bài báo của tôi mà bạn trích dẫn cũng đề cập đến một "lập luận" heuristic, ít nhất, những gì chúng ta nghĩ là trực giác của Kolmogorov - giải quyết tích cực cho vấn đề thứ mười ba của Hilbert.

http://en.wikipedia.org/wiki/Hilbert's_thirteenth_propet

Cụ thể, Kolmogorov và Arnold đã chứng minh rằng bất kỳ hàm liên tục nào trên biến đều có thể được biểu diễn dưới dạng một thành phần của các hàm "đơn giản" : thêm hai biến và hàm liên tục trên một biến. Do đó, trên "cơ sở" của các hàm liên tục một biến và phép cộng hai biến, mọi hàm liên tục trên biến có "độ phức tạp mạch" .O ( n 2 ) n O ( n 2 )nO(n2)nO(n2)

Dường như Kolmogorov tin rằng có một sự tương tự rời rạc, trong đó "liên tục trong biến" trở thành "Boolean trong biến và poly tính toán theo thời gian" và trong đó "cơ sở" đưa ra ở trên trở thành các hàm Boolean hai biến.n ( n )nn(n)


Sẽ rất thú vị nếu chất tương tự rời rạc mà Kolmogorov tin vào sẽ thực sự tồn tại. Có lẽ, các nhà nghiên cứu đã cố gắng tìm ra nó, vì nó có thể dẫn đến một bằng chứng về . Rào cản chính họ gặp phải là gì? PNP
Andras Farago

3
Rào cản? Tôi không nghĩ ai đã tìm thấy đường :) Vì hầu hết mọi người tin rằng không có mạch kích thước , với mỗi cố định , có lẽ ít người thậm chí đã tìm đường. O ( n k ) kPO(nk)k
Ryan Williams

11

Câu trả lời của Stasys cho câu hỏi trước cung cấp một số trực giác có khả năng ủng hộ: /cstheory//a/22048/8243 . Tôi sẽ cố gắng nghỉ ngơi ở đây khi tôi hiểu nó. Trực giác quan trọng là xem một mạch như, không phải là thuật toán, mà là mã hóa của một tập hợp (tập hợp mà nó chấp nhận). Chúng ta có thể nhận được một thượng-bound trên mã hóa kích thước bằng thuật toán thời gian chạy (có nghĩa là, dịch tốn nhiều thời gian TM thành một size- mạch), nhưng nó không rõ ràng những gì mối quan hệ ngược lại nên tồn tại. Nếu một ngôn ngữ nằm trong , thì có lẽ điều này ngụ ý rằng tư cách thành viên là "cục bộ" đủ để được mã hóa rất chính xác.t PttP

Nghĩa là, tư cách thành viên trong là một tuyên bố về thời gian chạy của thuật toán trong khi các mạch tuyến tính (có lẽ) là một tuyên bố về kích thước mã hóa của các tập hợp các từ có độ dài cố định. Cả hai đều là những tuyên bố về sự đơn giản của ngôn ngữ nhưng họ sống trong những thế giới có thể khá khác nhau.P

Một trực giác khác mà Stasys đề cập đến từ "chuỗi chỉ số" của ngôn ngữ, chúng ta hãy chính thức hóa thành chuỗi vô hạn trong đó bit là nếu chuỗi từ vựng thứ nằm trong ngôn ngữ và bằng nếu không. Một TM (polytime) cho ngôn ngữ là một lời tiên tri (nhanh) cho chuỗi --- cho ở dạng nhị phân, tạo ra bit thứ . Một mạch (có kích thước tuyến tính) cho các đầu vào có độ dài là một tiên đề (ngắn gọn) cho tiền tố có độ dài của chuỗi. Sự phỏng đoán trở thành "bất kỳ chuỗi vô hạn nào có một tiên tri 'nhanh' đều có tiền tố 'ngắn gọn'.1 j 0 j j n 2 nj1j0jjn2n

Không có điều nào ở trên giải thích tại sao và" tuyến tính "có thể là các tham số tương ứng phù hợp cho câu lệnh, nhưng tôi nghĩ rằng chúng cho thấy một trực giác tự nhiên - rằng các mạch hoạt động như thuật toán và các thuật toán phức tạp hơn đòi hỏi mạch tương tự phức tạp - có thể gây hiểu nhầm.P"

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.