Tại sao đây không phải là vấn đề không thể giải quyết được trong NP?


25

Rõ ràng không có bất kỳ vấn đề không thể giải quyết được trong NP. Tuy nhiên, theo Wikipedia :

NP là tập hợp tất cả các vấn đề quyết định trong đó các trường hợp trong đó câu trả lời là "có" có [.. bằng chứng] có thể kiểm chứng được trong thời gian đa thức bằng máy Turing xác định.

[...]

Một vấn đề được cho là trong NP khi và chỉ khi tồn tại một trình xác minh cho vấn đề thực thi trong thời gian đa thức.

Bây giờ hãy xem xét vấn đề sau:

Cho một phương trình Diophantine , nó có giải pháp số nguyên nào không?

Đưa ra một giải pháp, thật dễ dàng để xác minh trong thời gian đa thức rằng đó thực sự một giải pháp: chỉ cần cắm các số vào phương trình. Vì vậy, vấn đề là ở NP. Tuy nhiên, giải quyết vấn đề này nổi tiếng là không thể giải quyết được !

(Tương tự, có vẻ như vấn đề tạm dừng ở NP, vì việc giải quyết "có" của "chương trình này tạm dừng ở bước thứ N" có thể được xác minh trong các bước N.)

Rõ ràng có điều gì đó không đúng với sự hiểu biết của tôi, nhưng nó là gì?


1. Hãy nhớ rằng định nghĩa bạn đang trích dẫn là dành cho các vấn đề quyết định. 2. Về ví dụ Diophantine của bạn, bạn không cho rằng mọi hệ thống đều tồn tại một đa thức ràng buộc về kích thước của các giải pháp, phải không?
Dmitri Chubarov

@Dmitri: Er, vâng tôi đang khẳng định điều đó. Kích thước của giải pháp hoàn toàn giống với kích thước của vấn đề - nếu có N ẩn số, giải pháp chứa N số nguyên. Và đây một vấn đề quyết định - giải pháp số nguyên (cần thiết để xác minh trường hợp "có") sẽ là chứng chỉ của nó .
BlueRaja - Daniel Pflughoeft

19
Câu hỏi đặt ra là, những kẻ gây hấn lớn đến mức nào
Artem Kaznatcheev

10
@ BlueRaja-DannyPflughoeft nếu bạn có một bảng chữ cái vô hạn để mã hóa số nguyên của mình thì bạn không còn trong thiết lập tiêu chuẩn của lý thuyết phức tạp nữa. Với một bảng chữ cái hữu hạn kích thước của mã hóa tăng lên với giá trị của một số nguyên.
Dmitri Chubarov

Một giải pháp cho vấn đề tạm dừng sẽ chỉ trả về "Có", mà không đưa ra gợi ý về việc có bao nhiêu bước để mô phỏng để xác minh.
RemcoGerlich

Câu trả lời:


10

Một định nghĩa tương đương của NP là nó bao gồm tất cả các vấn đề có thể quyết định (không chỉ có thể kiểm chứng) trong thời gian đa thức bởi một máy Turing không xác định. Các NTM được biết là không mạnh hơn các TM theo nghĩa là tập hợp các vấn đề có thể giải quyết được bởi các NTM giống hệt với các vấn đề mà các TM có thể quyết định được, do đó, theo định nghĩa này rõ ràng không thể có vấn đề nào trong NP.

Để chứng minh rằng hai định nghĩa của NP là tương đương, với sự tồn tại của một trình xác minh xác định, bạn có thể chứng minh rằng một người quyết định không xác định tồn tại và ngược lại.

Nói rằng bạn có một xác minh đa thức xác định. Sau đó, cũng có một máy không xác định một cách xác định một chứng chỉ có độ dài giới hạn bởi đa thức tương ứng với kích thước chứng chỉ bị ràng buộc của vấn đề / trình xác minh này và sau đó chạy trình xác minh. Vì bảng chữ cái là hữu hạn, chứng chỉ cho bất kỳ đầu vào đã cho nào là hữu hạn (và hầu hết là đa thức về kích thước của đầu vào) và trình xác minh chạy trong thời gian đa thức, máy dừng lại trên tất cả các nhánh cho tất cả các đầu vào và chạy trong (không phải xác định) thời gian đa thức. Do đó, có một người quyết định không xác định cho mọi xác minh xác định.

