在线算法
由于掌握的信息是不完全的,即使算法不是多项式时间的,也几乎不可能总给出实例的最优解.我们把这样的问题称为在线问题(online problem),对应地,信息事先完全已知的问题称为离线问题(offline problem).
很多问题可以同时定义其在线形式和离线形式.
由于在线问题具有这样的特点,求解在线问题的算法也只能利用也有的信息,而不能利用未知的信息,这样的算法称为在线算法(online algorithm).
下界
下界是在线算的固有属性,与它的某个具体算法无关,在线问题存在下界的主要原因是实例信息的不完全性.
一般地,若某在线问题的任何在线算法竞争比至少为ρ,则称该问题的(竞争比)下界为ρ.
存在(或已找到)非平凡下界的离线问题只有一部分,而在线问题的下界是普遍存在的.
若证明了某在线问题的下界为ρ,同时又得到了竞争比也为ρ的算法,此时称该算法为问题的最好算法.这里所说的“最好”是在竞争比意义上的,并不表明该算法的所有性能都是不可改进的.
研究一在线问题的最终目标是找到最好的算法,但要实现这一目标单靠设计算法是不够的,同时还需证明问题的下界.问题的下界越大,离最好算法的竞争比也越靠近.
在线算法研究
- 一方面不断改进算法使其竞争比越来越小
- 一方面不断改进问题下界使其越来越大
- 上述过程持续进行,直到找到最好算法
新课题
- 资源增广(resource augmentation)
- 随机算法(randomized algorithm)
- 半在线(semi-online)