LLL算法的起源与发展
1. 从瘦三角形问题到整数线性规划算法
1.1 瘦三角形问题的提出
1980年5月,Peter van Emde Boas在罗马访问时,与Alberto Marchetti - Spaccamela讨论了一个问题:给定平面上具有有理坐标的三个点,是否能在多项式时间内判定由这些点定义的三角形内是否存在具有整数系数的点。对于大三角形,答案通常是“是”;对于小三角形,只需检查附近少量的整数点。然而,对于极长且极薄的三角形,这种方法并不适用。
1.2 问题的解决与格规约
将瘦三角形转换为“更圆”的三角形时,格也会发生变化,他们不知如何处理这些倾斜的格。回到阿姆斯特丹后,Van Emde Boas向Hendrik Lenstra请教。Lenstra指出,这个问题可以用高斯大约两百年前发展的格规约方法解决。具体步骤如下:
1. 应用线性变换,将三角形转换为直角等腰三角形,同时将整数格转换为具有两个有理向量给定基的格。
2. 为新格找到一个约化基$(b_1, b_2)$,其中$b_1$是格中最短的非零向量,$b_2$是格中与$b_1$线性无关的最短向量,并计算$b_2^ = b_2 - \frac{\langle b_1, b_2\rangle}{\langle b_1, b_1\rangle}b_1$。
3. 如果三角形与$|b_2^ |$相比足够大,则三角形内存在格点;否则,检查与$b_1$平行(连续距离为$|b_2^*|$)的直线是否包含三角形内的点。
1.3 整数线性规划算法的诞生
1980年10月,Marchetti - Spaccame
LLL算法的起源与演进
超级会员免费看
订阅专栏 解锁全文
173

被折叠的 条评论
为什么被折叠?



