Số lượng cổng nhị phân cần thiết để tính toán AND và OR của n bit đầu vào


16

Số lượng cổng nhị phân tối thiểu cần thiết để tính toán AND và OR của bit đầu vào là bao nhiêu? Giới hạn trên tầm thường là . Tôi tin rằng điều này là tối ưu, nhưng làm thế nào để chứng minh điều này? Kỹ thuật loại bỏ cổng tiêu chuẩn không hoạt động ở đây bằng cách gán một hằng số cho bất kỳ biến đầu vào nào mà một trong những biến đầu ra tầm thường hóa.2 n - 2n2n2

Vấn đề cũng được đưa ra như một bài tập 5.12 trong cuốn sách "Độ phức tạp của các hàm Boolean" của Ingo Wegener ở dạng hơi khác: "Đặt . Bằng phương pháp loại bỏ, người ta chỉ có thể chứng minh giới hạn dưới của kích thước . Cố gắng chứng minh giới hạn dưới lớn hơn. " n + Ω ( 1 )fn(x)=x1xnx¯1x¯nn+Ω(1)


1
@Ryan: Câu hỏi không phải là về AND của OR mà là về AND OR. Tuy nhiên, tôi không biết câu trả lời cho câu hỏi của Sasha.
Tsuyoshi Ito

1
@TsuyoshiIto Cảm ơn, bằng cách nào đó tôi đã quản lý để phân tích nó không chính xác. Đây chắc chắn là một vấn đề không cần thiết - người ta có thể tưởng tượng sử dụng các loại cổng khác để có được lợi thế hơn . 2n2
Ryan Williams

2
@Sasha, bạn đã thử áp dụng bộ giải SAT cho các ví dụ nhỏ (như ), như trong một số bài viết trước đây của bạn chưa? n=4
Ryan Williams

2
@Ryan Vâng, chắc chắn rồi. Những gì chúng ta biết là , , . Này là dành cho các chức năng từ cuốn sách (nó là khi và chỉ khi tất cả các bit đầu vào đều bình đẳng). Điều này phát triển như . Và một mạch có kích thước rất dễ xây dựng: đầu tiên tính cho tất cả các cổng ( ), sau đó tính toán kết hợp trong số họ ( cổng). C3=3C 57 1 n 2 n - 3 2 n - 3 x ix i + 1 i = 1 , ... , n - 1 ( n - 1 ) ( n - 2 )C4=5C571n2n32n3xixi+1i=1,,n1(n1)(n2)
Alexander S. Kulikov

1
@Tsuyoshi: Tôi nghĩ rằng chức năng gate của Sasha là chức năng thứ hai của câu hỏi ( ) có thể được xây dựng với cổng XNOR (áp dụng cho ) và cổng AND được áp dụng cho các XNOR. f n ( x ) = x 1 ... x nˉ x 1 ... ˉ x n n - 1 x i , x i + 1 n - 22n3fn(x)=x1xnx¯1x¯nn1xi,xi+1n2
Marzio De Biasi

Câu trả lời:


14

Bài viết này của Blum & Seysen có thể hữu ích:

N.Blum, M. Seysen. Đặc tính của tất cả các mạng tối ưu cho tính toán đồng thời AND và NOR . Acta Inf. 21: 171-181 (1984)

Tôi đã nghĩ rằng với giới hạn thấp hơn có thể thu được bằng các phương pháp của Blum & Seysen, nhưng có vẻ như đây không phải là trường hợp. 2 n - cx1xnx¯1x¯n 2nc


1
Có phiên bản pdf công khai của giấy Blum và Seysen không?
Marzio De Biasi

@Vladimir, cảm ơn bạn đã tham khảo! Tôi sẽ cố gắng kiểm tra xem các phương pháp của họ có được áp dụng trong trường hợp này hay không khi tìm thấy bài viết.
Alexander S. Kulikov

3
@Vladimir, thans một lần nữa! Trên thực tế, bài viết này chứa chính xác câu trả lời cho câu hỏi của tôi thậm chí còn nhiều hơn: nó nói rằng để tính toán VÀ và đồng thời người ta cần và bất kỳ mạch nào có kích thước này đều tính toán VÀ và HOẶC độc lập (điều này thật thú vị!). Nó cũng không phải là khó khăn để chứng minh rằng C ( f n ) C ( A N D , O R ) - c 2 n - c ' . 2n2C(fn)C(AND,OR)c2nc
Alexander S. Kulikov

2n2x1xnx¯1x¯n2n5

1
Chỉ cần một lời nhắc nhở @SashaK. nếu bạn thích câu trả lời, vui lòng "chấp nhận" bằng cách nhấp vào dấu tick bên dưới số phiếu.
Suresh Venkat

3

3n/2

Thuật toán thông minh chứng minh giới hạn trên chuyển thành mạch AND / OR có cùng giới hạn mà bạn nhận được, vì một trong các phép so sánh sẽ tính cả mức tối thiểu và tối đa.

3n/2

Giới hạn trên xuất hiện trong "Giới thiệu về thuật toán", trong đó bạn cũng có thể tìm thấy đối số dễ dàng cho thấy các mạch so sánh tối đa / tối thiểu là hợp lệ nếu chúng hoạt động cho các đầu vào boolean (sử dụng ngưỡng thích hợp). Các giới hạn dưới có thể được tìm thấy ví dụ ở đây .


2
Lưu ý trong câu hỏi của Sasha, tất cả các hàm Boolean 2 bit có thể được sử dụng để xây dựng mạch.
Ryan Williams

Vâng, không rõ ràng làm thế nào giới hạn dưới có thể được dịch sang trường hợp của tất cả các hàm nhị phân.
Alexander S. Kulikov
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.