Decidere il pezzo più significativo della moltiplicazione binaria


10

Sono interessato a determinare la complessità del seguente problema decisionale: dati due interi e l 2 (ciascuno con al massimo m bit), decidere se il bit più significativo della moltiplicazione l 1l 2 è 1 (dove il risultato viene stampato in bit da 2m con eventualmente 0 iniziali)?l1l2l1l2

Alcuni retroscena del problema: Ovviamente, questo problema è un caso speciale di moltiplicazione binaria che chiede se l' -bit della moltiplicazione l 1l 2 è 1. Nel loro documento, circuiti di soglia uniforme a profondità costante per divisione e iterati moltiplicazione , Hesse, Allender e Barrington dimostrano che la moltiplicazione iterata (e quindi binaria) è in D L o g T i m e - uniforme T C 0 . Inoltre, sembra ben noto che la moltiplicazione binaria è già D L o g T iil1l2DLogTime TC0 -uniforme T C 0 -hard. Tuttavia, non sono stato in grado di trovare una fonte particolare che provasse questo risultato di durezza. Come non esperto nella complessità del circuito, apprezzerei anche un indicatore di questo risultato di durezza generale. Infine, supponendo che la moltiplicazione binaria sia D L o g T i m e -uniforme T C 0 -hard, la mia domanda può anche essere letta come: rimane D L o g T i m e -uniforme T C 0DLogTime TC0DLogTime TC0DLogTime TC0-hard se vogliamo decidere solo il bit più significativo di moltiplicazione binaria?

AGGIORNAMENTO: la risposta di Kaveh chiarisce perché la moltiplicazione binaria è -hard (riduzione da COUNT). La precisa complessità di decidere la parte più significativa della moltiplicazione binaria rimane aperta (e la generosità è per questa domanda).TC0


C'è una prova nel libro Descrittivo sulla complessità iirc. Non sono sicuro di cosa intendi per bit più significativo essendo uno, è sempre uno per definizione.
Kaveh,

l1l2

@Kaveh Grazie per il riferimento: lo controllerò. Ci scusiamo per la confusione riguardante il bit più significativo. Presumo implicitamente che il risultato sia stampato in 2 m-1 bit e, se necessario, con 0 iniziali.
Heyheyhey,

@Kaveh: Nel libro descrittivo sulla complessità viene menzionato solo il limite superiore. Non sono riuscito a trovare nulla per quanto riguarda la durezza della moltiplicazione binaria.
Heyheyhey,

DLogTime TC0AC0

Risposte:


6

TC0AC0MajorityCount

CountMulta0a1ankaiabaaik>3nabFOCountFO(Mult)


1
Grazie per le risposte! Sì, questo verifica che la moltiplicazione binaria sia completa per TC0. Per quanto riguarda il bit più significativo, rimangono alcuni problemi. Il bit più significativo della moltiplicazione (111 x 111) = 110001 è 1, e per questo (100 x 100) = 010000, è 0. Nota che i bit più significativi dei moltiplicatori sono gli stessi in entrambi i casi. Pertanto, non penso che, in generale, sia sufficiente sommare i bit più significativi. Mi sto perdendo qualcosa?
Heyheyhey,

1
x=2n+1/2y=2n+1/2x2y2xy

3
La modifica non è corretta. Dato che stiamo aggiungendo numeri m, potrebbe non esserci solo un bit di carry, ma registrare m. Decidere quanto si propaga è quindi molto più difficile.
Emil Jeřábek,

1
In effetti, trascurando tutto il resto: calcolare la realizzazione di una singola posizione (diciamo, da qualche parte nel mezzo) è già equivalente a Count, quindi TC ^ 0-complete.
Emil Jeřábek,

1
@Heyheyhey, la formula che ho scritto è FO e quindi in AC0 uniforme.
Kaveh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.