The answer is amazing, Yes! If we do like this, we can achieve a solution that infected the network at least constant times of the optimal solution.
In the following, we list the main steps in the proof. We denote F(A) the number of vertex connected. Then a key formula is
F(A \union B) + F(A \intersection B) <= F(A) + F(B)
Then, in the stream of greedy algorithm C_i, the increment is not so bad. That is
F(C_{i+1}) - F(C_i) >= 1\k * (F(C) - F(C_i))
If we change a little this formula, we will get
F(C) - F(C_i) <= (1 - 1\k)^k * (F(C) - F(0))
So the greedy algorithm attends at least 1 - 1/e = 0.632 times the optimal solution, a result good enough in certain situation.
OK, greedy algorithm is not always the best but not bad.
没有评论:
发表评论