Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Редукция решетки в двух измерениях: черные векторы являются заданным базисом решетки (представлены синими точками), красные векторы являются редуцированным базисом.

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

Почти ортогональный [ править ]

Одной из мер, близких к ортогональности, является дефект ортогональности . Это сравнивает произведение длин базисных векторов с объемом параллелепипеда, который они определяют. Для идеально ортогональных базисных векторов эти величины будут одинаковыми.

Любой конкретный базис векторов может быть представлен матрицей , столбцы которой являются базисными векторами . В полностью размерном случае, когда количество базисных векторов равно размерности занимаемого ими пространства, эта матрица является квадратной, а объем фундаментального параллелепипеда представляет собой просто абсолютное значение определителя этой матрицы . Если количество векторов меньше размера нижележащего пространства, то объем равен . Для данной решетки этот объем одинаков (с точностью до знака) для любого базиса и, следовательно, называется определителем решетки или постоянной решетки .

Дефект ортогональности - это произведение длин базисных векторов на объем параллелепипеда;

Из геометрического определения можно понять, что с равенством тогда и только тогда, когда базис ортогонален.

Если задача редукции решетки определяется как поиск базиса с наименьшим возможным дефектом, то задача NP-трудная . Однако существуют алгоритмы с полиномиальным временем , чтобы найти базис с дефектом, где c - некоторая константа, зависящая только от количества базисных векторов и размерности основного пространства (если оно отличается). Это достаточно хорошее решение для многих практических приложений.

В двух измерениях [ править ]

Для базиса, состоящего всего из двух векторов, существует простой и эффективный метод редукции, очень похожий на алгоритм Евклида для наибольшего общего делителя двух целых чисел. Как и в случае с алгоритмом Евклида, этот метод является итеративным; на каждом шаге больший из двух векторов уменьшается путем добавления или вычитания целого числа, кратного меньшему вектору.

Псевдокод алгоритма, часто известного как алгоритм Лагранжа или алгоритм Лагранжа-Гаусса, выглядит следующим образом:

 Вход: основа решетки . Предположим, что в противном случае поменяйте их местами. Выход: Основа с .
 Пока :    


См. Подробности в разделе об алгоритме Лагранжа в [1] .

Приложения [ править ]

Алгоритмы сокращения решетки используются в ряде современных теоретико-числовых приложений, в том числе при открытии алгоритма втулки для . Хотя определение кратчайшего базиса, возможно, является NP-полной проблемой, такие алгоритмы, как алгоритм LLL [2], могут найти короткий (не обязательно самый короткий) базис за полиномиальное время с гарантированной производительностью в худшем случае. LLL широко используется в криптоанализе из открытых ключей криптосистемы.

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

Алгоритм LLL для вычисления почти-ортогональный базис был использован , чтобы показать , что целочисленное программирование в любой фиксированной размерности может быть сделано в полиномиальное время . [3]

Алгоритмы [ править ]

Следующие алгоритмы сокращают базисы решетки; Также перечислены несколько общедоступных реализаций этих алгоритмов.

Ссылки [ править ]

  1. ^ Нгуен Фонг 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 .
  2. ^ Ленстра, 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 .   
  3. Перейти ↑ Lenstra, HW (1983). «Целочисленное программирование с фиксированным числом переменных». Математика. Опер. Res . 8 (4): 538–548. CiteSeerX 10.1.1.431.5444 . DOI : 10.1287 / moor.8.4.538 . 
  4. ^ Ханро, Гийом; Стеле, Дэмиен (2008). "Наихудшие основания редуцированной решетки Эрмита-Коркина-Золотарева". arXiv : 0801.3331 [ math.NT ].
  5. ^ Seysen, Martin (сентябрь 1993). «Одновременное сокращение основы решетки и ее обратной основы». Combinatorica . 13 (3): 363–376. DOI : 10.1007 / BF01202355 . S2CID 206791637 .