L-обозначение
L - нотация — это асимптотическая нотация, аналогичная нотации big-O , обозначаемая как для связанной переменной стремящийся к бесконечности . Как и обозначение big-O, оно обычно используется для грубого обозначения скорости роста функции , например вычислительной сложности конкретного алгоритма .
Определение [ править ]
Это определяется как
где c — положительная константа, а является константой .
L-нотация используется главным образом в вычислительной теории чисел , чтобы выразить сложность алгоритмов для сложных теории чисел задач , например, сита для целочисленной факторизации и методов решения дискретных логарифмов . Преимущество этой записи в том, что она упрощает анализ этих алгоритмов. выражает доминирующий термин, а заботится обо всем меньшем.
Когда равно 0, тогда
– полилогарифмическая функция ( полиномиальная функция от ln n );
Когда тогда 1
является полностью экспоненциальной функцией от ln n (и, следовательно, полиномиальной по n ).
Если находится между 0 и 1, функция субэкспоненциальна от ln n (и суперполиномиальна ).
Примеры [ править ]
общего назначения Многие алгоритмы факторизации целых чисел имеют субэкспоненциальную временную сложность . Лучшим является сито общего числового поля , ожидаемое время работы которого составляет
для . Лучшим таким алгоритмом до сита числового поля было квадратичное сито , время работы которого
Для эллиптической кривой задачи дискретного логарифмирования самым быстрым алгоритмом общего назначения является алгоритм гигантского шага детского шага , время работы которого порядка квадратного корня из порядка группы n . В L -нотации это будет
Существование теста на простоту AKS , который выполняется за полиномиальное время , означает, что временная сложность теста на простоту , как известно, не превышает
где c, как доказано, не превосходит 6. [1]
История [ править ]
L-нотация определялась в различных формах в литературе. Впервые его использовал Карл Померанс в своей статье «Анализ и сравнение некоторых алгоритмов факторизации целых чисел». [2] Эта форма имела только параметр: в формуле было для алгоритмов, которые он анализировал. Померанс использовал букву (или нижний регистр ) в этой и предыдущих статьях для формул, содержащих много логарифмов.
Приведенная выше формула с двумя параметрами была представлена Арьеном Ленстрой и Хендриком Ленстрой в их статье «Алгоритмы в теории чисел». [3] Он был введен при анализе дискретного логарифмирования алгоритма Копперсмита . Это наиболее часто используемая форма в современной литературе.
«Справочник по прикладной криптографии» определяет L-нотацию с большой буквы. вокруг формулы, представленной в этой статье. [4] Это не стандартное определение. Большой можно предположить, что время работы является верхней границей. Однако для алгоритмов целочисленного факторинга и дискретного логарифма, для которых обычно используется L-нотация, время выполнения не является верхней границей, поэтому это определение не является предпочтительным.
Ссылки [ править ]
- ^ Хендрик В. Ленстра-младший и Карл Померанс, «Тестирование простоты с гауссовыми периодами», препринт, 2011, http://www.math.dartmouth.edu/~carlp/aks041411.pdf .
- ^ Карл Померанс, «Анализ и сравнение некоторых алгоритмов факторизации целых чисел», в «Вычислительных методах Mathematich Centrum в теории чисел», часть 1, стр. 89–139, 1982, http://www.math.dartmouth.edu/~carlp/ PDF/анализсравнение.pdf
- ^ Арьен К. Ленстра и Хендрик В. Ленстра-младший, «Алгоритмы в теории чисел», в Справочнике по теоретической информатике (том A): Алгоритмы и сложность, 1991.
- ^ Альфред Дж. Менезес, Пол К. ван Оршот и Скотт А. Ванстон. Справочник по прикладной криптографии. ЦРК Пресс, 1996. ISBN 0-8493-8523-7 . http://www.cacr.math.uwaterloo.ca/hac/ .