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

16

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

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

Александр Сергеевич Куликов
источник
1
@Ryan: Вопрос не о том и в OR , а о И и ИЛИ. Хотя я не знаю ответа на вопрос Саши.
Цуёси Ито
1
@TsuyoshiIto Спасибо, каким-то образом мне удалось разобрать его неправильно. Это определенно нетривиальная проблема - можно было бы использовать другие виды ворот, чтобы получить преимущество над . 2n2
Райан Уильямс
2
@ Саша, вы пробовали применять SAT-решатели к небольшим примерам (например, ), как в некоторых из ваших предыдущих работ? n=4
Райан Уильямс
2
@ Райан Да, конечно. Мы знаем, что , C 4 = 5 , C 57 . Это для функции из книги (это 1, если все n входных битов равны). Это растет как 2 n - 3 . И схему размера 2 n - 3 легко построить: сначала вычислим x ix i + 1 для всех i = 1 , , n -C3=3C4=5C571n2n32n3xixi+1 ( ( n - 1 ) вентилей), а затем вычислить их соединение ( ( n - 2 ) вентилей). i=1,,n1(n1)(n2)
Александр Сергеевич Куликов
1
@Tsuyoshi: Я думаю , что ворот функционируют Саша является второй функцией вопроса ( е п ( х ) = х 1 ... х пˉ х 1 ... ˉ х п ) , которые могут быть построены с п - 1 вентиль XNOR (применяется к x i , x i + 1 ) и n - 2 вентиль AND применяется к XNOR. 2n3fn(x)=x1xnx¯1x¯nn1xi,xi+1n2
Марцио Де Биаси

Ответы:

14

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

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

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

Владимир Лысиков
источник
1
Существует ли общедоступная PDF-версия статьи Блюма и Сейзена?
Марцио Де Биаси
@ Владимир, спасибо за ссылку! Я постараюсь проверить, применимы ли их методы в этом случае, когда найду статью.
Александр Сергеевич Куликов
3
@ Владимир, еще раз спасибо! На самом деле, эта статья содержит именно тот ответ на мой вопрос и даже больше: он говорит, что для вычисления И и ИЛИ одновременно нужно и любая схема такого размера вычисляет И и ИЛИ независимо (это интересно!). Также нетрудно показать, что C ( f n ) C ( A N D , O R ) - c 2 n - c . 2n2C(fn)C(AND,OR)c2nc
Александр Сергеевич Куликов
@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 2n2 lower bound by altering one gate and for x1xnx¯1x¯n --- 2n5
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

3n/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 3n/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.

Yuval Filmus
источник
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