В математике цель редукции базиса решетки - это целочисленный базис решетки в качестве входных данных, чтобы найти базис с короткими, почти ортогональными векторами. Это реализуется с помощью различных алгоритмов, время работы которых обычно как минимум экспоненциально по размерности решетки.
Почти ортогональный [ править ]
Одной из мер, близких к ортогональности, является дефект ортогональности . Это сравнивает произведение длин базисных векторов с объемом параллелепипеда, который они определяют. Для идеально ортогональных базисных векторов эти величины будут одинаковыми.
Любой конкретный базис векторов может быть представлен матрицей , столбцы которой являются базисными векторами . В полностью размерном случае, когда количество базисных векторов равно размерности занимаемого ими пространства, эта матрица является квадратной, а объем фундаментального параллелепипеда представляет собой просто абсолютное значение определителя этой матрицы . Если количество векторов меньше размера нижележащего пространства, то объем равен . Для данной решетки этот объем одинаков (с точностью до знака) для любого базиса и, следовательно, называется определителем решетки или постоянной решетки .
Дефект ортогональности - это произведение длин базисных векторов на объем параллелепипеда;
Из геометрического определения можно понять, что с равенством тогда и только тогда, когда базис ортогонален.
Если задача редукции решетки определяется как поиск базиса с наименьшим возможным дефектом, то задача NP-трудная . Однако существуют алгоритмы с полиномиальным временем , чтобы найти базис с дефектом, где c - некоторая константа, зависящая только от количества базисных векторов и размерности основного пространства (если оно отличается). Это достаточно хорошее решение для многих практических приложений.
В двух измерениях [ править ]
Для базиса, состоящего всего из двух векторов, существует простой и эффективный метод редукции, очень похожий на алгоритм Евклида для наибольшего общего делителя двух целых чисел. Как и в случае с алгоритмом Евклида, этот метод является итеративным; на каждом шаге больший из двух векторов уменьшается путем добавления или вычитания целого числа, кратного меньшему вектору.
Псевдокод алгоритма, часто известного как алгоритм Лагранжа или алгоритм Лагранжа-Гаусса, выглядит следующим образом:
Вход: основа решетки . Предположим, что в противном случае поменяйте их местами. Выход: Основа с .
Пока :
См. Подробности в разделе об алгоритме Лагранжа в [1] .
Приложения [ править ]
Алгоритмы сокращения решетки используются в ряде современных теоретико-числовых приложений, в том числе при открытии алгоритма втулки для . Хотя определение кратчайшего базиса, возможно, является NP-полной проблемой, такие алгоритмы, как алгоритм LLL [2], могут найти короткий (не обязательно самый короткий) базис за полиномиальное время с гарантированной производительностью в худшем случае. LLL широко используется в криптоанализе из открытых ключей криптосистемы.
При использовании для поиска целочисленных отношений типичный вход в алгоритм состоит из расширенной единичной матрицы x с записями в последнем столбце, состоящими из элементов (умноженных на большую положительную константу, чтобы штрафовать векторы, сумма которых не равна нулю) между связь ищется.
Алгоритм LLL для вычисления почти-ортогональный базис был использован , чтобы показать , что целочисленное программирование в любой фиксированной размерности может быть сделано в полиномиальное время . [3]
Алгоритмы [ править ]
Следующие алгоритмы сокращают базисы решетки; Также перечислены несколько общедоступных реализаций этих алгоритмов.
Год | Алгоритм | Выполнение |
---|---|---|
1773 | Редукция Лагранжа / Гаусса для двумерных решеток | |
1982 г. | Редукция Ленстры – Ленстры – Ловаса | NTL , fplll (ссылка на GitHub) |
1987 г. | Блок Коркина Золотарева [4] | NTL , fplll (ссылка на GitHub) |
1993 г. | Редукция Сейсена [5] |
Ссылки [ править ]
- ^ Нгуен Фонг Q. (2009). "Постоянные и решеточные алгоритмы Эрмита". Алгоритм LLL . Информационная безопасность и криптография. Берлин, Гейдельберг: Springer Berlin Heidelberg. С. 19–69. DOI : 10.1007 / 978-3-642-02295-1_2 . ISBN 978-3-642-02294-4. ISSN 1619-7100 .
- ^ Ленстра, AK ; Ленстра, HW младший ; Ловас, Л. (1982). «Факторинг многочленов с рациональными коэффициентами». Mathematische Annalen . 261 (4): 515–534. CiteSeerX 10.1.1.310.318 . DOI : 10.1007 / BF01457454 . hdl : 1887/3810 . Руководство по ремонту 0682664 . S2CID 5701340 .
- Перейти ↑ Lenstra, HW (1983). «Целочисленное программирование с фиксированным числом переменных». Математика. Опер. Res . 8 (4): 538–548. CiteSeerX 10.1.1.431.5444 . DOI : 10.1287 / moor.8.4.538 .
- ^ Ханро, Гийом; Стеле, Дэмиен (2008). "Наихудшие основания редуцированной решетки Эрмита-Коркина-Золотарева". arXiv : 0801.3331 [ math.NT ].
- ^ Seysen, Martin (сентябрь 1993). «Одновременное сокращение основы решетки и ее обратной основы». Combinatorica . 13 (3): 363–376. DOI : 10.1007 / BF01202355 . S2CID 206791637 .