NC = P hậu quả?


35

Sở thú phức tạp chỉ ra trong mục trên EXP rằng nếu L = P thì PSPACE = EXP. Vì NPSPACE = PSPACE của Savitch, theo như tôi có thể nói đối số đệm cơ bản mở rộng để hiển thị rằng Chúng ta cũng biết rằng L NL NC P thông qua hệ thống phân cấp xen kẽ giới hạn tài nguyên của Ruzzo.

(NL=P)(PSPACE=EXP).

Nếu NC = P, nó có tuân theo PSPACE = EXP không?

Một cách giải thích khác nhau cho câu hỏi, theo tinh thần của Richard Lipton: có nhiều khả năng một số vấn đề trong P không thể song song, hơn là không có thủ tục thời gian theo cấp số nhân nào đòi hỏi nhiều hơn không gian đa thức?

Tôi cũng sẽ quan tâm đến các hậu quả "đáng ngạc nhiên" khác của NC = P (càng không chắc càng tốt).

Chỉnh sửa: Câu trả lời của Ryan dẫn đến một câu hỏi khác: giả thuyết yếu nhất được biết là gì để đảm bảo PSPACE = EXP?

  • W. Savitch. Mối quan hệ giữa độ phức tạp băng không xác định và xác định, Tạp chí Khoa học Máy tính và Hệ thống 4 (2): 177-192, 1970.
  • Rô-bốt. Về độ phức tạp mạch đồng nhất, Tạp chí Khoa học Máy tính và Hệ thống 22 (3): 365-383, 1971.

Chỉnh sửa (2014): cập nhật liên kết Zoo cũ và thêm liên kết cho tất cả các lớp khác.


1
Vì tôi chắc chắn tôi không phải là người duy nhất không biết NC là gì, đây là một liên kết: en.wikipedia.org/wiki/NC_%28complexity%29
Emil

@Andras: Một hậu quả khác mà có thể bạn đã biết, nhưng chưa được đề cập đến, đó là hệ thống phân cấp NC sẽ sụp đổ, vì P có vấn đề hoàn toàn theo L -reductions.
Joshua Grochow

Câu trả lời:


28

