L-обозначение - L-notation

L-обозначение является асимптотический обозначение, аналогичное нотация big-O, обозначенный как для связанная переменная стремящийся к бесконечности. Как и обозначение большого O, оно обычно используется для грубой передачи вычислительная сложность конкретного алгоритм.

Определение

Он определяется как

где c - положительная постоянная, а это постоянная .

L-нотация используется в основном в вычислительная теория чисел, чтобы выразить сложность алгоритмов для сложных теория чисел проблемы, например сита для целочисленная факторизация и методы решения дискретные логарифмы. Преимущество этой записи в том, что она упрощает анализ этих алгоритмов. В выражает доминирующий термин, а заботится обо всем меньшем.

Когда равно 0, то

это полиномиальная функция из lnп;

Когда равно 1, тогда

полностью экспоненциальная функция из lnп (и тем самым полином от п).

Если находится между 0 и 1, функция субэкспоненциальный из lnпсуперполином ).

Примеры

Многие универсальные целочисленная факторизация алгоритмы субэкспоненциальные временные сложности. Лучшее - это общее числовое поле сито, который имеет ожидаемое время работы

для . Лучшим таким алгоритмом до сита числовых полей был алгоритм квадратное сито у которого есть время работы

Для эллиптическая кривая дискретный логарифм проблема, самый быстрый алгоритм общего назначения - бэби-шаг гигантский шаг алгоритм, время работы которого порядка квадратного корня из группового порядка п. В L-обозначение это будет

Существование Тест на простоту AKS, который работает в полиномиальное время, означает, что временная сложность для проверка на простоту как известно, самое большее

где c оказалось не более 6.[1]

История

L-нотация была определена в различных формах в литературе. Первое его использование пришло из Карл Померанс в своей статье «Анализ и сравнение некоторых алгоритмов целочисленного факторинга».[2] Эта форма имела только параметр: в формуле было для алгоритмов, которые он анализировал. Померанс использовал письмо (или нижний регистр ) в этой и предыдущих статьях для формул, содержащих много логарифмов.

Вышеупомянутая формула с двумя параметрами была введена Арьен Ленстра и Хендрик Ленстра в своей статье «Алгоритмы в теории чисел».[3] Это было введено в их анализ дискретный логарифм алгоритм Медник. Это наиболее часто используемая форма в современной литературе.

Справочник по прикладной криптографии определяет L-нотацию с большим вокруг формулы, представленной в этой статье.[4] Это не стандартное определение. Большой предполагает, что время работы является верхней границей. Однако для алгоритмов целочисленного разложения и дискретного логарифмирования, для которых обычно используется L-нотация, время выполнения не является верхней границей, поэтому это определение не является предпочтительным.

использованная литература

  1. ^ Хендрик В. Ленстра-младший и Карл Померанс, "Проверка примитивности с гауссовскими периодами", препринт, 2011 г., http://www.math.dartmouth.edu/~carlp/aks041411.pdf.
  2. ^ Карл Померанс, "Анализ и сравнение некоторых алгоритмов целочисленного факторизации", In Mathematisch Centrum Computational Methods in Number Theory, Part 1, pp. 89-139, 1982, http://www.math.dartmouth.edu/~carlp/PDF/analysiscomparison.pdf
  3. ^ Арьен К. Ленстра и Хендрик В. Ленстра-младший, «Алгоритмы в теории чисел», в Справочнике по теоретической информатике (том A): алгоритмы и сложность, 1991.
  4. ^ Альфред Дж. Менезес, Пол К. ван Оршот и Скотт А. Ванстон. Справочник по прикладной криптографии. CRC Press, 1996. ISBN  0-8493-8523-7. http://www.cacr.math.uwaterloo.ca/hac/.