Công thức Boolean được định lượng với các phép xen kẽ logarit


15

Tôi đang nghiên cứu một vấn đề khó đối với lớp các công thức boolean được định lượng với số lượng xen kẽ logarit của các bộ lượng hóa. Một vấn đề trong lớp này sẽ giống như:

(x1,x2,xa1)(xa1+1,xa2),(xalogn1,xalogn)F

Trong trường hợp alogn=n , và F là một công thức boolean của các biến x1xn .

Lớp này chứa rõ ràng và được chứa trong A P = P S P Một C E . Có một tên cho lớp học này? Có bất cứ điều gì được biết nhiều hơn về nó?PHAP=PSPACE


3
Chà, nó đã hoàn thành để xen kẽ thời gian đa thức với nhiều phép xen kẽ logarit.
Emil Jeřábek hỗ trợ Monica

2
Một ký hiệu đồng ý cho lớp phức tạp của vấn đề này sẽ là STA ). Ở đây, STA (s (n), t (n), a (n)) là biện pháp xen kẽ không gian-thời gian được Berman giới thiệu trong "Sự phức tạp của các lý thuyết logic" xuất hiện trong TCS năm 1980. Lớp này chứa tất cả các quyết định vấn đề có thể quyết định bởi một máy Turing xen kẽ trong thời gian t (n) sử dụng khoảng trắng s (n) và xen kẽ nhiều nhất một (n) lần trên mỗi nhánh tính toán. Như Emil đã chỉ ra, vấn đề của bạn nên được hoàn thành cho lớp học này. ,nO(1),O(logn)
Christoph Haase

2
AltTime (lg n, poly (n))
Kaveh

Không phải nó cũng là tương tự nhị phân của lớp FOLL được giới thiệu bởi Barrington, Kadau, McKenzie và Lange. FOLL được định nghĩa bằng cách lặp lại một khối FO về cơ bản là một loglog mạch AC0 đồng nhất đầu vào n đầu ra n lần. Nó quá yếu để tính Parity nhưng không được biết là được chứa trong một lớp nhỏ hơn AC ^ 1. Nó có thể thực hiện một số công cụ không cần thiết bao gồm cung cấp năng lượng trong một nhóm giao hoán được trình bày dưới dạng bảng nhân. Tôi muốn gọi lớp trong câu hỏi PHL vì nó tương ứng với một khối PH được lặp lại log n lần. Tôi nghĩ vẫn chưa rõ liệu nó có thể so sánh với PSPACE không.
SamiD

Ngoài ra, nếu một nhóm abelian được cung cấp bởi một mạch có đầu vào hai số n bit và xuất ra số n bit thì cấp nguồn bằng PHL bằng một bằng chứng tương tự như Barrington et al ở trên.
SamiD

Câu trả lời:


7

Dựa trên câu trả lời của Michael Wehar, dường như bạn có thể dễ dàng hiển thị rằng các phép tính có thể được mã hóa trong các polBize như vậy: bạn sử dụng xen kẽ O ( log n ) , mỗi bit p o l y ( n ) và thực hiện một đối số tương tự như định lý của Savitch. Cứ hai lần thay thế sẽ chia thời gian chạy của phép tính cho một p o l y ( nNTISP(nlogn,poly(n))O(logn)poly(n) yếu tố.poly(n)

Tôi sẽ gọi lớp , theo ký hiệu trong "Sự đánh đổi không gian thời gian" của Fortnow cũng có thể được trích dẫn cho đối số được phác thảo trong đoạn trước (nhưng vui lòng xem bài viết để tham khảo trước).ΣO(logn)P


Cảm ơn bạn rất nhiều vì bình luận và câu trả lời tiếp theo. Tôi chỉnh sửa câu trả lời của mình và thêm chi tiết về khái quát hóa đối số. Thực sự có một thời gian, không gian và sự đánh đổi xen kẽ cho các loại tính toán có thể được mã hóa.
Michael Wehar

Cảm ơn bạn đã tham khảo thêm! Ngoài ra, tôi đã thêm một câu trả lời ngắn gọn hơn để hy vọng làm rõ. Cảm ơn một lần nữa. :)
Michael Wehar

