Посилання на алгоритм оптимального факторингу Левіна?


13

У " Пораді початківцеві " Мануеля Блума :

ЛЕОНІД ЛЕВІН вважає, як я це роблю, незалежно від відповіді на P = NP? Проблема, вона не буде схожа на те, що ви думаєте, що має бути. І він навів кілька чудових прикладів. Для одного він дав ФАКТОРИНГ-АЛГОРИТМ, що є найбільш оптимальним, аж до мультиплікативної константи. Він доводить, що якщо його алгоритм експоненціальний, то кожен алгоритм ФАКТОРИНГУ є експоненціальним. Рівнозначно, якщо будь-який алгоритм факторингу є багаточасним, то його алгоритм є багаточасним. Але ми не змогли сказати час його роботи з алгоритмом, оскільки, в сильному сенсі, час його роботи неможливо відслідковувати.

Сторінка публікацій Левіна повертає 404, DBLP не показує нічого, пов’язаного з факторингом, а пошук "leonid levin factoring" на Google Scholar не повертає нічого цікавого, що я міг би знайти. AFAIK узагальнене сито - це найшвидший алгоритм, відомий для факторингу. Про що говорить Мануель Блюм? Чи може хтось зв’язати мене з папером?

Відповіді:


11

NP

Ось цитата з конспектів лекцій, проведених Блумом про БЕЗПЕКА та КРИПТОГРАФІЯ:

АЛГОРИТМ ОПТИМАЛЬНОГО ЧИСЛЕННЯ (ФАКТОРИНГ) Леоніда Левіна. Нехай SPLIT позначає будь-який алгоритм, який обчислює INPUT: додатне складене (тобто не просте) ціле число n. ВИХІД: нетривіальний коефіцієнт n.

ТЕОРЕМА: Існує "оптимальний" алгоритм розбиття числа, який ми називаємо OPTIMAL-SPLIT. Цей алгоритм є OPTIMAL в тому сенсі, що: для кожного алгоритму розбиття чисел SPLIT існує (досить велика, але фіксована) константа C така, що для кожного позитивного цілого цілого вводу n "час роботи" OPTIMAL-SPLIT на вході n дорівнює максимум C разів тривалість роботи SPLIT на вході n.

Ось оптимальний алгоритм факторингу Левіна :

АЛГОРИТМ OPTIMAL-SPLIT: BEGIN Перерахуйте всі алгоритми в порядку розміру, лексикографічно в межах кожного розміру. Запустіть усі алгоритми так, щоб у будь-який момент часу, t, алгоритм i отримав частку часу [1 / (2 ^ i)] для виконання. Щоразу, коли алгоритм зупиняється з деяким цілим виходом m у діапазоні 1 <m <n, перевірте, чи m ділить n (тобто, якщо n mod m = 0). Якщо так, поверніть m. Кінець


Чи може хтось пояснити, чому частка повинна бути 1 / (2 ^ i), але не чимось простішим, як 1 / i?
netvope

1
@netvope: нескінченна сума 1 / i розходиться. Ви можете зробити це за допомогою 1 / i ^ 2, але 1/2 ^ i набагато простіше.
Сурма

3

NPcoNP

Враховуючи число, ми хочемо поділити N.

Чи N простим? Якщо так, виведіть 'PRIME' інше:

i=1...

P=1...i

Запустіть програму P для i кроків із введенням N

L1M1N=LM(L,M)


4
Ви не можете використовувати відомий тест на первинність, оскільки невідомо, що він швидший, ніж оптимальний факторинг. Окрім цього, я не розумію жодного моменту. Щоб довести, що це оптимально для факторингу до постійного фактора, я думаю, що нам доведеться довести, що множення на останньому кроці не є домінуючим терміном у часовій складності. Якщо я добре пам’ятаю, найшвидший відомий алгоритм множення в асимптотичній установці заснований на FFT і займає час (n log n log n n) час для n-бітових цілих чисел. Чи можна довести, що оптимальний факторинг займає принаймні стільки часу, як це?
Tsuyoshi Ito

@Tsuyoshi: Я думаю, ви праві, що цей алгоритм не є оптимальним, якщо відомі тести на множення / первинність важчі, ніж факторинг. Однак якщо ви читаєте цитату Блума вище, він говорить лише про те, що алгоритм Левіна є многочленом тоді і лише тоді, коли є оптимальним, що спричиняє цю проблему. Ще дві речі: (1) як ти міг уникнути використання відомого тесту на первинність у цьому алгоритмі? (2) Я думаю, що цей алгоритм не сформульований досить правильно, оскільки час роботи не розподілено належним чином серед різних програм; див правильну формулювання відповіді Аль-Туркистані.
Пітер Шор

@Peter: Ну, цитата Блума говорить: "Він [Левін] дав ФАКТОРИНГ-алгоритм, що є оптимальним, аж до мультиплікативної константи". Але враховуючи, що ми навіть не знаємо, чи займає факторинг більше, ніж лінійний час, чи ні, у твердження важко повірити, як є.
Цуйосі Іто

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