Chiều rộng tối thiểu của mạch cho MAJORITY


12

Tối thiểu cây chiều rộng của một mạch qua là gì {,,¬} để tính MAJ?

Ở đây MAJ :{0,1}n{0,1} xuất ra 1 iff ít nhất một nửa số đầu vào của nó là 1 .

Tôi chỉ quan tâm đến kích thước của mạch (phải là đa thức) và rằng đầu vào chỉ nên được đọc một lần mặc dù quạt ra khỏi cổng đầu vào có thể tùy ý (điều này ảnh hưởng lớn đến chiều rộng cây của mạch - sự phân nhánh các chương trình thu được từ định lý của Barrington từ MAJ NC1 , được hiểu là các mạch xiên, không giúp ích gì). Và tất nhiên chiều rộng của cây là điều quan trọng nhất. Tôi không quan tâm đến độ sâu hoặc bất kỳ tham số nào khác.

Một số mạch phổ biến cho MAJ bao gồm:

  • Mạch cây Wallace (ví dụ: 8,9 ở đây ) sử dụng thủ thuật 3 đến 2 để đặt MAJ trong NC1 ?
  • Các mạch đơn điệu của Valiant NC1cho MAJ (ví dụ Định lý 4 ở đây )
  • logO(1)n mạng sắp xếp độ sâu, chẳng hạn nhưBatchersort
  • Mạng phân loại AKS

Có ai trong số họ đã giới hạn hoặc thậm chí chiều rộng cây polylogarithmic?

Hoặc trong thực tế,

Có lý do nào để tin rằng không có mạch độ rộng cây giới hạn cho MAJ không?

Lưu ý rằng mọi chức năng được tính toán bởi mạch độ rộng cây có giới hạn có thể được tính bằng mạch ngay cả khi không có quy định đọc một lần qua JansenSarma . Do đó, tính hợp lý của một họ mạch như vậy sẽ chỉ ra rằng giới hạn này có thể được thắt chặt hơn nữa trong trường hợp mạch đọc một lần.NC1


1
Tại sao điều này không tầm thường đối với bất kỳ ngôn ngữ nào? Theo như tôi có thể thấy, các công thức (tức là cây) có chiều rộng cây 1 , hay tôi thiếu thứ gì? NC11
Emil Jeřábek 3.0

5
Tôi nghĩ OP xác định tất cả các lá của cây công thức tương ứng với cùng một biến, tạo ra các chu kỳ.
Sasho Nikolov

1
Một mạch cho phần lớn có thể được thực hiện trong treewidth O (log n). Mạch chỉ mô phỏng một thuật toán trực tuyến đọc một bit đầu vào tại một thời điểm và thêm 1 vào một số có các bit O (log n) khi và chỉ khi đầu vào là 1. Lưu ý rằng độ sâu của mạch là O (n). Xem hình 1 của ( arxiv.org/pdf/1404.5565v1.pdf ). Một mạch có độ sâu nhỏ không nhất thiết phải là treewidth nhỏ vì như Sasho Nikolov đã chỉ ra, bạn cần xác định các nút tương ứng với cùng một biến đầu vào.
Mateus de Oliveira Oliveira

@MateusdeOliveiraOliveira Công trình bạn chỉ ra là đẹp và đơn giản và gần như là những gì tôi cần. Những gì tôi thực sự cần là một công trình hoạt động theo chiều rộng của cây bị chặn (hoặc một số chỉ dẫn tại sao điều đó là không thể). Tôi sẽ đợi một vài ngày để xem liệu có câu trả lời nào khác không - nếu không (nếu bạn chuyển đổi nhận xét của mình thành câu trả lời) tôi sẽ chấp thuận.
SamiD

@SamiD Tôi mở rộng nhận xét này thành một câu trả lời. Tôi đã không đăng bài như một câu trả lời trước đây vì nó chỉ là một nửa những gì bạn hỏi.
Mateus de Oliveira Oliveira

Câu trả lời:


7

Trả lời một nửa câu hỏi của Samir.

Hãy là một DAG và V 1 , V 2V là hai tập con của các đỉnh của G . Chúng tôi biểu thị bằng E ( V 1 , V 2 ) tập hợp tất cả các cạnh trong G với một điểm cuối trong V 1 và điểm cuối khác trong V 2 . Nếu ω = ( v 1 , . . . , V n )G=(V,E)V1,V2VGE(V1,V2)GV1V2ω=(v1,...,vn)G