7

(1) Những gì chúng ta đã biết:

Như bạn đã nói, QBF với các phép thay đổi lượng tử rất khó cho mọi cấp của hệ thống phân cấp đa thức.log(n)

(2) Tôi nghĩ rằng chúng ta cũng có thể chứng minh những điều sau:

Vấn đề là -hard.NSPACE(log2(n))

(3) Đây là lời biện minh không chính thức của tôi cho khẳng định trước:

Cho một không gian ràng buộc NTM và một chuỗi đầu vào, chúng ta cần phải xác định xem có tồn tại một tính toán chấp nhận trên chuỗi đầu vào nhất định.log2(n)

Mỗi cấu hình trong tính toán có thể được biểu diễn bằng các bit . Nói cách khác, chúng ta có thể biểu diễn một cấu hình bằng một nhóm các biến log 2 ( n ) .log2(n)log2(n)

Ý tưởng là chúng ta có một cấu hình bắt đầu và một cấu hình cuối cùng và chúng ta cần đoán tính toán xảy ra ở giữa. Chúng tôi đoán đệ quy các cấu hình "giữa" bằng cách sử dụng các bộ lượng tử tồn tại và xác nhận lại rằng cấu hình "bên trái" sẽ chuyển sang "giữa" và cấu hình "giữa" đi đến "bên phải" sử dụng cho tất cả các bộ lượng hóa.

Bây giờ để thực hiện công việc này, thay vì chọn một cấu hình "giữa", chúng ta cần chọn một nhóm các cấu hình "trung gian" cách đều nhau giữa các cấu hình "trái" và "phải". Đặc biệt, chúng ta có thể đoán cách đều nhau cấu hình "trung gian" sử dụng quantifiers tồn tại vớinbiến và sau đó lặp lại trên mọi khoảng cách giữa các cấu hình sử dụng cho tất cả các bộ lượng hóa vớicác biếnlog(n)thô.nlog2(n)log(n)

Các đệ quy chỉ cần tiếp tục vào sâu để có thể bao gồm một tính toán chiều dài 2log(n)trong đó mỗi cấu hình có ít nhấtlog2(n)nhiêu bit.n2log(n)=nlog(n)=2log2(n)log2(n)

Vì đệ quy có độ sâu , nên chúng ta chỉ có các nhóm biến O ( log ( n ) ) tức là xen kẽ. Vì mỗi nhóm định lượng chỉ có O(log(n))O(log(n))biến, tổng cộng chúng ta cóO(nlog2(n)biến.O(nlog3(n))

Hãy cung cấp bất kỳ thông tin phản hồi hoặc sửa chữa. Cảm ơn bạn rất nhiều và tôi hy vọng điều này sẽ giúp một chút.

(4) Một khẳng định tổng quát hơn theo đề xuất của câu trả lời của Ryan:

Bạn sẽ có thể thực hiện việc xây dựng trước một cách tổng quát hơn. Hãy xem xét những điều sau đây:

Ở mỗi bước của đệ quy, chia thành các nhóm cấu hình "trung gian" bằng cách sử dụng bit c ( n ) trên mỗi cấu hình. Sau đó, thực hiện đệ quy đến độ sâu d ( n ) .g(n)c(n)d(n)

Miễn là chúng ta không có quá nhiều biến số và quá nhiều lựa chọn thay thế, điều này dường như hoạt động tốt. Một cách thô bạo, chúng ta cần những điều sau đây để được thỏa mãn:

  • g(n)c(n)d(n)n
  • d(n)log(n)

Cách tiếp cận tổng quát của chúng tôi sẽ được sử dụng để mô phỏng các máy Turing không xác định chạy cho các bước sử dụng các bit c ( n ) của bộ nhớ.g(n)d(n)c(n)

Cụ thể, chúng tôi chọn như sau:

  • g(n)=n

  • c(n)=n2log2n

  • d(n)=2log2(n)

Các bất đẳng thức trên được thỏa mãn và chúng tôi có thể thực hiện việc xây dựng để mô phỏng máy Turing không xác định mà chạy cho khoảng bước sử dụng 2log2(n) bit bộ nhớ.n2log2n

Nói cách khác, chúng ta có kết quả độ cứng tốt hơn trước. Đặc biệt, vấn đề là khó khăn cho .NTISP(2log2(n),n2log2n)

(5) Khái quát hơn nữa:

Trong phần khái quát trước, chúng tôi đã mô phỏng các máy Turing không giới hạn thời gian và không xác định. Tuy nhiên, chúng tôi cũng có thể mô phỏng các máy Turing giới hạn thời gian và không gian xen kẽ.

Hãy để tôi giải thích một chút. Vì vậy, chúng tôi sử dụng xen kẽ để thực hiện đệ quy đến log sâu ( n ) . Tuy nhiên, chúng ta có thể sử dụng một số alternations ban đầu, chúng ta hãy nói log(n)log(n) . Sau đó, chúng ta có thể sử dụng còn lạilog(n) alternations đi đến sâulog(n) .log(n)

log(n)2log32(n)n2log2n

AltTimeSpace(log(n),2log32(n),n2log2n) with sublinear witness lengths. Alternatively, this class could be written using the STA notation mentioned in the comments above.

Thank you for the comments and feel free to offer any further corrections or clarifications. :)


