Яке мінімальне ціле значення, щоб зробити квантову факторизацію доцільною?


11

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


2
Дуже точний розрахунок залежатиме від деталей, таких як реалізація операцій додавання в квантовому алгоритмі, а також від точних операцій, що використовуються в найкращому алгоритмі класичного факторизації. В обох випадках ми часто звикли ігнорувати постійні фактори в обсязі необхідної роботи, але навіть більше в класичному випадку, ніж квантовий випадок. Чи будете ви задоволені оцінкою на порядок (наприклад, квантова перевага, яка отримується десь між 350-370 бітами --- щоб дати можливу відповідь, яку я створив з повітря, не базуючись на фактичному аналізі)?
Ніль де Бодорап

@NieldeBeaudrap Я б сказав, що з вказаних вами причин точну кількість було б неможливо надати. Якщо ваша оцінка "поза повітря" базується на деяких міркуваннях, я думаю, це було б цікаво. (Іншими словами, освічена здогадка має значення, але дика здогадка не має)
Дискретна ящірка

@DiscreteLizard: якби у мене надійні засоби оцінювання були готові, я б не представив приклад відповіді, не грунтуючись на аналізі :-) Я впевнений, що є розумний спосіб дати цікаву оцінку, але ті, якими я б був у змозі легко надати, бруски помилок занадто великі, щоб бути дуже цікавими.
Ніль де Бодорап

Оскільки ця проблема звичайно сприймається як типовий "доказ" того, що квантові комп'ютери здатні до подвигів поза сферами класичних обчислень, але майже завжди в умовах суворої складності обчислювальної техніки (таким чином, нехтування усіма константами і справедливим лише для довільно високого введення розміри) Я б сказав, що груба відповідь на порядок (і її виведення) вже була б корисною / педагогічною. Можливо, люди з CS / теоретичного CS можуть бути готові допомогти.
agaitaarino

1
@agaitaarino: Я згоден, хоча у відповіді доведеться припустити деякий більш-менш точний виклад роботи найкращих класичних алгоритмів для факторизації. Потім все може зробити досить хороший студент квантових обчислень.
Ніль де Бодорап

Відповіді:


8

Квантова частина алгоритму Шора - це, по суті, єдина модульна експоненція, проведена під суперпозицією з подальшим перетворенням Фур'є, а потім вимірюванням. Модульна експоненція - це, безумовно, найдорожча частина.

Припустимо, що [...] кожна елементарна логічна операція математичної факторизації однаково затратна за часом у класичній та в квантовій факторингах

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

Але квантові комп'ютери не збираються займатися математикою майже так швидко, як класичні комп’ютери . Наприклад, на своєму ноутбуці я можу виконати 1000-бітну модульну експоненцію в пітоні за частку секунди. Але на передбачуваних квантових комп’ютерах це займе години чи дні. Проблема полягає у величезній ( масовій ) різниці у вартості ворота AND.

На класичній машині виконання ІН настільки малоефективне, що ми навіть не дуже думаємо про це при програмуванні. Це набагато більш імовірно, що ви визначаєте вартість підрахунку 64-бітових доповнень, ніж підрахунок І ворота, коли визначаєте вартість вашого алгоритму. Але на квантовому комп'ютері, виправленому помилками, виконання ІН (як правило, тимчасово, через Toffoli), як правило, коштує дорого. Наприклад, ви можете це зробити, відігнавши чотири високоякісні стану. Я не буду входити в цифри ... достатньо сказати, що на ранніх машинах, виправлених помилками, ви були б дуже раді отримати мільйон T станів в секунду.|T

Отже, припустимо, що ми отримуємо мільйон T станів в секунду, і ми хочемо перетворити це в швидкість 64-бітних доповнень для порівняння з класичною машиною. Для 64-розрядного додатку потрібні ворота 64 AND, кожна з яких потребує 4 Т-воріт. 1 мільйон, поділений на 4, поділений на 64, дає ... приблизно 4 кГц. На відміну від цього, класична машина легко зробить мільярд доповнень в секунду. Квантові добавки в мільйон разів повільніше, ніж класичні добавки (знову ж таки, дико оцінюючи, і пам’ятайте, що ця кількість повинна з часом покращуватися).

