P, NP và máy Turing chuyên dụng


13

Tôi là người mới, nhưng rất quan tâm đến lĩnh vực điện toán và lý thuyết phức tạp, và tôi muốn làm rõ sự hiểu biết của mình về cách giải quyết các vấn đề và mức độ mạnh của các vấn đề liên quan đến máy được sử dụng để giải quyết chúng.

Sự hiểu biết của tôi

  • Máy Turing tiêu chuẩn - Máy Turing có bảng chữ cái hữu hạn, số lượng trạng thái hữu hạn và một băng từ vô hạn phải
  • Máy Turing-Equivalent - Máy Turing, có thể mô phỏng và được mô phỏng bằng Máy Turing tiêu chuẩn (khá thường xuyên với sự đánh đổi giữa không gian và thời gian đạt được khi thi đua)
  • P - loại vấn đề có thể được giải quyết trong thời gian đa thức bằng Máy Turing tiêu chuẩn (được xác định ở trên)
  • NP - loại sự cố có thể được xác minh trong thời gian đa thức bằng Máy Turing tiêu chuẩn
  • NP-complete- các vấn đề khó nhất vẫn còn NP, tất cả các NPvấn đề có thể được chuyển đổi thành thời gian đa thức

Câu hỏi của tôi

Là những lớp phức tạp ( P, NP, NP-complete, vv) liên quan đến các thuật toán, hoặc các thuật toán và máy tính?

Nói theo một cách khác, nếu bạn có thể tạo ra Máy tương đương Turing (có thể giải quyết tất cả các vấn đề mà Standard TM có thể, nhưng trong một khoảng thời gian / không gian khác nhau) và máy mới này có thể giải quyết NP-completevấn đề phát triển theo thời gian đa thức đối với đầu vào, điều đó có nghĩa là P=NPgì?

Hoặc phải NP-completegiải quyết vấn đề trên tất cả các máy Turing có thể trong thời gian đa thức để được xem xét P?

Hay tôi hiểu sai một cái gì đó cơ bản ở trên?

Tôi đã có một cái nhìn (có thể không đúng với cụm từ tìm kiếm chính xác, tôi không biết rõ tất cả các thuật ngữ) nhưng có vẻ như hầu hết các bài giảng / ghi chú, v.v. tập trung vào các máy tiêu chuẩn nhưng nói rằng các máy tùy chỉnh thường có tốc độ thời gian / không gian lên với chi phí không gian / thời gian, mà không nói làm thế nào mà chịu đựng các lớp phức tạp. Tôi chưa thực sự đủ quen thuộc với biệt ngữ trong lĩnh vực này để tìm các bài báo giải thích điều này.


Tôi nghĩ rằng câu trả lời của bạn rất giống với câu trả lời của bài đăng này: Về cơ bản, định nghĩa của P, NP, NP-Complete và NP-Hard là gì? Có một cái nhìn vào nó.
Reza

Câu trả lời:


9

Các thuật toán và máy móc không được xác định trong câu hỏi của bạn và tôi không nghĩ rằng chúng là cần thiết để hỏi những gì bạn muốn hỏi.

Các lớp phức tạp được định nghĩa bằng máy Turing. Đó là định nghĩa của họ. Nếu bạn muốn chứng minh bất cứ điều gì bạn phải sử dụng các định nghĩa này. Bất cứ điều gì về bất kỳ mô hình nào khác đều không liên quan trừ khi bạn chứng minh được sự tương ứng giữa mô hình đó và máy Turing.

Tôi xin nói thêm rằng có một giả thuyết nói rằng "tính toán" "hiệu quả" trong bất kỳ "cỗ máy" "hợp lý" nào sẽ nắm bắt các hàm lý thuyết số tương tự. Tuy nhiên, đó không phải là một tuyên bố có thể chứng minh được trừ khi người ta xác định các điều khoản được trích dẫn. Chúng tôi có thể chứng minh nó cho nhiều máy nhưng không phải tất cả các máy. Tương đương với máy Turing là không đủ, chúng tôi muốn chúng mạnh mẽ như vậy, tức là chúng tôi sẽ có thể mô phỏng các máy đó bằng máy Turing và ngược lại một cách hiệu quả. Điều hay về vàPNPlà chúng là các lớp rất mạnh, tức là sự khác biệt nhỏ và lớn trong các mô hình máy không làm thay đổi lớp. Tuy nhiên nó là sự thật tất cả các thời gian. Ví dụ: tôi có thể định nghĩa một mô hình tính toán mới đơn giản trong đó tôi có một hoạt động cơ bản mà trong thời gian không đổi sẽ giải quyết một vấn đề không thể giải quyết được trong . Sau đó, rõ ràng là mô hình này sẽ không tương đương mạnh mẽ với máy Turing.P

Ví dụ trên là một nhân tạo. Tuy nhiên, ngay bây giờ chúng ta có một mô hình tính toán có vẻ gần với tính toán hiệu quả trong thực tế hơn so với máy Turing thời gian đa thức: máy xác suất ngẫu nhiên / xác suất ngẫu nhiên , thuật toán hiệu quả trong mô hình đó được gọi là .BPP