1
Wouldn't the NL2-hardness follow straightaway from PH-hardness?
Nikhil

1
How exactly do we know point (1)? Don't we need 2k variables to get to some level k of PH? Maybe I'm missing a simple point here.
Markus

1
@MichaelWehar Sure, but we do know that NL2PH right? And that means every problem in NL2 reduces to QBF with constantly many alternations, which is a special case of log-many alternations?
Nikhil

1
@MichaelWehar Oops. Of course you're right! A related question here: cstheory.stackexchange.com/questions/14159/…
Nikhil

2
Why not NTISP(nlogn,poly(n))-hard?
Ryan Williams

1

A shorter answer.

Initial observations:

  • The problem is hard for every level of the polynomial hierarchy.
  • The problem is hard for alternating Turing machines with log(n) alternations that run for polynomial time.

Deeper Insights:

  • Suggested by Kaveh's comment above, the problem can encode computations for AltTime(log(n),n) Turing machines.
  • Also, as Ryan pointed out, the problem can encode computations for NTimeSpace(2log2(n),n) Turing machines.
  • More generally, the problem can encode computations for machines corresponding to various classes of the form AltTimeSpace(a(n),t(n),s(n)) with restricted witness lengths. I'm not quite sure what the exact relationship between a(n), t(n), and s(n) has to be, but we know that:

    1. a(n)log(n)

    2. t(n)2log2(n)

    3. s(n)n

See my longer answer for more details on the trade-offs between a(n), t(n), and s(n).

Note: In the above, when I say encode computations, I mean encode the computation without blowing up the instance size too much. That is, if we blow-up from n size Turing machine input to poly(n) size formula, then I think that although the blow-up is polynomial, it is good to pay close attention to the degree of the polynomial. The reason for the semi-fine-grained perspective is to try and slightly better recognize how the different complexity measures a(n), t(n), and s(n) depend on each other.


Also, there is another factor that I omitted. That is, the witness size used with each alternation takes up variables. In other words, the larger the witnesses, the fewer variables that we have meaning that potentially we can't represent as many bits per configuration causing us to possibly require there to be less space for the machine that we encode computations for.
Michael Wehar

Basically, all witness lengths for the quantifiers are sublinear and how large we can make them depends on the choice of a(n), t(n), and s(n).
Michael Wehar

Maybe an inner most there exists quantifier doesn't need to have restricted witness size because we can guess as we go.
Michael Wehar
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.