Decidir el bit más significativo de la multiplicación binaria

10

Estoy interesado en determinar la complejidad del siguiente problema de decisión: dados dos enteros y l 2 (cada uno con m bits como máximo), decida si el bit más significativo de la multiplicación l 1l 2 es 1 (donde el resultado se imprime en bits de 2 m con posiblemente los primeros 0)?l1l2l1l2

Algunos antecedentes sobre el problema: Obviamente, este problema es un caso especial de multiplicación binaria que pregunta si el -ésimo bit de la multiplicación l 1l 2 es 1. En su artículo, Circuitos de umbral de profundidad constante uniforme para división e iteración multiplicación , Hesse, Allender y Barrington demuestran que la multiplicación iterativa (y por lo tanto binaria) está en D L o g T i m e - uniforme T C 0 . Además, parece ser bien sabido que la multiplicación binaria ya es D L o g T iyol1l2reLosolTyometromi TC0 0 -uniforme T C 0 -duro. Sin embargo, no pude encontrar una fuente particular que pruebe este resultado de dureza. Como no experto en complejidad de circuitos, también agradecería un puntero a este resultado de dureza general. Finalmente, suponiendo que la multiplicación binaria es D L o g T i m e -uniforme T C 0 -duro, mi pregunta también se puede leer como: ¿Sigue siendo D L o g T i m e -uniforme T C 0reLosolTyometromi TC0 0reLosolTyometromi TC0 0reLosolTyometromi TC0 0-duro si queremos decidir solo el bit más significativo de la multiplicación binaria?

ACTUALIZACIÓN: la respuesta de Kaveh aclara por qué la multiplicación binaria es -duro (reducción de COUNT). La complejidad precisa de decidir el bit más significativo de la multiplicación binaria permanece abierta (y la recompensa es por esta pregunta).TC0 0

Hey hey hey
fuente
Hay una prueba en el libro de Complejidad descriptiva iirc. No estoy seguro de lo que quiere decir con el bit más significativo de ser uno, siempre es uno por definición.
Kaveh
Esto es solo una broma de tu maestro: los bits son 0 o 1, y el bit más significativo es el bit que no es 0 en la posición más alta. Es igual a 1 por definición (a menos que uno de los factores y l 2 sea ​​cero). l1l2
Gamow
@Kaveh Gracias por la referencia: lo comprobaré. Perdón por la confusión con respecto al bit más significativo. Supongo implícitamente que el resultado se imprime en 2m-1 bits y, si es necesario, con ceros a la izquierda.
Heyheyhey
@Kaveh: En el Libro de Complejidad Descriptiva, solo se menciona el límite superior. Sin embargo, no pude encontrar nada con respecto a la dureza de la multiplicación binaria.
Heyheyhey
Usted escribe: "Además, parece ser bien sabido que la multiplicación binaria ya es - uniforme T C 0 -duro". ¿Por qué parece eso? Sé que la multiplicación binaria no está en A C 0 , y eso es todo lo que me importa actualmente. reLosolTyometromi TC0 0UNAC0 0
Thomas Klimpel

Respuestas:

6

La multiplicación se completa para y este es un resultado bien conocido. La reducción es de Count (número de 1 bits en un número binario). La comparación de los números binarios está en A C 0, por lo que M a j o r i t y es reducible a C o u n t .TC0 0UNAC0 0METROunajoryotyCotunortet

Para reducir a M u l t haga lo siguiente: consideran de entrada es un 0 a 1 ... a n . Inserte k 0s entre a i s y llámelo a . Multiplíquelo con b, que es como a, excepto que a i s en él se reemplaza con 1s. Elija k > 3 n . El número en la sección central de a b es la respuesta. La reducción está en F OCotunortetMETROtultuna0 0una1...unanortekunayounasiunaunayok>3norteunasiFOy muestra que .CotunortetFO(METROtult)

Kaveh
fuente
1
Gracias por las respuestas! Sí, esto verifica que la multiplicación binaria está completa para TC0. En cuanto al bit más significativo, quedan algunos problemas. El bit más significativo de la multiplicación (111 x 111) = 110001 es 1, y para este (100 x 100) = 010000, es 0. Tenga en cuenta que los bits más significativos de los multiplicandos son iguales en ambos casos. Por lo tanto, no creo que, en general, sea suficiente sumar los bits más significativos. ¿Me estoy perdiendo de algo?
Heyheyhey
1
Si y y = 2 n + 1 / 2 , entonces el MSB de x 2 es 0, y el MSB de y 2 es 1, a pesar de que x y y puede sólo difieren en uno, menos significativo, poco. X=2norte+1/ /2y=2norte+1/ /2X2y2Xy
Emil Jeřábek
3
La edición no es correcta. Como estamos agregando números m, puede que no haya solo un bit de carry, sino log m. Decidir cuánto se propaga es mucho más difícil.
Emil Jeřábek
1
De hecho, sin tener en cuenta todo lo demás: calcular el desempeño de una sola posición (por ejemplo, en algún lugar en el medio) ya es equivalente a Count, por lo tanto, TC ^ 0-complete.
Emil Jeřábek
1
@Heyheyhey, la fórmula que escribí es FO y, por lo tanto, en uniforme AC0.
Kaveh