Додавання цілих чисел, представлених їх факторизацією, так само важко, як і факторинг? Довідковий запит


22

Я шукаю посилання на наступний результат:

Додавання двох цілих чисел у факторне подання так само важко, як і факторинг двох цілих чисел у звичайне бінарне подання.

(Я майже впевнений, що це там, тому що я щось задумався, а потім був схвильований, коли нарешті побачив це у друку.)

"Додавання двох цілих чисел у факторне подання" є проблемою: з урахуванням простих множників двох чисел і вивести просту факторизацію . Зауважимо, що алгоритм наївності для цієї проблеми використовує факторизацію в стандартному бінарному поданні як підпрограму.хух+у

Оновлення : Дякую Каве і Садеку за докази. Очевидно, що більше доказів веселості, але я також хотів би заохотити більшу допомогу у пошуку посилання , яке, як я вже сказав, я впевнений, що існує. Я пригадую, як читав це в документі з іншими цікавими і не часто обговорюваними ідеями, але я не пригадую, які були ці інші ідеї чи про що в статті взагалі йдеться.


6
Я думаю, що кращий заголовок буде "Чи факторинг суми двох цілих чисел, представлених їх факторизацією, такий же важкий, як факторинг?"
MS Dousti

1
Приємне запитання. Якщо ми можемо записати задане ціле число у вигляді суми двох цілих цілих чисел, то те, що ви хочете, наступне. Це легко зробити, якщо ми хотіли чисел, але я не бачу, як це зробити навіть з номерами. Можливо, варто переглянути класи чисел, які легко піддаються фактуруванню. журнал log nжурналнжурналжурналн
Каве

1
кілька пов’язаних питань щодо MO та Math.SE: 1 , 2 , 3
Kaveh

Відповіді:


15

Припустимо, що ми можемо розв’язати задачу (давайте назвати її FactSum) у класі складності а C закритий під час реєстрації журналу (він же обмежений журналом рекурсії) (наприклад, якщо ми можемо обчислити x y, де є бінарною функцією, ми можемо обчислюється x 1x log n ) і містить P (ця остання умова може бути слабкішою). Ми покажемо , що факторинг в також в C .СCloglogxyx1xlognПС

Зауважте, що кожне число може бути записане у вигляді суми потужностей 2 . Кожен з них легко піддавати чинникам.журналн2

Тепер, задане число, запишіть його як суму його потужностей, потім запишіть кожну суму в представленні факторингу, а потім використовуйте алгоритм для підсумовування їх у поданні факторингу. Результатом стане факторинг вхідного числа.

Це показує, що факторинг можна звести до вашої проблеми FactSum. Тому факторинг в P FactSum (і я думаю , що P може бути замінений N C 1 тут).журналПFactSumПNС1


10

Я не знаю посилання, але, думаю, я придумав доказ:

Припустимо, у вас є оракул який на введенні двох фактичних чиселО

х=i=1нpiαi

і

у=i=1мqiβi,

виводить факторизацію .х+у

Отримавши доступ до , ми можемо множити будь-яке число N у поліноміальний час, використовуючи наступну рекурсивну процедуру.ОN

Коефіцієнт процедури ( )N

  1. Знайдіть простим таким, що N / 2 x N - 1 , і y = N - x .хN/2хN-1у=N-х
  2. Якщо не є простим, отримайте факторизацію y за рекурсивним фактором виклику ( y ) і виведете O ( x , f a c t o r ( y ) ) .уууО(х,fаcтоr(у))
  3. Інший вихід .О(х,у)

Аналіз:

За теоремою простих чисел для досить великого , між N / 2 і N - 1 існує велика кількість простих чисел . Якщо N настільки малий, що жоден простір не падає в цей інтервал, ви можете легко розподілити N. Тому крок 1 проходить.NN/2N-1NN

На кроці 2, ви можете використовувати AKS або будь-який інший тест первинності в поліномі-часі.

Кількість рекурсії просто , оскільки на кожному кроці N розрізається навпіл (принаймні)О(lg(N))=О(|N|)N


PS-1: Якщо припустити , що гіпотеза Гольдбаха може допомогти прискорити процедуру для парних (і, можливо, непарних) цілих чисел.

PS-2: Використовуване скорочення - це зменшення Кука. Можливо, буде цікаво провести доказ із використанням скорочень Карпа.


3
Я думаю, що це відкрито, якщо ми зможемо ефективно знайти прайм у заданому діапазоні, тому я не бачу, як у вас справи 1.
Kaveh

1
@Kaveh: Ти маєш рацію! З деякими додатковими кроками, я думаю, що я можу змінити алгоритм, щоб не вимагати щоб бути простим, а потім розподілити його як y ; або ми можемо припустити, що зменшення є ймовірнісним (оскільки в імовірнісний поліномний час ми можемо знайти розкіш у заданому діапазоні). ху
MS Dousti

2
Так, я думаю, у нас була одна і та ж ідея, тобто хотіли знайти прості числа для множників, які дорівнюють вводу, ви намагалися використовувати прайми, я використовував повноваження 2. :) Досі не знаю, чи можемо ми це зробити менше, ніж логарифмічна кількість запитів до оракула, і це, здається, пов'язане з цікавим і природним питанням теорії чисел (написання чисел як сума простих до факторних чисел).
Kaveh

5

Ця відповідь не залежить від моєї попередньої відповіді . Його мета - вирішити проблему @ Kaveh у коментарях:

Це легко зробити, якби ми хотіли номер n n , але я не бачу, як це зробити навіть з n log log n номерами.журналнжурналжурналн

У мене було подібне занепокоєння:

Використовуване скорочення - це зменшення Кука. Можливо, буде цікаво провести доказ із використанням скорочень Карпа.

(Скорочення Карпа - це проблеми з рішенням. Тут, під скороченням Карпа, я маю на увазі скорочення кука на один запит. Вибачте за нестандартну термінологію!)


Відповідь нижче ґрунтується на обговоренні тут: /math/54580/factoring-some-integer-in-the-given-interval .


У цій відповіді я надам детерміноване скорочення Карпа на полініміальному часі від факторингу до факторингу суми двох цілих чисел, представлених їх факторизаціями . Однак є одна уловка: У ході доказу я використаю таке теоретичне припущення про число:

pнpн+1pн+1-pн=О(журнал2pн)

Nн=|N|=О(журналN)N[N-журнал3N,N]журнал3N=О(н3)

х[N-журнал3N,N]у=N-х

0ужурнал3N|у|=О(журналжурналN)=О(журналн)у

(х,у)N=х+у


Дякую Садеку, але умовні результати були не те, про що я просив. ps: Мене цікавлять цікаві подання чисел, і представлення, яке ви отримуєте з вашої відповіді (витягуючи велику прем'єру), не виглядає для мене дуже цікавою. Для надання аромату того, що мені було б цікаво: кожне натуральне число - це сума чотирьох квадратів .
Kaveh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.