Tại sao P = NP không ngụ ý P = AP (tức là P = PSPACE)?


18

Người ta biết rằng nếu thì hệ thống phân cấp đa thức sụp đổ và .P = P HP=NPP=PH

Điều này có thể dễ dàng được hiểu theo cách sử dụng máy orory. Câu hỏi là - tại sao chúng ta không thể tiếp tục quá trình quy nạp vượt quá mức thay thế không đổi và chứng minh (còn gọi là )?P=AltTime(nO(1))AP=PSPACE

Tôi đang tìm kiếm một câu trả lời trực quan.



4
Được biết, NL=coNL nhưng nó được nghi ngờ rằng AL (tức P ) không bằng NL .
sdcvvc

Câu trả lời:


32

Các bằng chứng cho P=AltTime(O(1)) ( =PH ) là một cảm ứng sử dụng P=NP . Cảm ứng cho thấy với bất kỳ số tự nhiên k , P=AltTime(k) (và AltTime(O(1)) chỉ là liên minh của họ).

Cảm ứng không hoạt động khi số lần thay thế có thể thay đổi theo kích thước đầu vào (nghĩa là khi số lần thay thế có thể có của máy không phải là số mà là chức năng của kích thước đầu vào, tức là chúng tôi không cho thấy việc thực hiện máy trên một đầu vào có thể được giảm xuống không có sự thay thế, chúng tôi đang chỉ ra rằng các lần thực hiện của máy trên tất cả các đầu vào có thể được "đồng nhất" giảm xuống không có sự thay thế).

