Input. Set of n sites s1, …, sn and integer k > 0.
【输入:n个地址:s1.....sn 和正整数k(k为需要选出多少个中心)。】
Center selectionproblem. Select k centers C so that maximum distance from a site to nearest center is minimized.
【中心选址问题:选择k个中心,让离中心最远的地址s距离最小】
Notation.
Goal. Find set of centers C that minimizes r(C), subject to |C| = k.
【目标:找到一个中心C是的r(C)最小。约束条件:中心的数量等于k】
Distance function properties.
Ex: each site is a point in the plane, a center can be any point in the plane, dist(x,y) = Euclidean distance.
【例子:对于每个在平面上的点,寻找几个中心,每个中心可以在平面上的任何一个地方,采用欧式距离。】
Remark: search can be infinite!
【注意:查找时间有可能是无限的!】
Greedy Algorithm: A False Start
Greedy algorithm. Put the first center at the best possible location for a single center, and then keep adding centers so as to reduce the covering radius each time by as much as possible.
【贪心算法:选择所有地址的中心放置一个点,然后在剩下的点在各取中心,这样得到的解有可能很糟糕。】
Greedy algorithm. Repeatedly choose the next center to be the site farthest from any existing center.
【贪心算法:(中心C在地址里头选取)开始时我们任意的选取一个地址作为中心,接着选择离第一个中心最远的那个地址作为第二个中心,如此的重复进行。】
输入:选址数k,地址数n,地址数组s[n]
初始化:C为空集
重复K次:选择离中心集合C最远的地址作为中心,把它加入到C集合中。
Center Selection: Analysis of Greedy Algorithm
【分析基于贪心算法的中心选址问题】
Theorem. Let C* be an optimal set of centers. Then r(C) <= 2 r(C*).
【定理:贪心解是二倍最优解】
Pf. (by contradiction) Assume r(C*) < ½ r(C).
【证明:反证法,假设 r(C*) < ½ r(C)】
【对于每个近似解ci,想象它有一个半径为1/2r(C)的圆。】
【每一个ci的那个圆中,总有一个最优解ci*(根据反证法假设,仔细想象,因为最优解ci*肯定要包含一个地址,现在这个地址ci有一个半径比最优解ci*半径还大的一个圆,所以说,最优解ci*一定会被包含在ci的那个圆中)。让ci和ci*组成一个配对。】
【对于任意一个离最优解ci*最近的一个s】
【根据三角不等式得出结论】
(其实意思很简单,主要是利用三角不等式)
(注意到右下角的那个圆和三角形s,ci,ci*)
(我们假设某一个s,它肯定会靠近一个最优解ci*。这个ci*肯定会和一个近似解ci配对)
(由于dist(s,ci*)和dist(ci,ci*)肯定小于最优解r(C*),所以根据三角不等式,dist(s,ci)也就是近似解,一定会小于2r(C*))