Nếu bạn có một người quyết định không xác định, thì với mỗi tính toán chấp nhận, bạn có thể viết ra con đường lựa chọn của người quyết định để đạt đến trạng thái chấp nhận. Vì người quyết định chạy trong thời gian đa thức, con đường này sẽ có độ dài đa thức nhất. Và đó là dễ dàng cho một TM xác định để xác nhận rằng một con đường như một đường dẫn hợp lệ thông qua một NTM đến một trạng thái chấp nhận, vì vậy con đường như vậy tạo chứng chỉ trong một thời gian đa thức xác minh cho vấn đề này. Do đó, có một xác minh xác định cho mọi người quyết định không xác định.

Do đó, bất kỳ vấn đề không thể giải quyết nào cũng không thể có một trình xác minh hoạt động trên các chứng chỉ có kích thước đa thức (nếu không sự tồn tại của trình xác minh sẽ ngụ ý sự tồn tại của một người quyết định).


Khi bạn cho rằng một trình xác minh tồn tại cho vấn đề tạm dừng, chứng chỉ mà bạn đang nói đến là một số mã hóa của (TM, I, N), trong đó TM tạm dừng ở đầu vào I trong N bước. Điều này thực sự có thể được xác minh trong N bước, nhưng kích thước của chứng chỉ không phải là đa thức về kích thước của đầu vào (TM, I) cho vấn đề ban đầu (vấn đề tạm dừng); N có thể lớn tùy ý (bất kể mã hóa). Nếu bạn cố gắng chuyển đổi một trình xác minh như vậy thành một người quyết định không xác định, bạn sẽ kết thúc với một cỗ máy hơi thú vị. Bạn sẽ có thể chứng minh rằng khi chạy trên (TM, I) cho một TM khôngtạm dừng đầu vào Tôi không tồn tại các đường dẫn không dừng trong máy, nhưng đối với bất kỳ đường dẫn nào đến trạng thái dừng, luôn có một đường dẫn dài hơn (tương ứng với dự đoán về N lớn hơn) và do đó không có giới hạn hữu hạn nào thời gian thực hiện của nó. Thực chất điều này là do có một không gian vô hạn cần được khám phá bởi dự đoán không xác định ban đầu. Việc chuyển đổi một NTM như vậy thành một TM xác định sẽ dẫn đến một trong những máy không lặp hoặc không dừng trên một số đầu vào. Trong thực tế, không có NTM nào có thể quyết định vấn đề tạm dừng và do đó, không có trình xác minh nào hoạt động trên các chứng chỉ có kích thước giới hạn.

Tôi không quá quen thuộc với các phương trình Diophantine, nhưng có vẻ như về cơ bản cùng một vấn đề áp dụng cho lập luận của bạn ở đó.

Vì lý do này, tôi thấy dễ dàng hơn để suy luận về định nghĩa NTM của NP. Có những người xác minh cho các vấn đề không thể giải quyết được (chỉ những vấn đề không hoạt động trên các chứng chỉ có kích thước đa thức bị ràng buộc trong kích thước của đầu vào cho vấn đề ban đầu). Trong thực tế, bất kỳ TM nào nhận ra nhưng không quyết định một số ngôn ngữ đều có thể dễ dàng chuyển đổi thành trình xác minh cho cùng một ngôn ngữ.

Nếu bạn nghĩ về việc xác minh, tôi cho rằng bạn phải đưa ra giới hạn thời gian của họ về kích thước của đầu vào vấn đề ban đầu, không phải về kích thước chứng chỉ; bạn có thể tùy ý tăng kích thước của chứng chỉ để trình xác minh chạy trong thời gian thấp hơn bị ràng buộc về kích thước của chứng chỉ.


