Cân bằng công thức Boolean trong


10

Tôi đang tìm kiếm tài liệu tham khảo về sự phức tạp của vấn đề cân bằng công thức Boolean . Đặc biệt,

  1. Được biết rằng các công thức Boolean có thể được cân bằng trong AC0 ?
  2. Có bằng chứng đơn giản nào về công thức Boolean cân bằng trong AC0 không?

Bởi "đơn giản" Tôi có nghĩa là một bằng chứng đơn giản hơn bằng chứng tôi đề cập dưới đây, đặc biệt tôi đang tìm kiếm một bằng chứng không phụ thuộc vào đánh giá công thức Boolean trong NC1 .


Lý lịch

Ở đây tất cả các lớp phức tạp được đề cập là những lớp thống nhất.

BFB (Boolean cân bằng công thức):
Với một công thức Boolean φ ,
Tìm một công thức Boolean cân bằng tương đương.

Tôi quan tâm đến sự phức tạp của vấn đề này, đặc biệt là các bằng chứng đơn giản cho thấy vấn đề nằm ở AC0 (hoặc thậm chí TC0 hoặc NC1 ). Phổ biến cân đối số như những người dựa trên Bổ đề Spira áp dụng lặp đi lặp lại những thay đổi cơ cấu đối với cây công thức đó dường như chỉ cung cấp cho BFBNC2 .

Tôi có một bằng chứng cho , tuy nhiên các giấy tờ chứng minh là không đơn giản và phụ thuộc vào bằng chứng về B F E N C 1 .BFBAC0BFENC1

BFE (Boolean công thức đánh giá)
Với một công thức Boolean và một chân lý phân τ cho các biến trong φ , Liệu τ đáp ứng φ ( τ φ )?φτφ
τφτφ

Được biết từ kết quả nổi tiếng của Sam Buss rằng đánh giá công thức Boolean ( ) có thể được tính trong N C 1 = A L o g T i m e (xem [Buss87][BCGR92] ).BFENC1=ALogTime

Theo tôi (khá ngạc nhiên, ít nhất là với tôi) rằng công thức Boolean cân bằng ( ) cũng nằm trong N C 1 :BFBNC1

Ý tưởng là chúng ta có thể hardcode trong cửa đầu vào của B F E để có được một tương đương công thức để φ và đây là một tính toán hoạt động hoàn toàn cú pháp trong Một C 0 . Kể từ B F E có công thức cân bằng chúng ta có được một công thức cân bằng tương đương cho φ . Nói cách khác, thuật toán là:φBFEφAC0BFEφ

φλp.Eval(φ,p)

Động lực

Một đối số đơn giản hơn cho nằm trong (hoặc hoặc thậm chí ) sẽ cung cấp bằng chứng đơn giản mới về vì dễ dàng thấy rằng phiên bản cân bằng của BFE có thể được giải trong và chúng ta có thể soạn nó với và kết quả sẽ có trong .A C 0 T C 0 N C 1BFBAC0TC0NC1 N C 1 B F B N C 1BFENC1NC1BFBNC1


Câu hỏi

  1. Có biết rằng các công thức Boolean có thể được cân bằng trong ( ) không? B F B A C 1AC0BFBAC1
  2. Có một đối số đơn giản hơn (ví dụ: không dựa vào ) cho ? B F B A C 0BFENC1BFBAC0

3
Định nghĩa của "số dư" nào bạn sử dụng?
Dana Moshkovitz

1
@Dana, chúng ta có thể sử dụng một cái gì đó như (tức là với các hằng số cụ thể). Xem thêm bài viết của Bonnet và Buss "Sự đánh đổi chiều sâu cho các công thức Boolean ", 2002.D e p t h = O ( lg S i z e )Depth<10lgSize+100Depth=O(lgSize)
Kaveh

đồng ý rằng "cân bằng" nên được làm rõ. điều này có giống với khái niệm cân bằng trong cây nhị phân không? ví dụ: "cây tự cân bằng"
vzn

Câu trả lời:


3

Tôi không chắc liệu điều này có liên quan hay không nhưng trong Thuật toán không gian log cho các đường dẫn và kết hợp trong k-Plants (xây dựng lịch sử lâu dài của công việc trong quá khứ và cụ thể là về các lớp Arithmetizing quanh NC1 và L của Limaye-Mahajan-Rao) làm thế nào để tìm các dấu phân cách cân bằng đệ quy cho một cây trong Logspace. buộc này rất có thể có khả năng ứng biến thành nếu cây đầu vào được đưa ra trực tiếp trong biểu diễn chuỗi.NC1

Ý tưởng cơ bản là biểu diễn cây dưới dạng biểu thức dấu ngoặc đơn và tìm các dấu phân cách cân bằng cho các biểu thức này. Lưu ý rằng chúng ta tìm thấy các dấu tách lá tức là cây con là số lượng cân bằng của lá.

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.