Sketch of proof that the "earliest finish time" (EFT) algorithm
works: Let i1, i2, ... , ik be the
intervals chosen by the (EFT) algorithm and let j1,
j2, ... , jm be an optimal solution. Note
that this implies that k<=m. Assume both lists are ordered by
increasing finish time. Clearly i1 has a finish time no
later than j1 - that's how i1 is chosen.
--- i1 --- --- i2 --- ... --- ir-1 --- --- ir --- ... -- ik ---
---- j1 --- --- j2 --- ... --- jr-1 --- --- jr --- ... ---jk --- ...
Suppose that you know that the first r-1 of the it
finish, respectively, no later than the first r-1 of the
jt. Suppose there is an ir and a
jr. Since ir-1 finishes no later than
jr-1, and jr is compatible with
jr-1; jr is compatible with ir-1
too. Therefore, jr is among the candidates considered
when the EFT algorithm chooses ir. This shows that
ir must have a finish time no later than jr.
The foregoing considerations amount to an induction argument that
each it has a finish time no later than the corresponding
jt for t = 1, 2, ..., k. The EFT algorithm stopped after
choosing ik. Therefore there are no intervals that start
after ik finishes ... and so, no intervals that start
after jk finishes. Therefore k = m. This shows that the
solution chosen by the EFT algorithm is optimal.