Hãy xem xét một tuyên bố tương tự nhưng đơn giản hơn. Chúng tôi muốn chỉ ra rằng hàm nhận dạng cuối cùng chi phối tất cả các hàm hằng ( f g iff cho tất cả nhưng chính xác là nhiều n f ( n ) g ( n ) ). Nó có thể được chứng minh bằng cảm ứng. Đối với tất cả k , k « n (tức là f k « i d nơi e k ( n ) = kid(n)=nfgn f(n)g(n)kknfkidfk(n)=kn2n2≪̸n


22

So sánh hệ thống phân cấp đa thức với hệ thống phân cấp cho bằng chứng tương tác. Nếu đối với một số k cố định , bạn có k thay thế trong một bằng chứng tương tác - IP ( k ) - lớp phức tạp kết quả không có nhiều sức mạnh hơn những gì bạn nhận được với hai lần thay thế - đó là IP ( k ) = IP (2 ) = AM (giả sử k 2). Tuy nhiên, nếu bạn cho phép số lượng xen kẽ đa thức, bạn sẽ nhận được lớp phức tạp IP = PSPACE, được cho là lớn hơn nhiều so với AM, một lớp được chứa trong 2 P, ở cấp thứ hai của hệ thống phân cấp đa thức. Vì vậy, hiện tượng này thực sự xảy ra (mặc dù, không quá xa như chúng ta biết, với hệ thống phân cấp đa thức).

Điều này xảy ra bởi vì việc giảm một vấn đề về kích thước n trong IP ( k ) và biến nó thành vấn đề trong IP (2) làm tăng kích thước của vấn đề, do đó, đối với bất kỳ IP cụ thể nào ( k ), vấn đề vẫn là kích thước đa thức , nếu bạn để k thay đổi, việc giảm kết quả sẽ không gây ra vấn đề là đa thức trong k .


11

Đây là một trực giác nhỏ liên quan đến khoảng cách giữa các phép xen kẽ và không giới hạn: một phép toán đa thức lặp lại một số lần không đổi là đa thức, nhưng lặp lại một số lần đa thức có thể theo cấp số nhân. Ví dụ, lấy phép nhân lặp đi lặp lại trên chính nó:

v = 2
for(i=1 to n)
  v = v*v

Số lần lặp là tuyến tính và đầu ra là số mũ. Nhưng nếu bạn sửa n, nó là đa thức về kích thước của giá trị ban đầu.


4

Dưới đây tôi mở rộng một chút về vấn đề trong câu trả lời của Peter bằng cách cố gắng thực hiện loại bỏ định lượng cho số bước không đổi để xem nó thất bại ở đâu và liệu có thể cứu vãn được gì từ nỗ lực đó không.

Hãy thử khuếch đại trong hơn số lần không đổi.P=NP

Giả sử rằng . Do đó, có cỗ máy thời gian đa thức giải quyết Ext-Circuit-SAT (có phần mở rộng thỏa mãn cho một mạch nhất định và gán một phần cho đầu vào của nó không?).P=NP

Chính thức hơn, chúng ta có một thuật toán đa thời gian với thời gian chạy đa thức st Ap(n)poly(n)

Đưa ra một mạch Boolean và gán một phần cho các đầu vào, trả về "có" nếu có phần mở rộng của thỏa mãn và trả về "không" nếu không.φτ
Aτφ

Để vượt qua thời gian không đổi, chúng ta cần thực hiện loại bỏ định lượng một cách hiệu quả. Chúng ta có thể làm điều này bởi vì định lý Cook-Levin là một định lý mang tính xây dựng, trên thực tế, nó đưa ra thuật toán thời gian đa thức stCook

Cho một DTM nhận hai đầu vào và ba số đơn vị , và , trả về một mạch Boolean có kích thước mô phỏng trên các đầu vào có độ dài cho các bước .Mnmt
Cook(M,n,m,t)O(t2)M(n,m)t

Chúng ta hãy thử sử dụng những điều này để mở rộng đối số cho để có được thuật toán giải TQBF (thực ra là TQBCircuit, tức là bài toán Boolean Circuit được định lượng hoàn toàn).P=PH

Ý tưởng của thuật toán như sau: chúng tôi liên tục sử dụng on để loại bỏ các bộ lượng hóa khỏi một mạch định lượng nhất định. Có số lượng định lượng tuyến tính, vì vậy chúng tôi hy vọng sẽ có được thuật toán thời gian đa thức (chúng tôi có một thuật toán với nhiều bước đa thức sử dụng chương trình con thời gian đa thức ). Khi kết thúc quá trình loại bỏ bộ định lượng này, chúng ta sẽ có một mạch không có bộ định lượng có thể được đánh giá theo thời gian đa thức (Bài toán giá trị mạch nằm trong , hãy để là thuật toán thời gian đa thức để tính giá trị mạch của mạch đã cho).CookACookPCV

Tuy nhiên chúng ta sẽ thấy rằng ý tưởng này không hoạt động (vì lý do tương tự được Peter chỉ ra).

  • Đặt là một mạch định lượng, (khởi tạo theo công thức định lượng đã cho).φ
  • Đặt số lượng định lượng trong .kφ
  • Đối với từ đến làm ik1

    • Đặt = là bộ định lượng cuối cùng và phần không có bộ định lượng. ψQxkσ(x1,...,xk)
    • Nếu , Q=""

      1. Tính , C=Cook(A,|σ|,|x1|+...+|xk1|,p)
      2. Thay thế các bit đầu vào bằng trong mạch , σC
      3. Thay thế bằng trong . ψCφ
    • Nếu , Q=""

      1. Hãy xem xét như , ψ¬xk¬σ
      2. Tính , C=Cook(A,|¬σ|,|x1|+...+|xk1|,p)
      3. Thay thế các bit đầu vào bằng trong mạch , ¬σC
      4. Thay thế bằng trong .ψ¬Cφ
  • Tính toán và trả về .CV(φ)

Thuật toán kết quả trông thời gian đa thức: chúng ta có nhiều bước đa thức, mỗi bước là thời gian đa thức tính toán. Tuy nhiên điều này không đúng, thuật toán không phải là thời gian đa thức.

Sử dụng chương trình con thời gian đa thức trong thuật toán thời gian đa thức là thời gian đa thức. Vấn đề là nói chung, điều này không cần phải đúng nếu các giá trị được trả về của chương trình con không có kích thước đa thức trong đầu vào ban đầu và chúng tôi giả sử rằng chúng tôi thực hiện các bài tập về các giá trị trả về từ chương trình con. (Trong mô hình TM, chúng ta phải đọc đầu ra của bất kỳ chương trình con thời gian đa thức nào từng bit.) Ở đây kích thước của giá trị được trả về từ thuật toán đang tăng (có thể là sức mạnh của kích thước của đầu vào được cung cấp cho nó, chính xác công suất phụ thuộc vào thời gian chạy của và khoảng , vì vậy chúng ta biết rằng không thể nhỏ hơn thời gian tuyến tính, ít nhất làCookAp2(|input|)A|output||input|2).

Vấn đề tương tự như mã đơn giản dưới đây:

  • Cho ,x
  • Đặt,n=|x|
  • Đặt ,y=x
  • Đối với từ đến làm i1n
    • Đặt , (nghĩa là ghép bản sao của )y=y|y||y|y
  • Trả lại y

Mỗi lần thực hiện chúng ta bình phương kích thước của . Sau thực hiện, chúng ta sẽ có một là và có kích thước , rõ ràng không phải là đa thức về kích thước của đầu vào.y=y|y|ynyx2nn2n

Giả sử rằng chúng ta chỉ xem xét các công thức được định lượng với các thay thế định lượng (trong đó là tổng kích thước của công thức được định lượng).k(n)n

Giả sử rằng chạy trong thời gian (ví dụ: thời gian tuyến tính không được loại trừ cho đến nay) và có thể có thuật toán hiệu quả hơn xuất ra một mạch nhỏ hơn có kích thước thay cho , sau đó chúng ta có được thuật toán cho ExtCircuitSat chạy trong thời gian . Ngay cả trong trường hợp cả và đều tuyến tính (nhưng với tổng hệ số ), chúng ta sẽ có được một thuật toán chạy theo thời gian và nếu sẽ làApCookl(t)t2(lp)O(k)(n)=l(p(l(p((l(p(n)))))))O(k) compositionslpa2Ω(n2k(n))k(n)=Θ(n)Ω(n2n) tương tự như thuật toán brute-force (và thậm chí điều này dựa trên giả định Cook-Levin có thể được thực hiện trên các thuật toán dẫn đến các mạch có kích thước tuyến tính trong thời gian chạy thuật toán).


Tôi thực sự thích câu trả lời này !!
Tayfun Trả tiền

@kaveh Điều gì xảy ra nếu trong khi thì chúng ta cần ít nhất gấp đôi thời gian theo cấp số nhân cho ? Đối số của bạn dường như cho thấy khả năng đó trong khi chúng tôi biết đang ở và vậy làm thế nào để lấy lại số mũ? l ( t ) = O ( t )p(n)=2Ω(n)l(t)=O(t) P S P A C E E X PNPNPNPPSPACEEXP
T ....

3

Tôi nghĩ điều này là do ở mỗi cấp độ PH, số lượng thay thế là một hằng số (tức là không phụ thuộc vào kích thước đầu vào), trong khi ở AP, số lượng thay thế có thể không bị chặn (nhưng đa thức về kích thước của đầu vào).

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.