Làm thế nào nhỏ có thể là một mạch boolean lớp cho một chức năng với độ phức tạp mạch


12

Hãy xem xét một hàm tính bởi một mạch boolean với đầu vào có kích thước trên cơ sở (với indegree 2 cho các cổng ).C n s ( n ) = p o l y ( n ) { X O R , A N D , N O T } X O R , A N DfCns(n)=poly(n){XOR,AND,NOT}XOR,AND

Một mạch boolean được xếp lớp nếu nó có thể được sắp xếp thành các lớp ( là độ sâu của mạch) của các cổng sao cho bất kỳ cạnh nào giữa hai cổng kết nối các lớp liền kề.ddd

Cho rằng có mạch boolean có kích thước , chúng ta có thể nói gì về kích thước của một mạch điện toán phân lớp ? Có một giới hạn trên tầm thường: bằng cách thêm các nút giả vào ở mỗi lớp được cắt bởi một cạnh, chúng ta có được một mạch có kích thước phân lớp nhiều nhất là . Nhưng chúng ta có thể trở nên tốt hơn nói chung (ví dụ hoặc ) hoặc cho lớp mạch thú vị không?s f C O ( s 2 ) O ( s log s ) O ( s )fsfCO(s2)Ôi(Sđăng nhậpS)Ôi(S)

Lý lịch. Câu hỏi này xuất phát từ các kết quả gần đây trong mật mã học, trong đó chỉ ra cách tính toán một cách an toàn các mạch boolean có kích thước với giao tiếp (ví dụ: hoặc ; Tôi đang cố gắng hiểu làm thế nào hạn chế hạn chế này đối với các mạch boolean phân lớp có thể trong thực tế, cho các mạch chung hoặc cho các mạch "tự nhiên". Tuy nhiên, tôi không tìm thấy nhiều về các mạch phân lớp trong tài liệu; con trỏ thích hợp cũng sẽ được hoan nghênh.o ( s ) s / log s s / log log s )So(S)s/logsS/đăng nhậpđăng nhậpS)


