Ефективно отримуючи шматочки N! ?


11

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

тобто З огляду на , (з , ), знайти біт зв .N=2ηM=2μNMZ2μ(2η)!O(p(η,μ))

Примітка. Я запитав це на mathoverflow.net тут, і я не отримував жодної відповіді, тому я переписав .

З коментаря на іншому веб-сайті Джин Копп вказує, що можна ефективно обчислити біти нижчого порядку, виконуючи модульні арифметичні та біти вищого порядку, використовуючи наближення Стірлінга, тому це питання справді "наскільки ефективно можна обчислити біти середнього порядку?" .

Відповіді:


13

Дік Ліптон з 2009 року прекрасний пост про співвідношення факторіальної функції та факторингу. Є багато такого, що не має відношення до цього питання, але одна важлива точка - це ця теорема:

Якщоможна обчислити прямолінійним арифметичним обчисленням на етапах , тоді факторинг має схеми розмірів поліномів.n!O(logcn)

Я підозрюю, що це свідчення того, що на ваше запитання, особливо в зазначені вами строки, буде складно відповісти.


1
Дякую, саме такий варіант відповіді я шукав. Це не відповідає безпосередньо на моє запитання, і я не бачу точно, як їх з'єднати, але це досить близько, щоб спокійно пережити.
user834

3

Відповідь Суреша, ймовірно, відповідає на запитання для вас, але я думав, що зазначу окремий випадок. Ви завжди можете опрацювати результат для менш значущих цифр для будь-якої бази. Візьміть як нашу основу.p

Зрозуміло, що кожен p- й термін у факторіалі є кратним . Кожен член є кратним і т. Д. Отже, найвища сила яка є коефіцієнтомє . легко наблизити наближенням Стірлінга: . Далі,, тож суму завжди можна обчислити ефективно, підсумовуючи замість неї (оскількиp(p2)p2pN!Xp=i=1logp(N!)Npilogp(N!)lnN!NlnNNpNlogp(N)>N!1iNlogp(N)Npi=0для ).i>logp(N!)

Таким чином, останні цифридорівнюють нулю в базовій .XpN!p

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.