Was ist das beste Ergebnis für die Anzahl der Gatter in einer Schaltung, die zwei n-Bit-Ganzzahlen multipliziert?
Das offensichtliche Verfahren erzeugt -Gatter. Es gibt bessere Ansätze mit θ ( n log n log log n ) und θ ( n log n 2 log ∗ ( n ) ) Gates.
Ich konnte keine boolesche Schaltungsfamilie finden, die die Multiplikation mit Gates verarbeiten kann. Ich frage mich, ob es eine solche Familie von Schaltkreisen gibt.
Antworten:
Im Folgenden finden Sie eine detaillierte Umfrage aus dem Jahr 2008, in der die wichtigsten theoretischen Multiplikationsalgorithmen behandelt werden, einschließlich der in den Kommentaren zu Ihrer Frage erörterten (einschließlich des Schönhage-Strassen-Algorithmus und des Fuerer-Algorithmus, siehe Seite 335 der Umfrage). Die Implementierung ist jedoch eine andere Sache, und einige dieser Algorithmen werden möglicherweise nicht als praktisch angesehen. Die Umfrage deckt keine praktischen Implementierungen ab. Obwohl die Umfrage Algorithmen für Polynome, Potenzreihen, reelle Zahlen und 2-adische Zahlen enthält, sind Ganzzahlen ein Sonderfall davon (siehe Abbildung 1 auf Seite 336).O ( n logn2Log∗n)
Schnelle Multiplikation und ihre Anwendungen , Bernstein (Algorithmische Zahlentheorie / MSRI Publications / Band 44, 2008)
quelle