?

16

Читая блог Дика Липтона, я наткнулся на следующий факт в конце его поста о факторе Борна :

Если для каждого существует отношение вида где , и каждый из , и является по длине в битах, тогда факторинг имеет полином размерные схемы.( 2 n ) ! = m - 1 k = 0 a k b c k k m = p o l y ( n )n

(2n)!=k=0m1akbkck
m=poly(n)akbkckpoly(n)

Другими словами,, который имеет экспоненциальное количество битов , потенциально может быть представлен эффективно.(2n)!

У меня есть несколько вопросов:

  • Может ли кто-нибудь предоставить доказательство вышеуказанного отношения, назвать мне имя и / или предоставить какие-либо ссылки?
  • Если бы я дал вам , и каждый из , и , не могли бы вы предоставить мне алгоритм полиномиального времени для проверки правильности отношения (т. Е. Находится ли он в )?nmakbkckNP
user834
источник
4
Разве этот пост в блоге не претендует на обратное? То есть, если уравнения вышеприведенного вида имеют решения в общем , тогда факторинг имеет схемы полиномиального размера. (2n)!=
Микро
3
Я думаю, что вы на самом деле написали обратное тому, что написал Дик Липтон. Он говорит, что если такое уравнение существует для каждого , то факторинг имеет схемы полиномиального размера. Таким образом, подразумевается, что если факторинг является неравномерно сложным (для бесконечного числа ), то уравнения указанной выше формы не существуют (для бесконечного числа ). н н нnnn
Сашо Николов
@mikero, SashoNikolov, вы оба правы, мои извинения. Я отредактировал свой вопрос.
user834
1
Обратите внимание, что «алгоритм полиномиального времени» обычно означает единый алгоритм. Пост Липтона только утверждает существование семейства полисайтовых схем для факторинга.
Сашо Николов
1
Обратите внимание, что для того, чтобы это свойство было истинным, , b k и c k должны быть p o l y ( n ) в битовом размере /, как указано в блоге Липтона /, и p o l y ( 2 n ) как целые числа , Ваше определение не ясно. akbkckpoly(n)poly(2n)
Гопи

Ответы:

8

Я прокомментирую почему отношение как в вопросе (для каждого n ) помогает факторинг. Я не могу закончить спор, но, возможно, кто-то может.

(2n)!=k=0m1akbkck
n

Первое наблюдение заключается в том, что приведенное выше соотношение (и в более общем смысле, наличие многоразмерных арифметических схем для ) Дает многоразмерную схему для вычисления ( 2 n ) ! mod x для x, заданный в двоичном виде: просто вычислите сумму по модулю x , используя возведение в степень путем повторного возведения в квадрат.(2n)!(2n)!modxxx

Теперь, если бы мы могли вычислить для произвольного y , мы могли бы множить x : используя бинарный поиск, найти наименьший y такой, что gcd ( x , y ! ) 1 (который мы можем вычислить, используя gcd ( x , ( y ! mod x ) ) ). Тогда у должен быть наименьшим простым делителем x .y!modxyxygcd(x,y!)1gcd(x,(y!modx))yx

Если мы можем сделать только степени для y , мы все равно можем попытаться вычислить gcd ( x , ( 2 n ) ! ) Для каждого n log x . Одним из них будет нетривиальный делитель x , за исключением неудачного случая, когда существует такое n , что x взаимно прост с ( 2 n ) ! и делит ( 2 n + 1 ) ! , Это эквивалентно тому, чтобы сказать, что х2ygcd(x,(2n)!)nlogxxnx(2n)!(2n+1)!xне содержит квадратов, и все его главные факторы имеют одинаковую длину в битах. Я не знаю, что делать в этом (довольно важном случае).

Эмиль Йержабек поддерживает Монику
источник
Если отношение выполнено (для всех ), то, возможно, оно также выполняется (с другим выбором a k , b k и c k ), когда один заменяет 2 другим (малым) простым числом, p . Можно предположить поиск до тех пор, пока не будет найдено p , так что x взаимно прост с ( p n ) ! а не ( р н + 1 ) ! nakbkck2ppx(pn)!(pn+1)!
user834