ow(G,ω)=maxi|E({v1,...,vi},{vi+1,...,vn}|
G o w ( G ) = min ωωGG G c w ( G ) G t w ( G ) p w ( G ) c w ( G ) o w ( G ) , p w ( G ) t w ( G ) G
ow(G)=minωow(G,ω),
GGcw(G)G, không quan tâm đến việc thứ tự là topo hay không. Chúng ta có chuỗi bất đẳng thức sau: trong đó và tương ứng là pathwidth và treewidth của .
tw(G)pw(G)cw(G)ow(G),
pw(G)tw(G)G

Chúng tôi khẳng định rằng MAJORITY của bit có thể được tính theo độ rộng trực tuyến và do đó trong treewidth . Mạch mô phỏng thuật toán trực tuyến đọc một bit đầu vào tại một thời điểm và thêm vào bộ đếm với các bit khi và chỉ khi . Khi cầu xin, bộ đếm được khởi tạo thànhnO(logn)O(logn)bbO(logn)b=10. Cuối cùng, mạch chấp nhận khi và chỉ khi giá trị của bộ đếm lớn hơn n / 2. Dễ dàng thấy rằng các cổng của một mạch ADD thêm một vào thanh ghi bộ đếm có thể được sắp xếp theo cấu trúc liên kết theo cách mà nó có chiều rộng trực tuyến không đổi, vì mạch này chỉ cần thực hiện thao tác thực hiện. Tổng mạch là một chuỗi các mạch trong đó đầu ra của được cắm vào đầu vào của và đầu ra của được cắm vào đầu vào của COMP. Bây giờ nếu chúng ta sắp xếp theo thứ tự cấu trúc mạch theo cách sao cho tất cả các cổng của xuất hiện trước các cổng của và tất cả các cổng củaC=(ADD1,ADD2,...,ADDn,COMP)ADDiADDi+1 C A D D i A D D i + 1 A D D n O ( log n )ADDnCADDiADDi+1ADDn xuất hiện trước cổng của COMP, sau đó thứ tự tôpô này có chiều rộng trực tuyến . Cấu trúc này được minh họa trong Hình 1 của một bài báo của tôi để cho thấy rằng khuếch đại xác suất có thể được thực hiện theo chiều rộng trực tuyến logarit.O(logn)

Quan sát: Độ sâu của mạch C là .O(n)


Như một nhận xét bên lề, thực hiện cùng một mạch nhưng như một cây nhị phân (với đầu ra ở gốc) chứ không phải là một đường dẫn cho một mạch với treewidth O (log n) và độ sâu O (log n)
daniello

1
Có vẻ như một bản dịch trực tiếp vào cây sẽ tạo ra độ sâu O ((log n) ^ 2) vì chúng ta sẽ cần độ sâu O (log n) cho mỗi bộ cộng. Nhưng sự thật là treewidth sẽ là O (log n).
Mateus de Oliveira Oliveira

Tất nhiên là bạn đúng, cảm ơn! Có vẻ như nếu các bổ sung được triển khai dưới dạng DNF thì chúng ta sẽ nhận được treewidth và độ sâu O (log n), nhưng kích thước . O(n3)
daniello

điều đại diện cho trình bổ sung là DNF là nó có khả năng tăng treewidth, vì bây giờ mỗi biến sẽ được chia sẻ với (thoạt nhìn đa thức) nhiều mệnh đề. Đề xuất của bạn để giảm độ sâu xuống O (log n) sẽ hoạt động nếu bạn có thể chỉ ra rằng việc thêm hai số với các bit O (log n) có thể được thực hiện ở độ sâu không đổi và treewidth logarit.
Mateus de Oliveira Oliveira

Vâng - cho bất kỳ chức năng Boolean trên bit đầu vào và bit đầu ra các DNF có độ sâu , kích thước , và treewidth từ xóa cổng đầu vào + đầu ra lá một bộ độc lập ...b 2 2 a + a + b a + bab22a+a+ba+b
daniello

5

Trả lời nửa còn lại của câu hỏi - đây là một bản phác thảo bằng chứng cho một bị ràng buộc thấp hơn cho treewidth cho một số hằng số . Các ràng buộc là độc lập với kích thước hoặc bất kỳ khía cạnh khác của mạch. Trong phần còn lại của đối số là mạch, là treewidth của và là số cổng đầu vào.c C t C nclogncCtCn

Bước đầu tiên là sử dụng bổ đề phân tách cân bằng cho đồ thị của treewidth giới hạn . Các cổng (bao gồm các cổng đầu vào) của mạch có thể được phân chia thành ba phần , và , sao cho và cả và chứa ít nhấtcổng đầu vào, và không có vòng cung (dây) giữa và .LRS|S|t+1LRn/3|S|LR

Trong phần còn lại của bằng chứng, thuộc tính duy nhất của mạch chúng ta sẽ sử dụng là phân vùng này - vì vậy bằng chứng thực sự đưa ra giới hạn thấp hơn về kích thước của dải phân cách cân bằng như trên.S

Có trong tay, chúng tôi xây dựng một mạch từ như sau: với mỗi cổng trong tạo thêm hai cổng và , và tạo và nạp vào . Thay vào đó, đối với tất cả các dây dẫn vào từ chúng sẽ chuyển sang . Đối với tất cả các dây dẫn vào từ thay vào đó, chúng đi vào . Đặt (L,S,R)CCgSgLgRgLgRggLgLgRgR

S={g,gL,gR:gS}.

Với mỗi giả định cho tạo một mạch tạo ra 1 nếu (a) việc gán cho các cổng đầu vào làm cho đầu ra đúng và (b) việc gán cho các cổng đầu vào sẽ đặt tất cả cổng của như đã đoán. Gọi các mạch này , , cho . Lưu ý rằng mạch tự nhiên chia thành hai mạch con và sao cho chỉ phụ thuộc vào các cổng đầu vào của , chỉ phụ thuộc vào các cổng đầu vào của2|S|SCSC1C2C3Cxx8tCiCiLCiRCiLLSCiRRS , và cho bất kỳ sự bổ nhiệm của cổng đầu vào chúng tôi có mà .Ci=CiLCiR

Vì mọi nhiệm vụ cho các cổng đầu vào đều phù hợp với một số dự đoán cho những gì xảy ra trong chúng tôi có . Do đó, chúng tôi đã viết lại mạch là OR (của fanin ) của AND (của fanin ) trong đó số cổng AND đang được cung cấp đầu ra của và tương ứng.SC=C1C2C3CxC8t2iCiLCiR

Đặt là tập hợp các cổng AND trên cùng. Trước tiên chúng tôi sẽ chứng minh rằng. Điều này cung cấp một đơn giản ràng buộc thấp hơn trên . Sau đó chúng tôi sẽ chứng minh một ràng buộc tốt hơn.Z2|Z|n/3|S|loglognt


Giả sử, Và giả định rằng wlog chứa cổng đầu vào ít hơn . Thì cả và đều chứa ít nhấtcổng đầu vào. Theo nguyên tắc lỗ chim bồ câu có hai số và khác nhau sao cho có hai phép gán khác nhau cho các cổng đầu vào của , một số đặt các cổng thành đúng, một số đặt , sao cho các mạch , tất cả đều xuất ra cùng một thứ. Nhưng tồn tại một sự gán cho các cổng đầu vào trong2|Z|<n/3|S|LRLRn/3|S|ijLijC1LC2LCxLRsao cho MAJORITY xuất ra FALSE nếu cổng trong được đặt thành true và MAJORITY xuất TRUE nếu cổng trong được đặt thành true. Đây là một mâu thuẫn và vì vậy ngụ ý rằng treewidth ít nhất là .iLjL2|Z|n/3|S|loglogn


Bây giờ chúng tôi hiển thị một ràng buộc tốt hơn:. Giả sử rằng wlog chứa cổng đầu vào ít hơn . Thì cả L và R đều chứa ít nhấtcổng đầu vào. Hãy xem xét "tất cả false" gán để . Đặt là số cổng đầu vào nhỏ nhất của phải được đặt thành true sao cho MAJ xuất TRUE, với điều kiện là tất cả được đặt thành false.|Z|n/3|S|LRn/3|S|LrRL

Kể từ khi thiết lập cho tất cả các sai lầm và chính xác cổng đầu vào của để ra làm cho đúng NIÊN phải có một số như rằng đầu ra TRUE, wlog này được . Tất cả các bài tập cho có ít hơn cổng đầu vào đúng phải đặt thành false. Do đặt cổng đầu vào của thành true và cổng đầu vào của thành true sẽ tạo ra đầu ra MAJORITY , việc đặt cổng thành true phải thực hiện ít nhất một cổngr R 1 i C L i C L 1 R r C R 1 1 L r - 1 R 1 1 L C L i i 1 i = 2 R r - 2 C R 2 r | Z | r n / 3 - | S | c log n tLrR1iCiLC1LRrC1R1Lr1R11LCiL outpur đúng với . wlog chúng ta có thể giả sử . Sau đó, tất cả các phép gán cho được đặt ở hầu hết các cổng đầu vào thành true phải đặt thành false, v.v. - chúng ta có thể lặp lại đối số này lần. Nhưng điều này có nghĩa là, đưa ra một giới hạn dưới cho .i1i=2Rr2C2Rr|Z|rn/3|S|clognt

[Tôi biết rằng bản phác thảo này có một chút gợn sóng ở những nơi, hỏi đi nếu có gì đó không rõ ràng ...]

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.