Low-Dimensional Linear Program
- 问题形式
- 几何上的理解
- 相关方法对比
- the simplex algorithm
- 能得到精确解,但最坏复杂度是指数时间的
- GLPK用的是simplex方法解LP
- IPM
- Seidel’s Algorithm
- 在低维、高约束量的前提下,具备线性时间复杂度,精确解的优势
- Seidel’s Algorithm流程
- random order可以通过Fisher-Yates方法生成
- 高斯消元本质是将降维成。
- 高斯消元的时候,每次选择系数的绝对值最大的元去消,可以保证算法的数值稳定性。从几何上理解,对于平面来说,如果的系数的绝对值最大,说明平面和z轴最垂直(和xy平面最平行),将z消去后,信息损失很少。
- Seidel’s Algorithm应用
- Linear Separability(点集碰撞检测)
- 本质上是找一个超平面,使得绿色点集中的所有点在超平面的一侧,红色点集中的所有点在超平面另一侧
- Chebyshev Center(切比雪夫中心)
- 本质上是找一组超平面的最大内切圆,圆心即距离所有边都最远的点
- 假设这组超平面为,其中,,假设,那这里的就是第个超平面的单位法向量
- 由于球在超平面内部,所以球上的每个点都满足;为了让点距离每个超平面都最远,我们引入一个margin,我们在保证的同时,让尽可能大
- 写成向量形式就是,其中,
- 利用切比雪夫中心进行凸包碰撞检测
- 已知一个凸包为,另一个凸包为,联立组成新的凸包,并求新凸包的切比雪夫中心,如果有解,则说明两个原凸包有交集