Я заинтересован в определении сложности следующей задачи решения: учитывая два целых числа и l 2 (каждое из которых содержит не более m бит), решить, является ли старший значащий бит умножения l 1 ⋅ l 2 равным 1 (где результат печатается в 2м битах с возможно ведущими 0)?
Некоторые советы по проблеме: Очевидно, что эта проблема является частным случаем двоичного умножения , который спрашивает , является ли -й бит умножения л 1 ⋅ л 2 равен 1. В своей работе, Uniform постоянной глубины пороговые схемы для разделения и итерация Умножение , Гессе, Аллендер и Баррингтон доказывают, что итеративное (и, следовательно, бинарное) умножение в D L o g T i m e - равномерно T C 0 . Более того, кажется общеизвестным, что двоичное умножение уже является D L o g T i. -равномерный Т С 0 -Жесткими. Тем не менее, я не смог найти конкретный источник, подтверждающий этот результат. Как не специалист в сложности схемы, я также был бы признателен за указание на этот общий результат твердости. Наконец, предполагая, что двоичное умножение D L o g T i m e -равномерно T C 0 -hard, мой вопрос также можно прочитать так: остается ли оно D L o g T i m e -равномерно T C 0 -Твердо, если мы хотим решить только самый значимый бит двоичного умножения?
ОБНОВЛЕНИЕ: ответ Каве разъясняет, почему двоичное умножение является жестким (сокращение от COUNT). Точная сложность определения наиболее значимого бита двоичного умножения остается открытой (и награда за этот вопрос).
Ответы:
Умножение завершено для и это хорошо известный результат. Сокращение от Count (количество 1 бит в двоичном числе). Сравнение двоичных чисел в A C 0, поэтому M a j o r i t y сводится к C o u n t .Т С0 A C0 М J о т я т у С о ц н т
Для уменьшения к М у л т сделать следующим образом : рассмотрит вход - 1 ... п . Вставьте k 0 между a i s и назовите его a . Умножьте его на b, который похож на a, за исключением того, что a i s в нем заменены на 1s. Выберите k > 3 n . Число в средней части в б ответ. Снижение в F OС о ц н т М у л т a0a1...N К aя a б a aя k > 3 н а б F O и показывает, что
.Count∈FO(Mult)
источник