Ich bin daran interessiert, die Komplexität des folgenden Entscheidungsproblems zu bestimmen: Wenn zwei ganze Zahlen und (jeweils mit höchstens m Bits) vorliegen, entscheiden Sie, ob das höchstwertige Bit der Multiplikation 1 ist (wobei das Ergebnis gedruckt wird 2m Bits mit möglicherweise führenden Nullen)?l 2 l 1 ⋅ l 2
Einige Hintergrundinformationen zum Problem: Offensichtlich handelt es sich bei diesem Problem um einen Sonderfall der binären Multiplikation, bei dem gefragt wird, ob das te Bit der Multiplikation ist. In ihrer Arbeit werden einheitliche Schwellenwertschaltungen mit konstanter Tiefe für Division und iterierte Multiplikation beschrieben , Hesse, Allender und Barrington beweisen, dass die iterierte (und damit binäre) Multiplikation in - uniform . Darüber hinaus scheint bekannt zu sein, dass die binäre Multiplikation bereits - uniforml 1 ⋅ l 2 D L o g T i m e T C 0 D L o g T i m e T C 0 D L o g T i m e T C 0 D L o g T i m e -schwer. Ich konnte jedoch keine bestimmte Quelle finden, die dieses Härteergebnis belegt. Als Nicht-Experte für Schaltungskomplexität würde ich mich auch über einen Hinweis auf dieses allgemeine Härteergebnis freuen. Unter der Annahme, dass die binäre Multiplikation - uniform -hard ist, kann meine Frage auch wie gelesen werden: Bleibt sie - uniform - schwer, wenn wir nur das höchstwertige Bit der binären Multiplikation entscheiden wollen?
UPDATE: Antwort verdeutlicht, warum die binäre Multiplikation -hard ist (Reduktion von COUNT). Die genaue Komplexität der Entscheidung über das höchstwertige Bit der binären Multiplikation bleibt offen (und die Prämie gilt für diese Frage).
quelle
Antworten:
Die Multiplikation ist für und dies ist ein bekanntes Ergebnis. Die Reduzierung erfolgt von Count (Anzahl von 1 Bits in einer Binärzahl). Der Vergleich von Binärzahlen erfolgt in sodass auf reduziert werden kann .TC0 AC0 Majority Count
Um auf zu gehen Sie wie folgt vor: Betrachten Sie die Eingabe als . Fügen Sie 0s zwischen s ein und nennen Sie es . Multipliziere es mit was wie außer dass s darin durch 1s ersetzt werden. Wählen Sie . Die Zahl im mittleren Bereich von ist die Antwort. Die Reduzierung erfolgt in und zeigt, dass .M u l t a 0 a 1 ... a n k ein i ein b a a i k > 3 n a b F O C o uCount Mult a0a1…an k ai a b a ai k>3n ab FO Count∈FO(Mult)
quelle