Vâng. có thể được xem là lớp ngôn ngữ được nhận dạng bằng các máy Turing xen kẽ sử dụng không gian O ( log n )( log n ) O ( 1 ) . (Điều này lần đầu tiên được chứng minh bởi Ruzzo.) P là lớp trong đó các máy Turing xen kẽ sử dụng không gian O ( log n ) nhưng có thể mất tới n O ( 1 ) thời gian. Để cho ngắn gọn, hãy gọi các lớp này là A T I S P [ ( log nNCO(logn)(logn)O(1)PO(logn)nO(1) A S P Một C E [ O ( log n ) ] = P .ATISP[(logn)O(1),logn]=NCASPACE[O(logn)]=P

Giả sử hai lớp bằng nhau. Thay thế bằng 2 n ở trên (nghĩa là áp dụng các bổ đề dịch tiêu chuẩn), người ta sẽ có đượcn2n

.TIME[2O(n)]=ASPACE[O(n)]=ATISP[nO(1),n]ATIME[nO(1)]=PSPACE

Nếu thì E X P = P S P Một C E là tốt, kể từ khi có E X P ngôn ngữ -complete trong T I M E [ 2 O ( n ) ] .TIME[2O(n)]PSPACEEXP=PSPACEEXPTIME[2O(n)]

Chỉnh sửa: Mặc dù câu trả lời ở trên có lẽ mang tính giáo dục hơn, nhưng đây là một đối số đơn giản hơn: đã theo từ " P được chứa trong không gian polylog" và bản dịch tiêu chuẩn. EXP=PSPACEPLưu ý " được chứa trong không gian polylog" là một giả thuyết yếu hơn nhiều so với N C = P .PNC=P

Thêm chi tiết: Vì các họ mạch có độ sâu ( log n ) c cho một số hằng số, mọi họ mạch như vậy có thể được đánh giá trong không gian O ( ( log n ) c ) . Do đó N C c > 0 S P Một C E [ ( log n ) c ] . Vì vậy P = N C ngụ ý P c > 0 SNC(logn)cO((logn)c)NCc>0SPACE[(logn)c]P=NC . Áp dụng dịch (thay thế n với 2 n ) ngụ ý T I M E [ 2 O ( n ) ] P S P Một C E . Sự tồn tại củangôn ngữ E X P -complete trong T I M E [ 2 O ( n ) ] kết thúc đối số.Pc>0SPACE[(logn)c]n2nTIME[2O(n)]PSPACEEXPTIME[2O(n)]

Cập nhật: Giải quyết câu hỏi bổ sung của Andreas, tôi tin rằng có thể chứng minh điều gì đó như: iff cho tất cả c , mọi ngôn ngữ thưa thớt trong thời gian n O ( log c n ) đều có thể giải quyết được không gian polylog. (Là đa thức thưa thớt có nghĩa là có nhiều nhất chuỗi p o l y ( n ) có độ dài n trong ngôn ngữ, cho tất cả nEXP=PSPACEcnO(logcn)poly(n)nn.) Nếu đúng, bằng chứng có lẽ sẽ đi dọc theo dòng của Hartmanis, Immerman, và bằng chứng Sewelson rằng khi và chỉ khi mọi ngôn ngữ đa thức thưa thớt trong N P được chứa trong P . (Lưu ý, thời gian n O ( log c n ) trong không gian polylog vẫn đủ để ám chỉ P S P A C E = E X P. )NE=ENPPnO(logcn)PSPACE=EXP


1
Cảm ơn câu trả lời tốt đẹp. Dexter Kozen của Lý thuyết tính toán có một tốt đẹp "thống nhất" ký hiệu cho các lớp Ruzzo của trên trang 69: nơi f không gian giới hạn, g giới hạn thời gian, và h vọt alternations. Khi đó NC = S T A ( log n , , ( log n ) O ( 1 ) ) trong khi P = S T A (STA(f,g,h)fghNC=STA(logn,,(logn)O(1)) mà thực sự nhấn mạnh việc xây dựng. P=STA(logn,,)
András Salamon

1
Lưu ý rằng tôi đang nói ở trên. Tuy nhiên tôi nghĩ rằng đây là như nhau. Một máy mất thời gian đa thức và không gian O ( log n ) nhưng chỉ có thể biến ( log n ) O ( 1 ) thành một máy xen kẽ khác chỉ mất ( log n ) O ( 1NC=STA(logn,(logn)O(1),)O(logn)(logn)O(1) thời gian và không gianO(logn). (Các hướng khác là rõ ràng.) Ý tưởng là để chèn nhiều alternations để mỗi thời gian đa thức giai đoạn hiện sinh và giai đoạn phổ biến là "tăng tốc" để chỉ chạy trong(logn ) O ( 1 ) thời gian vàO(logn)không gian , dọc theo các định lý của Savitch. (logn)O(1)O(logn)(logn)O(1)O(logn)
Ryan Williams

6
những gì chúng ta cần là một loại kịch bản lệnh greasemonkey tự động liên kết một cái gì đó như "\ NP" với mục trong sở thú.
Suresh Venkat

12

(Tôi đã thấy câu trả lời của Ryan, nhưng tôi chỉ muốn đưa ra một viễn cảnh khác, quá dài để phù hợp với một nhận xét.)

Trong bằng chứng, tất cả những gì bạn cần biết về L, không chính thức, là khi thổi lên bởi một mũ, L trở thành pspace. Bằng chứng tương tự được đưa ra cho NL, bởi vì NL nổ tung theo cấp số nhân cũng trở thành PSPACE. L=PPSPACE=EXP

Tương tự, khi NC bị nổ theo cấp số nhân, bạn sẽ nhận được PSPACE. Tôi muốn thấy điều này về các mạch: NC là lớp các mạch kích thước đa thức với độ sâu polylog. Khi nổ tung, điều này trở thành các mạch kích thước theo cấp số nhân với độ sâu đa thức. Người ta có thể chỉ ra rằng đây chính xác là PSPACE, một khi các điều kiện đồng nhất thích hợp được thêm vào. Tôi đoán nếu NC được xác định với tính đồng nhất L, thì điều này sẽ có được tính đồng nhất PSPACE.

Bằng chứng phải dễ dàng. Theo một hướng, thực hiện một bài toán hoàn chỉnh PSPACE như TQBF và thể hiện các bộ lượng hóa bằng cách sử dụng cổng AND và OR có kích thước theo cấp số nhân. Theo hướng khác, hãy thử đi qua mạch độ sâu đa thức đệ quy. Kích thước ngăn xếp sẽ là đa thức, vì vậy điều này có thể được thực hiện trong PSPACE.

Cuối cùng, tôi đã đưa ra lập luận này khi tôi thấy câu hỏi (và trước khi đọc câu trả lời của Ryan), vì vậy có thể có lỗi. Hãy chỉ ra chúng.


1
Một điều chỉnh: NC có các mạch có kích thước đa thức và độ sâu polylog, nhưng đây vẫn chỉ là độ sâu đa thức sau khi dịch.
Ryan Williams

@Ryan: Bạn nói đúng. Tôi sẽ sửa nó.
Robin Kothari

1

Dưới đây là một chi tiết nhỏ hơn từ góc độ mô phỏng máy Turing Alternating Turing không gian thời gian.

Giả sử rằng .P=NC

, nên ta nhận được P = A T I S P ( ( log ( n ) ) O ( 1 ) , O ( log ( n ) ) ) .NC=ATISP((log(n))O(1),O(log(n)))

P=ATISP((log(n))O(1),O(log(n))).

Bây giờ, hãy xem xét vấn đề mô phỏng phổ thời gian tuyến tính nơi chúng ta được mã hóa trên máy Turing M và chuỗi đầu vào x có độ dài n và chúng ta muốn biết liệu M có chấp nhận x trong hầu hết n bước không.LinUMxnMxn

Chúng ta biết rằng . Do đó, tồn tại hằng số c (đủ lớn) sao cho ( )LinUPc

()LinUATISP(logc(n),clog(n)).

Kết quả của một đối số đệm (một chút khó khăn để xem các bình luận), chúng tôi có

(1)DTIME(n)ATISP(logc(n),clog(n)).

(2)DTIME(nk)ATISP(kclogc(n),kclog(n)).
(3)DTIME(2nk)ATISP(kcnkc,kcnk).

ATISP(logc(n),clog(n))DSPACE(O(logc+1(n))).

k

(2)DTIME(nk)DSPACE(kc+1logc+1(n))
(3)DTIME(2nk)DSPACE(nk(c+1)).

(3)EXP=PSPACE

==================== Sau khi suy nghĩ ===================

P=NC

ATISP((log(n))O(1),O(log(n)))=ATISP(logc(n),O(log(n)))
c

Bất kỳ ý kiến ​​hoặc sửa chữa đều được hoan nghênh. :)


1
NCkPSPACEkNC2PSPACENCPSPACE

1
NCPSPACEPuniformNC1=PSPACE

1
NC=ATISP((log(n))O(1),O(log(n)))

1
@Turbo Cảm ơn bạn đã theo dõi !! Tôi thực sự nghĩ rằng bạn nên đọc định nghĩa ở cuối trang 370 từ: scazedirect.com/science/article/pii/0022000081900386
Michael Wehar

1
NCPNC
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.