Ngoài ra có thể được thực hiện trong ít hơn độ sâu 5?


21

Sử dụng thuật toán carry look front chúng ta có thể tính toán bổ sung bằng cách sử dụng một mạch có kích thước đa thức độ sâu 5 (hoặc 4?) . Có thể giảm độ sâu? Chúng ta có thể tính toán việc cộng hai số nhị phân bằng cách sử dụng họ mạch kích thước đa thức với độ sâu nhỏ hơn độ sâu thu được bằng thuật toán carry look before không?AC0

Có bất kỳ giới hạn siêu đa thức nào cho kích thước của các họ mạch điện toán trong đó là 2 hoặc 3 không? dACd0d

Theo chiều sâu tôi có nghĩa là độ sâu xen kẽ.


Bạn có thể cho chúng tôi biết tên của bạn? Bạn là ai? Trong khoảng một tháng qua, mọi người sẽ tạo một tên người dùng mới ở đây, đặt câu hỏi và sau đó xóa tên người dùng đó!
Tayfun Trả tiền

14
@Geekster, nói chung mọi người không bắt buộc phải tạo tài khoản hoặc sử dụng tên thật của họ (tuy nhiên, điều đó được khuyến khích để làm như vậy vì nhiều lý do). Nếu bạn có mối quan tâm chung về một cái gì đó, vui lòng sử dụng Meta Khoa học máy tính lý thuyết để nâng cao nó.
Kaveh

4
Điều này có thể bị ép buộc bằng cách xác minh rằng không có mạch độ sâu AC có thể tính tổng -bit của hai đầu vào -bit cho một số cố định ; chỉ có các hàm boolean chính xác của các bit đầu vào có thể xuất hiện ở mỗi độ sâu. 0 ( m + 1 ) m m40(m+1)mm
mjqxxxx

5
@mjqxxxx: Làm thế nào để bạn thực thi ràng buộc kích thước đa thức trên các mạch AC0 khi brute-buộc cho một m cố định? @ OP: Là độ sâu mạch tốt nhất hiện tại 4 hay độ sâu 5?
Robin Kothari

14
@mjqxxxx: Mọi hàm Boolean đều được tính toán theo độ sâu mạch. Bây giờ, giả sử bạn tìm cho một mạch có kích thước cố định . Làm thế nào để bạn đánh giá liệu có các mạch kích thước cho mọi , trong đó hoặc chỉ có các mạch có kích thước , trong đó ? Đơn giản là không có cách nào để suy ra thông tin tiệm cận từ một ví dụ hữu hạn. m s c n n c = s / m 2 ϵ n ϵ = ( log s ) / m2mscnnc=s/m2ϵnϵ=(logs)/m
Emil Jeřábek hỗ trợ Monica

Câu trả lời:


13

Theo Định lý 3.1 trong Mạch điện tử của Alexis Maciel và Denis Therien có độ sâu nhỏ , thực sự có một mạch sâu 3 để tính toán thêm hai số.

Giới hạn chính xác là trong đó là các vấn đề có độ sâu-2 với cả hai cổng ở trên cùng và mạch là mạch có độ sâu một (xem bài viết để được giải thích chi tiết về ký hiệu). Δ 2 = Σ 2pi 2 Một C 0, N C 0 1 N C 0Δ2NC10Δ2=Σ2Π2AC0,NC10NC0

Các ý tưởng bằng chứng chính là:

  • Đầu tiên, biểu thị mạch Carry-lookahead làNC0Δ2NC0
  • Tiếp theo, gọi các thuộc tính đóng của để viết này làΔ 2N C 0Δ2Δ2NC0
  • Cuối cùng, sử dụng thực tế (cũng đã được chứng minh trong bài báo) rằngNC0Δ1NC10

9

Các mạch độ sâu 2 yêu cầu kích thước theo cấp số nhân để tính toán bổ sung vì mạch độ sâu 2 phải là DNF hoặc CNF và thật dễ dàng để xác minh rằng có nhiều minterms và maxterms theo cấp số nhân.

Cảnh báo : phần bên dưới là lỗi . Xem các ý kiến ​​dưới câu trả lời.