Іншим фактором, який варто враховувати, є різні витрати на квантові та класичні комп’ютери. Якщо у вас сто мільйонів доларів, і ви вибираєте між одним квантовим комп'ютером і тисячею класичних комп'ютерів, цей коефіцієнт 1000 потрібно враховувати. У цьому сенсі можна сказати, що квантові добавки в мільярд разів менш ефективні, ніж класичні добавки (у FLOPS / $).

Постійний факторний штраф у мільярд, як правило, є негайним порушенням угоди. А щодо квантових алгоритмів із просто квадратичною перевагою (як Grover) я стверджую, що це насправді переривник угод. Але алгоритм Шор стає експоненціально кращим порівняно з класичною стратегією, оскільки ви збільшуєте кількість бітів від числа до множника. Скільки шматочків, перш ніж ми з'їмо цю «потворну» 10 ^ 9 константу з нашим експоненціальним зростанням на користь?

Врахуйте, що RSA-640 був розроблений у 2005 році, використовуючи ~ 33 CPU років. Квантовий комп'ютер повинен мати можливість робити це число за день. Якщо у вас є тисяча класичних комп'ютерів, які працюють над проблемою, вони закінчать приблизно через два тижні. Тож здається, що квантовий виграє 640 біт, але лише на порядок чи три. То, може, обрізання трапиться десь близько 500 біт?

У будь-якому випадку, я знаю, що це не важка і швидка відповідь. Але, сподіваюсь, я передав певне відчуття кількості, про яку я б подумав, порівнюючи класичне та квантове. Насправді ще ніхто не знає про постійні чинники, які були пов'язані, тому я буду здивований, якби хтось міг дати тобі належну оцінку краще, ніж "десь у сотні біт".


Це дуже добре, але як ви оцінюєте 30 біт? З чим саме ви порівнюєте алгоритм Шор, якщо вважаєте, що це ймовірний кроссовер?
Ніль де Бодорап

1
@NieldeBeaudrap Як я вже сказав, це дика здогадка. Я вважаю: модульне множення має гідний постійний коефіцієнт (класично). Так само продовжують дроби. Чи мають алгоритми факторингу також хороші постійні фактори? Напевно, ні? Якщо так, кросовер відбудеться майже одразу замість великої кількості. Якщо хтось хоче насправді порівняти ці дві речі один проти одного, я оновлю відповідь. Я вважаю "м'ясо" рештою.
Крейг Гідні

1
Я звичайно не заперечую проти цього, як надання інтуїції, за винятком того, що ваша дика здогадка саме на тему питання. (Питання також задається таким чином, що передбачає усвідомлення питань тактової швидкості.) Найшвидші методи факторизації дуже великої кількості включають великі постійні чинники, але насправді розрахунок з ними є суть питання; але для цифр близько мільярда ми можемо навіть розглянути пробний поділ, використовуючи таблицю простих чисел приблизно до 32 767, що на практиці буде дуже швидко. Кількісне порівняння навіть з цим було б початком.
Ніль де Бодорап

6

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

Ця відповідь має на меті не як остаточну відповідь, а як крок у правильному напрямку, посилаючись на існуючу літературу (хоча, правда, вже понад десятиліття), зокрема:

  • Ван Метер, Іто і Ладд. Час виконання алгоритму Шор-залежно від архітектури . Зб. Мезоскопічна надпровідність + Spintronics 2006; [ arXiv: quant-ph / 0507023 ]

Ван Метр, Іто і Ладд намагаються порівняти продуктивність алгоритму Шора з доступною обчислювальною технологією, що виконує Ситове поле чисел (найкращий відомий класичний алгоритм для факторизації). У мене не було часу детально ознайомитись із деталями статті - вищий варіант відповіді, можливо, можна отримати, зробивши це - але малюнок 1 цієї статті дозволяє нам зробити обґрунтовану чисельну оцінку:

введіть тут опис зображення

