Чи може Мерлін переконати Артура в певній сумі?


11

Мерлін, яка має необмежені обчислювальні ресурси, хоче переконати Артура в тому, що

m|pN, p primepk
для (N,m,k) при k=O(logN) і m=O(N). Обчислення цієї суми прямо (модульна експоненція та додавання) потребує часу N(loglogN)2+o(1) із множенням на основі FFT. * Але Артур може виконувати лише операціїO(N).

(Примітка для сумісності з більш ранніми версіями цього питання. Нехай сума дорівнює mα ; тоді питання полягає в тому, чи є α цілим числом.)

Чи може Мерлін переконати Артура струною довжиною O(N) ? Якщо ні, чи може він переконати Артура інтерактивним доказом (загальне спілкування, звичайно, повинно бути O(N) )? Якщо так, то може Мерлін використовувати рядок довжиною o(N) ? Могли б Артур використовувати o(N) часу?

Артур не має доступу до недетермінізму чи інших спеціальних засобів (квантові методи, оракули, крім Мерліна тощо), але має O(N) простір, якщо це потрібно. Звичайно, Артуру не потрібно обчислювати суму безпосередньо, він просто повинен бути впевнений, що дана трійка (N, m, k) робить рівняння істинним або хибним.

Зауважимо , що при k=0 , можна обчислити суму за час O(N1/2+ε) з використанням Lagarias-Одлижко метод. Для k>0 сума є надлінійною і тому її не можна зберігати безпосередньо (без, наприклад, модульного скорочення), але не ясно, чи існує швидкий алгоритм.

Мене також зацікавив би будь-який алгоритм для обчислення суми (модульної чи іншою), крім прямого живлення та складання.

* число , щоб обчислити, час LG K увійти N ( журнал журнал N ) 1 + O ( 1 ) = увійти N ( журнал журнал N ) 2 + O ( 1 ) для кожного розрахунку.N/logNlgklogN(loglogN)1+o(1)=logN(loglogN)2+o(1)



1
Так, пов'язані. Ключова відмінність полягає в тому, що питання math.SE передбачає, що Мерлін має нульові обчислювальні ресурси, і цей припускає, що він має необмежені ресурси.
Чарльз

3
А як щодо часу, необхідного для тестування первинності?
Пітер Шор

1
@Charles: Я цього не бачу масштабування для підрахунку простих чисел. Чи можете ви її розширити? Я б подумав, що це вимагає надлінійного масштабування. Сито Ератосфена даєалгоритмO(N2). NO(N2)
Joe Fitzsimons

1
Алгоритм пояснюється Lagarias & Odlyzko. Це описано, наприклад, dtc.umn.edu/~odlyzko/doc/arch/analytic.pi.of.x.pdf (І це не але ˜ O (O(N))O~(N).
Чарльз

Відповіді:


7

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

Є доказ, який Артур завжди прийме, якщо доказ правильний, але відкине з вірогідністю . Ось як це працює: Мерлін посилає Артур пару(ря,зя=р до я  модник м)для кожного простогорN. Артур перевіряє суму (час забиранняO(N/log(N))×O(log(N))=O(N)1(loglogN)2+o(1)(pi,ci=pik mod m)pNO(N/log(N))×O(log(N))=O(N)). Артур перевіряє , що правильне кількість простих чисел було поставлено (шляхом обчислення ) , яка є сублінейна в N . Нарешті, для S N випадкових пар він підтверджує, що p є простим і що p k ic i  mod  m . Для цього потрібен час S N O ( ( журнал журналу N ) 2 + o ( 1 ) ) . Беручи S = ( журнал журналу N )π(N)NSNppikci mod mSN O((loglogN)2+o(1)) , отримуємо лінійне масштабування в часі. Таким чином,перевіряєтьсячасткаSвсіх пар. Якщо будь-яке з них не вдасться, Артур, звичайно, відкине. Для того, щоб Артур прийняв неправильне підтвердження, має бути принаймні одна пара, яка не відповідає одному з цих двох тестів (або кількість пар повинна бути меншою заπ(N),що було перевірено раніше). Так як часткаSвсіх пар перевіряються, тест провалюється для некоректного докази з ймовірністю принаймніS.S=(loglogN)(2+o(1))Sπ(N)SS

Зауважимо, що для великих це набагато краще, ніж випадкові здогадки, що вдається з імовірністю 1N .1m=1O(N)


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

1
добре зі мною. особливо у питаннях CW звичайно є багато відповідей.
Суреш Венкат

@Suresh: Так, я знаю, але це не CW, і я не хочу ставати реп-шлюхом.
Joe Fitzsimons

2
Дуже приємна відповідь. Він збільшує обидва ресурси - рядок Мерліна - а Артур використовує Θ ( N ) час. Нітпік: перевірка прайменів індивідуально займе занадто багато часу, щоб зв'язатись, але, звичайно, Артур може створити їх усіх і порівняти їх зі списком Мерліна (вимагаючи, щоб це було в порядку). Θ(N)Θ(N)
Чарльз

1
@JoeFitzsimons: це добре :). якщо обидві відповіді заслуговують на реп, ви отримаєте подвійні бали :)
Суреш Венкат

6

Це повна відповідь на проблему, в якій Мерлін зовсім не використовується.

Deléglise-Dusart-Roblot [1] наведено алгоритм , який визначає число простих чисел аж до , які можна порівняти з л по модулю до , під час O ( х 2 / 3 / увійти - х ) . Модифікація алгоритму Lagarias-Odlyzko [2] дозволяє те ж саме можна обчислити за часом O ( х 1 / 2 + O ( 1 ) ) .xlk,O(x2/3/log2x).O(x1/2+o(1)).

m.q,k

p primepNpk(modq).

23logm.

(1+o(1))logm,O(N1/2+o(1)).

Список літератури

[1] Марк Делегліз, П'єр Дусарт та Ксав'є-Франсуа Робло, Підрахунок праймерів у класах залишків , Математика обчислень 73 : 247 (2004), стор 1565-1575. doi 10.1.1.100.779

π(x)

[3] Чарльз, відповідь на MathOverflow . (Так, це та сама людина. Дивіться інші відповіді там щодо різних підходів.)


5

kk=xϕ(m)x

ϕ(m)mNpxϕ(m)0 mod mp|mpxϕ(m)1 mod mk=xϕ(m)pN,p primepkπ(N)y mod mymπ(N)N

1<N<mmα1<π(N)<m

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