Cách tôi đếm, phép cộng có thể được thực hiện ở độ sâu 3. Giả sử và là các bit thứ của hai số, trong đó là chỉ số của LSB và của MSB. b i i 0 naibii0n

Hãy để chúng tôi tính bit thứ của tổng, theo cách tiêu chuẩn với mang theo phía trước:tôiisi

si=aibici

trong đó là XOR và là carry được tính là:c ici

ci=jj<i(gjpj)

và có nghĩa là vị trí thứ "tạo ra" carry: jgjj

gj=(ajbj)

và có nghĩa là carry được truyền từ đến : j ipjji

pj=kj<k<i(ajbj)

Đếm độ sâu, là độ sâu 2 và là độ sâu 3. Mặc dù có vẻ như là độ sâu 4 hoặc 5, nhưng nó thực sự cũng chỉ là độ sâu 3 vì nó là một phép tính fanin giới hạn của độ sâu 3 mạch nên người ta có thể đẩy hạ hai cấp xuống bằng cách sử dụng các công thức de-Morgan, trong khi thổi kích thước mạch bằng một lượng đa thức.c i s ipjcisi


4
Tôi hoàn toàn không thấy cách tính toán fanin bị ràng buộc của độ sâu 3 mạch tự động là độ sâu 3. Nếu, giả sử, bạn viết là , bạn có thể thực hiện lần đầu tiên phân tách mạch 3 độ sâu với trên đầu và mạch thứ hai phân biệt mạch 3 độ sâu với trên đầu. Tôi không thấy làm thế nào để đẩy sự phân tách trên cùng xuống mà không tăng độ sâu một lần để tính đến sự không khớp giữa các loại liên kết trong hai phần. Điều này có thể được khắc phục bằng cách lưu ý rằng cũng có thể được tính theo một cách khác bằng mạch 3 độ sâu ...si(ci¬(aibi))(¬ci(aibi))ci
Emil Jeřábek hỗ trợ Monica

1
... với trên đầu trang. Mặt khác, tất cả các mạch độ sâu 3 đã giới hạn quạt phía dưới, vì vậy tôi gọi chúng là độ sâu 2 1/2.
Emil Jeřábek hỗ trợ Monica

1
Đó là hiển nhiên. Điều tôi đang chỉ ra là như đã viết, bạn không có ở đây một OR gồm hai mạch sâu với AND ở trên cùng. Bạn có OR của hai mạch độ sâu , một trong số đó có AND ở trên cùng và mạch kia có OR ở trên cùng. Tôi nghi ngờ các mạch như vậy có thể được chuyển đổi sang độ sâu nói chung. Hãy suy nghĩ về các đa thức - trong AND và OR như là các bộ lượng hóa. Bạn có thể biểu thị dưới dạng prenex công thức với các khối định lượng , nhưng bạn cần các khối để thể hiện ...ddd(x1x2Qxdϕ(x1,,xd))(x1x2Qxdψ(x1,,xd))dd+1
Emil Jeřábek hỗ trợ Monica

1
... công thức . (x1x2Qxdϕ(x1,,xd))(x1x2Q¯xdϕ(x1,,xd))
Emil Jeřábek hỗ trợ Monica

5
Đối với một ví dụ rõ ràng theo nguyên tắc chung, hãy đặt là một nhóm các hàm được tính toán bằng các mạch với OR trên đỉnh yêu cầu các mạch độ sâu siêu đa thức với AND ở trên cùng (ví dụ: Chức năng Sipser). Sau đó không có mạch . Giả sử mâu thuẫn rằng là các mạch như vậy và có OR ở trên cùng (trường hợp khác là đối xứng). Bằng cách đặt , chúng tôi thu được các mạch cho với OR ở trên cùng, do đó mạch choMột C 0 d d x 0f n Một C 0 d C n ( x 0 , ... , x n ) C n x 0 = 1 Một C 0 d ¬ f n Một C 0 d f nfn(x1,,xn)ACd0dx0fnACd0Cn(x0,,xn)Cnx0=1ACd0¬fnACd0fnvới AND trên đỉnh, một mâu thuẫn.
Emil Jeřábek hỗ trợ Monica
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.