Effizientes Erhalten von N-Bits! ?

11

Ist es bei und möglich, das M -te Bit (oder die Ziffer einer beliebigen kleinen Basis) von N zu erhalten! in Zeit / Raum von O (p (ln (N), ln (M))) , wobei p (x, y) eine Polynomfunktion in x und y ist ?M.NMMN!O(p(ln(N),ln(M)))p(x,y)xy

dh wenn N=2η , M=2μ (mit N , MZ ) gegeben ist, finde Bit 2μ von (2η)!in O(p(η,μ)) .

Anmerkung: Ich habe dies auf mathoverflow.net fragte hier und haben keine Antworten wurde immer so habe ich Quer gebucht.

In dem Kommentar auf der anderen Seite weist Gene Kopp darauf hin, dass man die Bits niedrigerer Ordnung effizient berechnen kann, indem man modulare Arithmetikbits und Bits höherer Ordnung unter Verwendung der Stirlingschen Näherung ausführt. Diese Frage lautet also wirklich: Wie effizient kann man die Bits mittlerer Ordnung berechnen? .

user834
quelle

Antworten:

13

Dick Lipton hat einen schönen Beitrag aus dem Jahr 2009 über die Beziehung zwischen der Fakultätsfunktion und dem Factoring. Es gibt eine Menge, die nichts mit dieser Frage zu tun hat, aber ein hervorstechender Punkt ist dieser Satz:

Wennkann durch eine geradlinige arithmetische Berechnung in -Schritten berechnet werden, wobei das Faktorisieren Polynomgrößenschaltungen aufweist.O ( log c n )n!O(logcn)

Ich vermute, dass dies ein Beweis dafür ist, dass Ihre Frage, insbesondere innerhalb der von Ihnen genannten Zeiträume, schwer zu beantworten sein wird.

Suresh Venkat
quelle
1
Vielen Dank, das ist genau die Art von Antwort, nach der ich gesucht habe. Dies beantwortet meine Frage nicht direkt und ich sehe nicht genau, wie ich die beiden verbinden soll, aber es ist nah genug, um meine Gedanken zu beruhigen.
user834
3

Sureshs Antwort beantwortet wahrscheinlich die Frage für Sie, aber ich dachte, ich würde auf einen Sonderfall hinweisen. Sie können das Ergebnis immer für die weniger signifikanten Ziffern für jede Basis berechnen. Nehmen Sie als Basis.p

Es ist klar, dass jeder p- te Term in der Fakultät ein Vielfaches von . Jeder -te Term ist ein Vielfaches von usw. Somit ist die höchste Potenz von ein Faktor vonist . ist durch Stirlings-Näherung leicht zu approximieren: . Ferner ist kann die Summe immer effizient berechnet werden, indem stattdessen (da( p 2 ) p 2 p N ! X p = log p ( N ! ) i = 1N.p(p2)p2pN!logp(N!)lnN! NlnN-NpNlogp(N)>N! 1iNlogp(N)NXp=i=1logp(N!)Npilogp(N!)lnN!NlnNNpNlogp(N)>N!1iNlogp(N)i>logp(N!)Npi=0für ).i>logp(N!)

Somit sind die letzten Ziffern vonsind Null in der Basis . N ! pXpN!p

Joe Fitzsimons
quelle