?


16

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

Якщо для кожного існує відношення форми ( 2 n ) ! = m - 1 k = 0 a k b c k k де m = p o l y ( n ) , а кожен з a a k , b k і c k є p o l yn

(2n)!=k=0m1akbkck
m=poly(n)akbkck довжиною біт, то факторинг має схеми розміру поліномів.poly(n)

Іншими словами, , який має експоненціальну кількістьбітів, потенційно може бути представлений ефективно.(2n)!

У мене є кілька питань:

  • Чи може хтось надати доказ вищезазначеного відношення, сказати мені ім’я та / або надати якісь посилання?
  • Якби я дав вам , m і кожен з a k , b k і c k , ви могли б ви надати мені алгоритм поліноміального часу, щоб перевірити обґрунтованість відношення (тобто це в N P )?nmakbkckNP

4
Невже ця публікація в блозі не вимагає зворотного? Тобто, якщо рівняння наведеної форми мають рішення в цілому , тоді факторинг має схеми розміру поліномів. (2n)!=
mikero

3
Думаю, ви насправді написали зворотнє того, що написав Дік Ліптон. Він каже, що якщо таке рівняння існує для кожного , то факторинг має схеми розмірів поліномів. Отже, наслідок полягає в тому, що якщо факторинг нерівномірно важкий (для нескінченно багатьох n ), то рівнянь наведеної форми не існує (для нескінченно багатьох n ). nnn
Сашо Ніколов

@mikero, SashoNikolov, ви обидва вірні, мої вибачення. Я відредагував своє запитання.
користувач834

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

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

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

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


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