Уменьшение решетки
В математике цель сокращения базиса решетки состоит в том, чтобы найти базис с короткими, почти ортогональными задан целочисленный базис решетки векторами, если на входе . Это реализуется с помощью различных алгоритмов, время работы которых обычно не менее экспоненциально по размерности решетки.
Почти ортогонально
[ редактировать ]Одной из мер почти ортогональности является дефект ортогональности . При этом произведение длин базисных векторов сравнивается с объемом определяемого ими параллелепипеда . Для совершенно ортогональных базисных векторов эти величины будут одинаковыми.
Любое конкретное основание векторы могут быть представлены матрицей , столбцы которого являются базисными векторами . В полномерном случае, когда число базисных векторов равно размерности занимаемого ими пространства, эта матрица является квадратной, а объем фундаментального параллелепипеда представляет собой просто абсолютное значение определителя этой матрицы. . Если количество векторов меньше размерности основного пространства, то объем равен . Для данной решетки , этот объем одинаков (с точностью до знака) для любого базиса и поэтому называется определителем решетки или постоянная решетки .
Дефект ортогональности представляет собой произведение длин базисных векторов, деленное на объем параллелепипеда;
Из геометрического определения можно понять, что с равенством тогда и только тогда, когда базис ортогонален.
Если задача редукции решетки определяется как поиск базиса с наименьшим возможным дефектом, то задача является NP-трудной. [ нужна ссылка ] . Однако существуют алгоритмы с полиномиальным временем для поиска базиса с дефектом. где c — некоторая константа, зависящая только от количества базисных векторов и размерности основного пространства (если оно отличается) [ нужна ссылка ] . Это достаточно хорошее решение для многих практических приложений. [ нужна ссылка ] .
В двух измерениях
[ редактировать ]Для базиса, состоящего всего из двух векторов, существует простой и эффективный метод приведения, очень аналогичный алгоритму Евклида для определения наибольшего общего делителя двух целых чисел. Как и алгоритм Евклида, метод является итеративным; на каждом шаге больший из двух векторов уменьшается путем добавления или вычитания целого числа, кратного меньшему вектору.
Псевдокод алгоритма, часто известный как алгоритм Лагранжа или алгоритм Лагранжа-Гаусса, выглядит следующим образом:
Input: a basis for the lattice . Assume that , otherwise swap them. Output: A basis with .
While : # Round to nearest integer
См. раздел об алгоритме Лагранжа в [ 1 ] для получения более подробной информации.
Приложения
[ редактировать ]Алгоритмы сокращения решетки используются в ряде современных теоретико-числовых приложений, в том числе при открытии втулочного алгоритма для . Хотя определение кратчайшего базиса, возможно, является NP-полной задачей, такие алгоритмы, как алгоритм LLL, [ 2 ] может найти короткий (не обязательно самый короткий) базис за полиномиальное время с гарантированной производительностью в худшем случае. LLL широко используется в криптоанализе криптосистем с открытым ключом .
При использовании для поиска целочисленных отношений типичные входные данные алгоритма состоят из расширенного единичная матрица с записями в последнем столбце, состоящими из элементы (умноженные на большую положительную константу наказывать векторы, сумма которых не равна нулю), между которыми ищется связь.
Алгоритм LLL для вычисления почти ортогонального базиса был использован, чтобы показать, что целочисленное программирование в любом фиксированном измерении может выполняться за полиномиальное время . [ 3 ]
Алгоритмы
[ редактировать ]Следующие алгоритмы уменьшают базисы решетки; также перечислены несколько общедоступных реализаций этих алгоритмов.
Год | Алгоритм | Выполнение |
---|---|---|
1773 | Редукция Лагранжа/Гаусса для двумерных решеток | |
1982 | Ленстры – Ленстры – Ловаса Редукция | НТЛ , фпллл |
1987 | Block Korkine–Zolotarev [ 4 ] | НТЛ , фпллл |
1993 | Сейсен Редукция [ 5 ] |
Ссылки
[ редактировать ]- ^ Нгуен, Фонг К. (2009). «Постоянная Эрмита и решетчатые алгоритмы». Алгоритм LLL . Информационная безопасность и криптография. Берлин, Гейдельберг: Springer Berlin Heidelberg. стр. 19–69. дои : 10.1007/978-3-642-02295-1_2 . ISBN 978-3-642-02294-4 . ISSN 1619-7100 .
- ^ Ленстра, АК ; Ленстра, Х.В. младший ; Ловас, Л. (1982). «Факторизация полиномов с рациональными коэффициентами». Математические Аннален . 261 (4): 515–534. CiteSeerX 10.1.1.310.318 . дои : 10.1007/BF01457454 . HDL : 1887/3810 . МР 0682664 . S2CID 5701340 .
- ^ Ленстра-младший, HW (1983). «Целочисленное программирование с фиксированным числом переменных». Математика исследования операций . 8 (4): 538–548. CiteSeerX 10.1.1.431.5444 . дои : 10.1287/moor.8.4.538 .
- ^ Ханрот, Уильям; Стеле, Дэмиен (2008). «Наихудший случай приведенных оснований решетки Эрмита-Коркина-Золотарева». arXiv : 0801.3331 [ math.NT ].
- ^ Сейсен, Мартин (сентябрь 1993 г.). «Одновременная редукция решеточного базиса и его взаимного базиса». Комбинаторика . 13 (3): 363–376. дои : 10.1007/BF01202355 . S2CID 206791637 .