Nhiều chuyên gia tin rằng nhưng chúng ta còn lâu mới chứng minh được điều đó.BPP=P

Chúng tôi có một mô hình tính toán khác mà một số chuyên gia dự kiến ​​sẽ có thể thực hiện được trong tương lai: máy Turing lượng tử , thuật toán hiệu quả trong mô hình đó được gọi là . Chúng tôi không biết liệu nó có khác với nhưng một số chuyên gia phỏng đoán rằng nó khác và mạnh hơn .BQPPP


Nói tóm lại, nếu bạn muốn chứng minh một kết quả lý thuyết phức tạp về và , bạn phải sử dụng các định nghĩa ban đầu bằng máy Turing hoặc trước tiên chứng minh sự tương ứng giữa chúng và các lớp bạn đang sử dụng dựa trên một số mô hình tính toán khác Như tôi đã đề cập ở trên, khá dễ dàng để tạo các mô hình máy trong đó "thời gian" đa thức trong chúng có thể giải quyết một vấn đề (hoặc thậm chí khó khăn hơn): chỉ cần thêm một thao tác cơ bản vào mô hình máy của bạn để giải quyết vấn đề đó và hãy để "thời gian" hoạt động đó là một đơn vị thời gian.N P N PPNPNP


Vì vậy, nếu máy tùy chỉnh của bạn có thể giải quyết vấn đề hiệu quả, nhưng không thể được mô phỏng hiệu quả bằng Máy Turing tiêu chuẩn, kết quả này không liên quan đến P? = NP (ngay cả khi tôi có thể xây dựng Máy này ngoài đời thực)?
Chơi lô tô

Vâng, đó là chính xác.
Kaveh

Và sau đó điều này sẽ vi phạm luận án mở rộng Church-Turing?
Chơi lô tô

Không cần thiết.
Kaveh

6

Chỉ cần một lưu ý nhỏ để nhấn mạnh rằng mô phỏng hiệu quả của máy Turing có nghĩa là không chỉ nó có thể mô phỏng tính toán của máy Turing và ngược lại một cách hiệu quả (làm chậm thời gian đa thức); nhưng cũng đầu vào / đầu ra của nó phải được chuyển đổi hiệu quả từ mô hình này sang mô hình khác.

Một ví dụ tầm thường: nếu bạn tìm thấy một thiết bị tương đương Turing có thể giải quyết vấn đề SAT trong thời gian liên tục, nhưng sử dụng làm đầu vào một đống bi (đơn nguyên), thì bạn không thể kết luận bất cứ điều gì. Tương tự nếu thiết bị của bạn sử dụng đầu vào nhị phân nhưng phải mất một số bước theo cấp số nhân để chuyển đổi một thể hiện SAT sang định dạng đầu vào được sử dụng bởi nó.


3

Sự hiểu biết của bạn là rất tốt! Bạn cũng có thể tìm thêm thông tin trong một văn bản nếu bạn quan tâm, ví dụ: Giới thiệu của Sipser về Lý thuyết tính toán.

Có một ý tưởng được gọi là Luận án Giáo hội nói rằng bất cứ điều gì có thể được tính toán bằng cách nào đó, đều có thể được tính toán bằng Máy Turing. (Điều đó không thể chứng minh được, nhưng chỉ là một ý tưởng, hoặc một loại quy luật tự nhiên mà chúng ta nghĩ là đúng).

Tôi đề cập đến điều này bởi vì còn có "Luận án Turing của Giáo hội mở rộng" nói rằng bất cứ điều gì có thể được tính toán trong thời gian đa thức bằng cách nào đó, đều có thể được tính toán trong thời gian đa thức bằng cách sử dụng Máy Turing.

Có lý do chính đáng để nghi ngờ phỏng đoán này bởi vì chúng ta biết về các thuật toán điện toán lượng tử có được tốc độ tốt hơn đa thức so với các thuật toán cổ điển nổi tiếng nhất. Tuy nhiên, ngoài điều đó, người ta cho rằng bất kỳ máy cổ điển nào bạn có thể xây dựng (chắc chắn bất kỳ biến thể nào trên Máy Turing) đều không thể nhanh hơn theo cấp số nhân so với Máy Turing. Vì vậy, nếu "Máy tương đương Turing" của bạn có thể chạy thuật toán giải quyết vấn đề NP-Complete trong thời gian đa thức, thì P = NP vì tôi có thể chuyển đổi nó thành thuật toán đa thời gian cho cùng một vấn đề trên TM.

Nhưng nếu bạn nghĩ ra một loại Máy tương đương Turing, có lẽ một trong những điều đầu tiên bạn làm là tìm ra cách mô phỏng nó với một TM cổ điển, và điều đó sẽ cho bạn biết nếu bạn có chuyển đổi thời gian đa thức hay không phải. Và câu trả lời gần như chắc chắn là có, ngoại trừ có thể bạn sẽ chậm hơn theo cấp số nhân (nhưng không nhanh hơn - chúng tôi nghĩ, trừ khi đó là lượng tử, sau đó có thể).

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.