Тут круті криві представляють час обчислення класичних обчислювальних мереж. Крива, позначена "NFS, 104 ПК, 2003", схоже, вказує на обчислення (і прогнозований час обчислень) сто чотирьох персональних комп'ютерів приблизно в 2003 році, про що повідомляло RSA Security Inc. в 2004 році [ http: //www.rsasecurity. com / rsalabs / node.asp? id = 2096] .

Ми проведемо розрахунок Фермі. Припустимо, що крива відповідає обчисленню на 104 по суті однакових комп'ютерах, і припустимо, що комп’ютерів, що здійснюють сито поля чисел, можуть проводити обчислень в секунду чисел Field Sieve, де - кількість операцій в секунду, яку може виконувати один комп'ютер. Швидкий пошук в Інтернеті свідчить про те, що швидкість хорошого комерційно доступного ПК близько 2003 року становила близько 2 ГГц. Якщо припустити, що комп'ютери виконували одну логічну операцію за тактовий цикл, класичне обчислення в 2003 році ефективно працювало приблизно вn v v 2 × 10 11nnvv2×1011операції в секунду. Гіпотетичне тестування алгоритму Шорса повинно бути проведене проти квантового комп'ютера, який працює на порівнянній тактовій частоті.

На жаль, найнижча крива для квантових алгоритмів представляє тактову частоту , тому точка, в якій гіпотетична реалізація алгоритму Шора перевершить цю ефективність, відсутня на наведеному графіку. Однак є якась цікава інформація, яка показана.109

  • Незважаючи на перевагу в секунду з коефіцієнтом 200 або більше, графік вказує, коли ця класична реалізація NFS на 200 ГГц перевершила квантовий комп'ютер частотою 1 ГГц, що виконує алгоритм Шора (приблизно на 200 цифр) та квантовий комп'ютер частотою 1 МГц ( приблизно при 330 знакових числах).
  • У нас також є крива, що проектує продуктивність "у 2018 році", що представляє 1000 разів більше класичної обчислювальної потужності: перехоплення з квантовими комп'ютерами 1 ГГц і 1 МГц мають 350 бітові числа та 530 бітові числа.

Збільшення точок перетину проти квантових обчислень, починаючи з обчислень у 2003 році до прогнозованого в 2018 році, що представляє собою прискорення тактової швидкості 1000, становить приблизно 5/3. Виходячи з цього, ми можемо підрахувати, що обчислювальна перевага перед розміром чисел, які можна швидко вирішити класичним комп’ютером, за рахунок збільшення швидкості в коефіцієнт 200, становить приблизно 7/6. Тоді ми можемо оцінити, що точка перетину одного класичного комп’ютера на 1 ГГц, що виконує NFS, і квантовий комп'ютер 1 ГГц, що виконує алгоритм Шор, становить приблизно 170 бітових чисел.

Підсумок - точна відповідь буде залежати від багатьох технічних припущень, які можуть суттєво змінити точний результат, тому краще шукати приблизну оцінку. Але це питання було досліджено принаймні один раз раніше, і, роблячи певну кількість припущень та екстраполяцій щодо продуктивності на основі класичної продуктивності в 2003 році, схоже, що алгоритми Шор перевершують найвідоміший класичний алгоритм на основі операцій за числом близько 170 біт.


Це хороша відповідь. Варто зауважити, що ідея цієї статті про "елементарну логічну операцію" знаходиться (дуже доречно) на рівні воріт AND, на відміну від рівня інструкції процесора чи операції BigInt (я підозрюю, що це був запитувач мислення). У власній відповіді я припускав, що модульна експоненція робиться "як би класично", що передбачає, наприклад, множення FFT. Ось чому я здогадався про число, яке було настільки нижчим, ніж цей документ, який (належним чином) робить множення шкільної книги з пульсацією, що несе сумматори для її квантової арифметики.
Крейг Гідні

@SalvaCardona: Я рекомендую не приймати мою відповідь. Мій аналіз дуже короткий, і вам слід протриматися для кращого аналізу.
Ніль де Бодорап
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.