Выбор наиболее значимого бинарного умножения

10

Я заинтересован в определении сложности следующей задачи решения: учитывая два целых числа и l 2 (каждое из которых содержит не более m бит), решить, является ли старший значащий бит умножения l 1l 2 равным 1 (где результат печатается в 2м битах с возможно ведущими 0)?L1L2L1L2

Некоторые советы по проблеме: Очевидно, что эта проблема является частным случаем двоичного умножения , который спрашивает , является ли -й бит умножения л 1л 2 равен 1. В своей работе, Uniform постоянной глубины пороговые схемы для разделения и итерация Умножение , Гессе, Аллендер и Баррингтон доказывают, что итеративное (и, следовательно, бинарное) умножение в D L o g T i m e - равномерно T C 0 . Более того, кажется общеизвестным, что двоичное умножение уже является D L o g T i.яL1L2DLогTяме TС0 -равномерный Т С 0 -Жесткими. Тем не менее, я не смог найти конкретный источник, подтверждающий этот результат. Как не специалист в сложности схемы, я также был бы признателен за указание на этот общий результат твердости. Наконец, предполагая, что двоичное умножение D L o g T i m e -равномерно T C 0 -hard, мой вопрос также можно прочитать так: остается ли оно D L o g T i m e -равномерно T C 0DLогTяме TС0DLогTяме TС0DLогTяме TС0-Твердо, если мы хотим решить только самый значимый бит двоичного умножения?

ОБНОВЛЕНИЕ: ответ Каве разъясняет, почему двоичное умножение является жестким (сокращение от COUNT). Точная сложность определения наиболее значимого бита двоичного умножения остается открытой (и награда за этот вопрос).TС0

Эй Эй Эй
источник
В книге «Описательная сложность» есть доказательство iirc. Я не уверен, что вы подразумеваете под самым значительным, будучи единым, оно всегда одно по определению.
Каве
Это просто шутка вашего учителя: биты равны 0 или 1, и самый важный бит - это ненулевой бит в старшей позиции. По определению он равен 1 (если только один из факторов и l 2 не равен нулю). L1L2
Гамов
@Kaveh Спасибо за ссылку: я проверю это. Извините за путаницу относительно самого значительного бита. Я неявно предполагаю, что результат печатается в битах 2m-1 и, если необходимо, с начальными 0.
Хейхейхей
@Kaveh: в книге описательной сложности упоминается только верхняя граница. Однако я не смог найти ничего, касающегося сложности двоичного умножения.
Хейхейхей
Вы пишете: «Более того, кажется, хорошо известно, что двоичное умножение - это уже - равномерный T C 0 -хард». Почему это так кажется? Я знаю, что двоичное умножение не в A C 0 , и это все, что меня волнует в настоящее время. DLогTяме TС0AС0
Томас Климпел

Ответы:

6

Умножение завершено для и это хорошо известный результат. Сокращение от Count (количество 1 бит в двоичном числе). Сравнение двоичных чисел в A C 0, поэтому M a j o r i t y сводится к C o u n t .TС0AС0MaJоряTYСоUNT

Для уменьшения к М у л т сделать следующим образом : рассмотрит вход - 1 ... п . Вставьте k 0 между a i s и назовите его a . Умножьте его на b, который похож на a, за исключением того, что a i s в нем заменены на 1s. Выберите k > 3 n . Число в средней части в б ответ. Снижение в F OСоUNTMULTa0a1...aNКaяaбaaяК>3NaбFОи показывает, что .СоUNTFО(MULT)

Кава
источник
1
Спасибо за ответы! Да, это подтверждает, что двоичное умножение завершено для TC0. Что касается самого значительного, остаются некоторые проблемы. Самый старший бит умножения (111 x 111) = 110001 равен 1, а для этого (100 x 100) = 010000 он равен 0. Обратите внимание, что старшие значащие биты мультипликаторов одинаковы в обоих случаях. Поэтому я не думаю, что в общем случае достаточно сложить наиболее значимые биты. Я что-то пропустил?
Хейхейхей,
1
Если и у = 2 п + 1 / 2 , то старший бит х 2 равен 0, а старший бит у 2 равен 1, даже если х и у могут отличаться только в один, наименее значимый, бит. Иксзнак равно2N+1/2Yзнак равно2N+1/2Икс2Y2ИксY
Эмиль Йержабек
3
Редактирование не является правильным. Так как мы добавляем m чисел, может быть не один бит переноса, а log m. Решить, сколько из них размножается, гораздо сложнее.
Эмиль Йержабек
1
Действительно, не обращая внимания на все остальное: вычисление выполнения одной позиции (скажем, где-то посередине) уже эквивалентно Count, следовательно, TC ^ 0-complete.
Эмиль Йержабек
1
@Heyheyhey, формула, которую я написал, является FO и, следовательно, в форме AC0.
Каве