4
Đây là một ví dụ về một mạch có vẻ khó chuyển đổi thành mạch phân lớp mà không có kích thước đáng kể. Xác định là một số hàm có thể được tính theo kích thước u . Xác định g ( x 1 , ... , x n ) = ( x 2 , ... , x n , x 1f ( x 2 ,f:{0,1}n1{0,1}bạn , và để chođượclặp của. Khi đócó kích thước. Có vẻ khó xây dựng một mạch phân lớp với kích thước nhỏ hơn. Vì vậy, nếu, có lẽ chúng ta nên mong đợi một khoảng cách giữa kích thước của mạch so với kích thước của mạch phân lớp. Không phải là một bằng chứng, chỉ là một ví dụ gợi ý để có thể điều khiển trực giác. g(x1,Giáo dục,xn)= =(x2,Giáo dục,xn,x1f(x2,Giáo dục,xn))t g C O ( t u ) Θ ( n t ) u = o ( n )CtgCÔi(tbạn)Θ(nt)u=o(n)
DW

2
Theo tôi nhớ, đối với các mạch phân lớp, giới hạn dưới được biết đến nhiều nhất có dạng . Điều này đặc biệt dễ dàng để chứng minh cho -to- . Lấy ví dụ, một bản đồ tuyến tính trong đó có các số 0 trên đường chéo chính. Sau đó, nó phải có ít nhất cổng trên mỗi lớp và số lượng lớp ít nhất là . Lưu ý rằng chức năng này có thể được tính toán dễ dàng bằng một mạch thông thường có kích thước . Đối với các hàm đầu ra đơn, cũng có thể chứng minh cùng giới hạn dưới, nhưng tôi không nhớ đối số. n n A x A { 0 , 1 } n × n n log 2 n O ( n )Ω(nlogn)nnAxA{0,1}n×nnlog2nO(n)
Alexander S. Kulikov

1
Cảm ơn rất nhiều cho các ý kiến. @ AlexanderS.Kulikov, là văn hóa dân gian của bạn, hoặc bạn có một số con trỏ để làm việc trên các mạch lớp? Các làm cho tinh thần - Tôi sẽ rất ngạc nhiên bởi một cái gì đó nhỏ hơn - nhưng là chỉ được biết đến trên ràng buộc? Ω(nlogn)O(n2)
Geoffroy Couteau

1
Tôi đoán đó là một văn hóa dân gian, vâng. Tôi không chắc chắn tôi nhận được câu hỏi về giới hạn trên . Bạn có thể muốn xem bài báo sau: cs.utexas.edu/~panni/sizedepth.pdfO(n2)
Alexander S. Kulikov

1
Tôi nghĩ rằng chúng ta không biết một sự chuyển đổi tốt hơn nói chung. Lưu ý rằng một mạch có kích thước s và độ sâu d có thể được chuyển đổi thành một mạch có kích thước nhiều nhất là d s . (Mà trong trường hợp xấu nhất cho chúng ta một mạch kích thước O ( s 2 ) .) Tôi chỉ muốn chỉ ra rằng nếu chúng ta có thể chứng minh một giới hạn thấp hơn của ω ( n log n ) vào kích thước của một mạch lớp, điều này sẽ cung cấp cho chúng tôi một siêu tuyến tính thấp hơn giới hạn về kích thước của các mạch sâu log cho chức năng này. Câu hỏi này vẫn mở trong hơn 40 năm.O(s2)sddsO(s2)ω(nlogn)
Alex Golovnev

Câu trả lời:


8

Theo tôi biết, ba lớp mạch phân lớp đã được nghiên cứu. Trong tất cả các định nghĩa này, vòng cung chỉ được phép giữa hai lớp liền kề.

  1. Một mạch được gọi là đồng bộ ( Harper 1977 ) nếu tất cả các cổng được sắp xếp thành các lớp và đầu vào phải ở lớp 0. (Một định nghĩa tương đương: đối với bất kỳ cổng g , tất cả các đường dẫn từ đầu vào đến g đều có cùng độ dài.)

  2. Một mạch được đồng bộ cục bộ ( Belaga 1984 ) nếu mỗi đầu vào xảy ra chính xác một lần nhưng ở một lớp tùy ý.

  3. Một mạch được xếp lớp ( Gál, Jang 2010 ) nếu các cổng và đầu vào được sắp xếp thành các lớp, đầu vào có thể xảy ra nhiều lần ở các lớp khác nhau. (Một định nghĩa tương đương: đối với bất kỳ cổng g và cổng đầu ra o , tất cả các đường dẫn từ g đến o đều có cùng độ dài.)

Dễ dàng thấy rằng ba lớp được liệt kê từ yếu nhất đến mạnh nhất (và lớp mạch không bị hạn chế thậm chí còn mạnh hơn).

Về kích thước của một mạch điện toán lớp, một mạch có kích thước không giới hạn s chúng ta biết như sau:

  1. Bất kỳ mạch có kích thước s đều có thể được tính bằng mạch đồng bộ / đồng bộ cục bộ / lớp có kích thước s2 ( Wegener 1987, Mục 12.1 ).

  2. Thật khó để tìm thấy một hàm rõ ràng đòi hỏi một mạch đồng bộ / cục bộ / mạch có kích thước ω(slogs) . Thật vậy, mọi mạch có kích thước s và độ sâu d có thể được tính bằng một mạch đồng bộ có kích thước O(sd) ( Wegener 1987, Mục 12.1 ). Do đó, ngay cả khi chúng ta có hàm f rõ ràng yêu cầu các mạch đồng bộ có kích thước ω(nlogn) (bất kể độ phức tạp của nó trong lớp mạch không bị hạn chế), thì fkhông thể được tính bằng một mạch có độ sâu O(logn) và kích thước O(n) , câu trả lời cho một câu hỏi mở từ lâu về độ phức tạp của mạch ( Valiant 1977 ).

  3. Có tồn tại chức năng rõ ràng

    3.1. với Ω(nlogn) giảm ràng buộc cho đồng bộ mạch nhưng O(n) trên ràng buộc cho đồng bộ tại địa phương mạch ( Turan 1989 ).

    3.2. với Ω(nlogn) thấp hơn bị ràng buộc đối đồng bộ ở địa phương mạch nhưng O(n) trên ràng buộc cho lớp mạch ( Turan 1989 ).

Điều quan trọng cần lưu ý là hai kết quả phân tách này của Turán được chứng minh cho các hàm với một đầu ra. Việc tìm một hàm với n đầu ra thường dễ dàng hơn nhiều khi phân tách hai lớp như vậy.

Ví dụ, hãy xem xét hàm f:{0,1}n{0,1}n trong đó bit đầu ra thứ i là XOR của tất cả các đầu vào ngoại trừ đầu vào thứ i . Hàm này có thể dễ dàng được tính bằng một mạch có kích thước O(n) : Đầu tiên tính XOR của tất cả các đầu vào trong các lớp logn có tổng kích thước n , sau đó tính tất cả các đầu ra trong một lớp có kích thước n . Mặt khác, f yêu cầu các mạch đồng bộ có kích thước Ω(nlogn) . Trên thực tế, để tính toán một chẵn lẻ của chiều dàin1 , độ sâu mạch phải có ít nhấtΩ(logn) . Mặt khác, mỗi lớp phải truyềnn bit thông tin, do đó kích thước của nó phải ít nhất làn .

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.