26

Tôi nghĩ rằng bạn đã hiểu sai ý nghĩa của việc giải phương trình diophantine và định lý bất định của Matiyasevich .

Matiyasevich chứng minh rằng đối với mỗi bộ RE có một diophentine phương trình f ( n ; x 1 , . . . , X k )n S chỉ nếu tồn tại số nguyên hệ số x 1 , .., x kf ( n ; x 1Sf(n;x1,...,xk)nSx1xkf(n;x1,...,xk)=0. Cụ thể, vấn đề tạm dừng là một bộ RE điển hình, và vì vậy việc giải quyết vấn đề trên là không thể giải quyết được.

Lưu ý rằng không bị giới hạn về kích thước và nói chung có thể lớn tùy ý, do đó không có "chứng chỉ kích thước đa thức" rõ ràng trong vấn đề này.x1,...xk

Để mở rộng: các số nguyên cần được viết dưới dạng nhị phân để làm chứng chỉ. Vì các số nguyên này có thể lớn tùy ý (bất kể n ), nên chúng tôi có chứng chỉ không phải là đa thức trong log n hoặc quan trọng hơn, không bị ràng buộc bởi và hàm tính toán.x1,...,xknlogn

Tuy nhiên, mọi vấn đề trong đều có chứng chỉ được giới hạn bởi một số đa thức p ( N ) (trong đó N là kích thước của đầu vào). Vì vậy, các câu hỏi N P có thể quyết định một cách tầm thường, vì bạn có thể liệt kê mọi chuỗi bit có thể lên đến độ dài p ( N ) và nếu không có câu hỏi nào xác nhận đầu vào, hãy trả về false. Nếu một số không thì trả về đúng.NPp(N)NNPp(N)


Tất nhiên tôi hiểu ý nghĩa của việc "giải phương trình diophantine" - bạn tìm thấy những con số thỏa mãn phương trình. Tôi không thấy lý do tại sao định lý không thể thiếu của Matiyasevich hoặc các bộ vô số đệ quy cần được đưa vào thảo luận. Nhưng tôi nghĩ rằng đoạn cuối có thể giải thích nó ...
BlueRaja - Danny Pflughoeft

1
Được rồi, bản chỉnh sửa mới này giải thích nó - điều đó cũng giải thích tại sao vấn đề Ngừng không nằm trong NP, vì các bước cần dừng có thể lớn tùy ý. Cảm ơn!
BlueRaja - Daniel Pflughoeft

Chỉnh sửa đề nghị của tôi là loại bỏ hai đoạn đầu tiên. Hai đoạn đầu giải thích tại sao vấn đề thứ 10 của Hilbert là không thể giải quyết được, điều này hoàn toàn tiếp tuyến với câu hỏi; họ chỉ làm mất đi phần còn lại của câu trả lời (đó là một câu trả lời tuyệt vời khác!) .
BlueRaja - Daniel Pflughoeft

@ BlueRaja-DannyPflughoeft nếu đoạn đầu tiên xúc phạm bạn, thì tôi có thể xóa nó (mặc dù bạn đã hỏi "điều gì sai với sự hiểu biết của tôi ?"). Đoạn thứ hai là cần thiết để đặt vấn đề chính thức hơn vì bạn không đặt câu hỏi.
Artem Kaznatcheev

3
@ BlueRaja-DannyPflughoeft Tốt nhất là nếu câu hỏi và câu trả lời được khép kín. Đoạn thứ hai của tôi thiết lập vấn đề và giải thích ý nghĩa của vấn đề này là không thể giải quyết được. Đoạn thứ ba của tôi cho câu trả lời nhanh chóng. Đoạn 4 và 5 của tôi mở rộng về điều đó chi tiết hơn. Theo như tôi có thể nói, tất cả các đoạn đều cần thiết.
Artem Kaznatcheev

8

Bạn nên cuộn xuống định nghĩa chính thức :

Một ngôn ngữ nằm trong NP khi và chỉ khi tồn tại đa thức pq , và một máy Turing xác định M , sao choLpqM

  • Đối với tất cả và y, máy M chạy trong thời gian p ( | x | ) trên đầu vào ( x , y ) .xMp(|x|)(x,y)
  • Với mọi , tồn tại một chuỗi y có độ dài q ( | x | ) sao cho M ( x , y ) = 1 .xLyq(|x|)M(x,y)=1
  • Với mọi và tất cả các chuỗi y có độ dài q ( | x | ) , M ( x , y ) = 0 .xLyq(|x|)M(x,y)=0

Đó là, một trình xác minh phải làm việc trên các giải pháp không. Một nơi nào đó trong đó, vấn đề undecidable thất bại (trong trường hợp của bạn, hạn chế chiều dài của các ứng cử viên giải pháp có lẽ không hoàn thành), như là hiển nhiên bởi (theo nghĩa computability) hơn rõ ràng định nghĩa :

NP là tập hợp các vấn đề quyết định có thể quyết định bởi một máy Turing không xác định chạy trong thời gian đa thức.


"Trình xác minh cũng phải hoạt động trên các giải pháp không phải là giải pháp" - nếu bạn nói rằng trình xác minh cần phải thất bại đối với các giải pháp không phải là giải pháp, thì điều đó đã xảy ra. Nếu bạn cho rằng trình xác minh cần có thể xác minh câu trả lời "không", điều đó không chính xác - đó sẽ là đồng NP . Và tôi đã biết về định nghĩa thứ hai, nhưng tôi đã bối rối về cách nó có thể tương đương với định nghĩa thứ nhất, vì một định nghĩa dường như thừa nhận vấn đề trong câu hỏi, trong khi định nghĩa khác thì không.
BlueRaja - Daniel Pflughoeft

@ BlueRaja-DannyPlughoeft: Quan sát của tôi là: người xác minh phải có khả năng bác bỏ những giải pháp không phải là giải pháp. Nếu bạn nhận thức được điều này, xin vui lòng chỉnh sửa câu hỏi của bạn cho phù hợp; nó làm cho bạn trông khá khó hiểu
Raphael

Rõ ràng là người xác minh đã bác bỏ các giải pháp không phải là giải pháp: chỉ cần cắm các số vào phương trình và xem nếu nó giữ. Tôi sợ tôi không hiểu những gì bạn đang cố gắng để có được.
BlueRaja - Daniel Pflughoeft

@ BlueRaja-DannyPlughoeft: "định nghĩa" bạn trích dẫn không chỉ định hành vi này.
Raphael

-1

Tôi cố gắng cung cấp thêm chi tiết cho câu trả lời trên của tôi.

Trong thực tế, câu hỏi này là một vấn đề nan giải.

Một mặt, bài toán phương trình Diophantine (DEP) là không thể giải quyết được theo định lý của Matiyesevich (định lý Matiyesevich trả lời bài toán thứ mười của Hilbert, và bài toán Ngừng của Turing trả lời khái quát hóa bài toán thứ mười của Hilbert, đó là Entscheungung) nhưng mặt khác, không có bất kỳ vấn đề không thể giải quyết nào trong NP theo định nghĩa của NP (có thể quyết định và kiểm chứng được).

Điều đó có nghĩa là, hoặc DEP không nằm trong NP hoặc DEP nằm trong NP. Cả hai đều liên quan đến định nghĩa của NP.

Nếu DEP không nằm trong NP, điều đó có nghĩa là các vấn đề trong NP (NDTM NonDeterminstic Turing Machine) có thể quyết định và kiểm chứng được, nghĩa là chúng tôi chấp nhận P = NP (NDTM).

Nếu DEP ở trong NP, thì NP (NTM = Non Turing Machine) có thể xác định được và không thể giải quyết được, rõ ràng có thể xác định được là có thể kiểm chứng được, do đó, vấn đề là liệu có thể kiểm chứng được không? Trên thực tế, đó là vấn đề nổi tiếng của P so với NP. Chắc chắn, không thể xác định được là không thể kiểm chứng, vì vậy NP tương ứng với NTM (Máy không Turing) thay vì NDTM (Máy Turing NonDeterminstic).

Đi theo tiền đề của DEP là trong NP (NTM), chúng tôi nghĩ rằng NP (NTM) là vấn đề không xác định (không thể giải quyết được), và định nghĩa hiện tại của NP (NDTM, có thể quyết định và có thể kiểm chứng) đã mất đi tính không thể xác định này, vì vậy chúng tôi nghĩ rằng nó cần phải được đặt câu hỏi.


1
Không, tính không ổn định của DEP (vấn đề thứ mười của Hilbert) đã không được hiển thị cho đến năm 1970, bởi Matiyesevich. Entscheidungspropet không phải là vấn đề thứ mười của Hilbert; liên quan đến tính hợp lệ của các công thức của logic thứ nhất. Và, một lần nữa, vấn đề P so với NP hoàn toàn không phải là vấn đề về việc các vấn đề không thể giải quyết được có thể kiểm chứng được hay không.
David Richerby

1
Nếu bạn muốn cung cấp thêm chi tiết, bạn nên chỉnh sửa bài viết gốc của mình.
Tom van der Zanden

@DavidR Richby Lưu ý rằng câu trả lời được đưa ra bởi Ben: «tập hợp các vấn đề có thể quyết định bởi NTMs giống hệt với các vấn đề có thể quyết định bởi các TM». Theo nghĩa này, tôi nghĩ rằng định nghĩa của NP nhầm lẫn P với NP và nó dẫn đến P = NP (NDTM). Nếu định nghĩa này cần phải được đặt câu hỏi, thì các kết luận khác được suy ra từ định nghĩa này, như sự tương đương của một trình xác minh xác định và một người quyết định không xác định, cũng cần phải được đặt câu hỏi.
Yu Li

@YuLi "nó dẫn đến P = NP (NDTM)." Tôi không biết ý của bạn là gì Ngoài ra, tôi không thấy sự liên quan của việc chỉ ra rằng các TM và NTM quyết định cùng một ngôn ngữ. Nếu họ không quyết định cùng một ngôn ngữ, NTM sẽ là một mô hình tính toán hoàn toàn vô lý và thật khó để tưởng tượng rằng chúng ta quan tâm những gì họ có thể tính toán trong thời gian đa thức. Trong lý thuyết phức tạp, chúng tôi đang có một cái nhìn chi tiết hơn và hỏi về các tài nguyên tính toán cần thiết và định nghĩa của NP hoàn toàn không nhầm lẫn điều đó.
David Richerby

@DavidR Richby Cảm ơn, tôi đã sửa đổi câu trả lời của mình theo nhận xét của bạn để làm rõ mối quan hệ của Entscheidungspro Hiệu và vấn đề thứ mười của Hilbert. Liên quan đến câu hỏi về định nghĩa hiện tại của NP, rất khó để thảo luận bằng nhiều từ. Mục tiêu của câu trả lời của tôi chỉ là gợi lên một số phản xạ về chủ đề cơ bản này, Mạnh
Yu Li

-2

Chúng tôi nghĩ rằng vấn đề nan giải mà bạn nêu ra về phương trình Diophantine là rất quan trọng, bởi vì nó cho thấy có điều gì đó bất thường trong định nghĩa hiện tại của NP: - Một vấn đề được cho là ở NP nếu và chỉ khi tồn tại một trình xác minh cho vấn đề thực thi trong đa thức thời gian.

Liên quan đến định nghĩa của NP, nó có thể được truy nguyên từ những năm 60, trong đó một số lượng lớn các vấn đề có thể áp dụng và quan trọng đã được phát hiện mà không tìm thấy thuật toán đa thức nào để giải quyết chúng, để nhận ra những vấn đề này từ những vấn đề đó có thể giải quyết được trong thời gian đa thức (P), khái niệm NP đã được đưa ra.

Tuy nhiên, định nghĩa hiện tại của NP được xác định là có thể kiểm chứng được trong thời gian đa thức nhầm lẫn NP với P, bởi vì một vấn đề trong P cũng có thể kiểm chứng được trong thời gian đa thức. Nói cách khác, định nghĩa như vậy dẫn đến mất bản chất của NP, «nondeterminisme». Do đó, nó gây ra sự mơ hồ nghiêm trọng trong việc hiểu NP, ví dụ, vấn đề nan giải của bạn: về bản chất, vấn đề của phương trình Diophantine là không thể giải quyết được; nhưng theo định nghĩa của NP, nó có thể quyết định được

Theo chúng tôi, khó khăn trong việc giải quyết «P so với NP» trước hết nằm ở cấp độ nhận thức, vì vậy nếu chúng ta hy vọng có được cái nhìn sâu sắc về «P so với NP», trước tiên chúng ta cần đặt câu hỏi: NP là gì?


4
Đây dường như là một ý kiến ​​về định nghĩa của NP , không phải là một câu trả lời cho câu hỏi. Định nghĩa của NP là tốt. Nó không nhầm lẫn P với NP ; đúng hơn, nó thừa nhận rằng P là tập con của NP . Đối với tôi, sẽ rất không tự nhiên nếu P không phải là tập con của NP . NP là một lớp các vấn đề có thể được giải quyết trong giới hạn tài nguyên nhất định. Điều đó nhất thiết bao gồm cả một loạt các vấn đề dễ dàng ( P ) có thể được giải quyết mà không tiến gần đến giới hạn của các tài nguyên có sẵn.
David Richerby 14/2/2016

@DavidR Richby P và NP có thuộc tính chung là «chứng chỉ có thể kiểm chứng trong thời gian đa thức», nhưng thuộc tính này không phải là bản chất của NP. Nếu thuộc tính này được sử dụng để xác định NP, thì P là tập con của NP và NP có P là tập con của nó (có thể quyết định) và chính nó (không thể xác định được). Do đó, người ta sẽ tự hỏi liệu NP là quyết định hay không thể giải quyết được? Cũng giống như vấn đề nan giải ở trên: liệu phương trình Diophantine là không thể giải quyết được hay có thể quyết định? Vì vậy, câu trả lời của tôi là đề nghị điều tra vấn đề nan giải này từ quan điểm về định nghĩa của NP: có thể kiểm chứng, không thể kiểm chứng là không thể kiểm chứng được!
Yu Li

Các vấn đề trong NP có thể quyết định theo định nghĩa: NP là loại vấn đề được quyết định bởi các máy Turing không xác định. Thật dễ dàng để chứng minh rằng đây chính xác là cùng một tập hợp các vấn đề có chứng chỉ độ dài đa thức có thể được xác minh trong thời gian đa thức. Nếu bạn lo lắng rằng các vấn đề trong NP có thể không thể giải quyết được, thì bạn đã hiểu nhầm điều gì đó.
David Richerby

Có, tôi lo lắng rằng các vấn đề trong NP có thể không thể quyết định được. Bạn nói về sự tương đương của hai định nghĩa về NP: NP là loại vấn đề được quyết định bởi các máy Turing không xác định; NP là lớp các vấn đề có chứng chỉ độ dài đa thức được xác minh trong thời gian đa thức. Tôi nghi ngờ sự tương đương này, bởi vì cái này là về sự tồn tại của thuật toán để giải quyết vấn đề và cái còn lại về sự tồn tại của giải pháp cho một vấn đề. Vấn đề nan giải về phương trình Diophantine có thể liên quan trực tiếp đến sự tương đương này (xem thêm chi tiết về lập luận của tôi: arxiv.org/abs/1501.01906 ).
Yu Li

2
@YuLi Sự tương đương của hai định nghĩa về NP rất đơn giản đến nỗi nó được dạy trong các lớp lý thuyết phức tạp đại học. Tôi khuyên bạn không nên tải lên ArXiv nếu bạn không hiểu những điều cơ bản của lĩnh vực này.
David Richerby
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.