Эффективно получать биты N! ?

11

Учитывая и M , возможно ли получить M -й бит (или цифру любого небольшого основания) из N ! во времени / пространстве O ( p ( l n ( N ) , l n ( M ) ) ) , где p ( x , y ) - некоторая полиномиальная функция от x и y ?NMMN!O(p(ln(N),ln(M)))p(x,y)xy

т.е. учитывая , M = 2 μN , M Z ), найти бит 2 μ из ( 2 η ) ! в O ( p ( η , μ ) ) .N=2ηM=2μNMZ2μ(2η)!O(p(η,μ))

Примечание: я спрашивал об этом на mathoverflow.net здесь и не получал никаких ответов, поэтому я написал кросс-пост.

Из комментария на другом сайте Джин Копп отмечает, что можно эффективно вычислять биты младшего разряда, выполняя модульную арифметику и биты старшего разряда, используя приближение Стирлинга, так что этот вопрос действительно «насколько эффективно можно вычислить биты среднего порядка?» ,

user834
источник

Ответы:

13

У Дика Липтона есть прекрасный пост с 2009 года о взаимосвязи между факториальной функцией и факторингом. Есть много вещей, которые не имеют отношения к этому вопросу, но один важный момент - эта теорема:

Если может быть вычислено путем арифметического вычисления по прямой линии в O ( log c n ) шагах, тогда факторинг имеет схемы полиномиального размера.n!O(logcn)

Я подозреваю, что это является свидетельством того, что на ваш вопрос, особенно в указанные вами сроки, будет сложно ответить.

Суреш Венкат
источник
1
Спасибо, это именно тот ответ, который я искал. Это не дает прямого ответа на мой вопрос, и я не вижу, как именно соединить их, но это достаточно близко, чтобы успокоить мой разум.
user834 15.10.10
3

p

p(p2)p2pN!Xp=i=1logp(N!)Npilogp(N!)lnN!NlnNNpNlogp(N)>N!1iNlogp(N)Npi=0i>logp(N!)

XpN!p

Джо Фитцсимонс
источник