Количество двоичных элементов, необходимых для одновременного вычисления И и ИЛИ из n входных битов


16

Какое минимальное количество двоичных вентилей необходимо для вычисления И и ИЛИ из входных битов одновременно? Тривиальная верхняя граница . Я считаю, что это оптимально, но как это доказать? Стандартный метод устранения строба здесь не работает, так как, присваивая константу любой из входных переменных, можно тривиализировать один из выходных данных.2 n - 2n2n−2

Эта проблема также приводится в упражнении 5.12 в книге Инго Вегенера «Сложность булевых функций» в несколько иной форме: «Пусть . Методом исключения можно доказать только нижнюю границу размера . Попробуйте доказать большие нижние оценки. " п + Ω ( 1 )fn(x)=x1…xn∨x¯1…x¯nn+Ω(1)


1
@Ryan: Вопрос не о том и в OR , а о И и ИЛИ. Хотя я не знаю ответа на вопрос Саши.
— Цуёси Ито

1
@TsuyoshiIto Спасибо, каким-то образом мне удалось разобрать его неправильно. Это определенно нетривиальная проблема - можно было бы использовать другие виды ворот, чтобы получить преимущество над . 2n−2
— Райан Уильямс

2
@ Саша, вы пробовали применять SAT-решатели к небольшим примерам (например, ), как в некоторых из ваших предыдущих работ? n=4
— Райан Уильямс

2
@ Райан Да, конечно. Мы знаем, что , C 4 = 5 , C 5 ≤ 7 . Это для функции из книги (это 1, если все n входных битов равны). Это растет как 2 n - 3 . И схему размера 2 n - 3 легко построить: сначала вычислим x i ≡ x i + 1 для всех i = 1 , … , n -C3=3C4=5C5≤71n2n−32n−3xi≡xi+1 ( ( n - 1 ) вентилей), а затем вычислить их соединение ( ( n - 2 ) вентилей). i=1,…,n−1(n−1)(n−2)
— Александр Сергеевич Куликов

1
@Tsuyoshi: Я думаю , что ворот функционируют Саша является второй функцией вопроса ( е п ( х ) = х 1 ... х п ∨ ˉ х 1 ... ˉ х п ) , которые могут быть построены с п - 1 вентиль XNOR (применяется к x i , x i + 1 ) и n - 2 вентиль AND применяется к XNOR. 2n−3fn(x)=x1…xn∨x¯1…x¯nn−1xi,xi+1n−2
— Марцио Де Биаси

Ответы:


14

Эта статья Blum & Seysen может быть полезна:

Н. Блюм, М. Сейсен. Характеристика всех оптимальных сетей для одновременного вычисления AND и NOR . Acta Inf. 21: 171-181 (1984)

Я подумал , что для 2 п - Ĉ нижняя граница может быть получена с помощью методов Blum & Seysen, но мне кажется , что это не так.x1…xn∨x¯1…x¯n 2n−c


1
Существует ли общедоступная PDF-версия статьи Блюма и Сейзена?
— Марцио Де Биаси

@ Владимир, спасибо за ссылку! Я постараюсь проверить, применимы ли их методы в этом случае, когда найду статью.
— Александр Сергеевич Куликов

3
@ Владимир, еще раз спасибо! На самом деле, эта статья содержит именно тот ответ на мой вопрос и даже больше: он говорит, что для вычисления И и ИЛИ одновременно нужно и любая схема такого размера вычисляет И и ИЛИ независимо (это интересно!). Также нетрудно показать, что C ( f n ) ≥ C ( A N D , O R ) - c ≥ 2 n - c ′ . 2n−2C(fn)≥C(AND,OR)−c≥2n−c′
— Александр Сергеевич Куликов

@Sasha, yes, I missed this simple construction. To clarify things, in the paper AND and NOR functions are considered, so for AND and OR we get 2n−2 lower bound by altering one gate and for x1…xn∨x¯1…x¯n --- 2n−5
— Vladimir Lysikov

1
Just a reminder @SashaK. if you like the answer, please "accept" it by clicking on the tick mark below the vote count.
— Suresh Venkat

3

3⌊n/2⌋.

The clever algorithm proving the upper bound translates to an AND/OR circuit with same bound you get, since one of the comparisons computes both a minimum and a maximum.

However, the lower bound (given by an adversary argument) does seem to translate, at least in the case of monotone circuits (since an AND/OR circuit translates to a max/min algorithm). This would imply a lower bound of 3⌊n/2⌋. Perhaps a tight lower bound can be obtained by analyzing the adversary argument.

The upper bound appears in "Introduction to Algorithms", where you can also find the easy argument showing that max/min comparator circuits are valid iff they work for boolean inputs (use an appropriate threshold). The lower bound can be found e.g. here.


2
Note in Sasha's question, all 2-bit Boolean functions can be used to construct the circuit.
— Ryan Williams

Yes, it is not clear how the lower bound can be translated to the case of all binary functions.
— Alexander S. Kulikov
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.