0

in optimization version of partitioning problem we want to partition set X to disjoint subset A and B such that max(sum(A),sum(B)) be minimal.A approximation algorithm has been suggested in wikipedia, but I can't understand why this approximation is 4/3.

Lrrr
  • 4,755
  • 5
  • 41
  • 63
user3070752
  • 694
  • 4
  • 23

1 Answers1

2
OPT >= sum(all)/2

consider that the greedy algorithm give you some answer like S1 and S2 where:

max(sum(S1), sum(S2)) > 4/3 OPT

(without losing generality assume sum(S1) > sum(S2)) so we have :

sum(S1) > 4/3 OPT >= 2 sum(all)/3

so :

sum(S1) > 4/3 OPT >= 2 sum(all)/3 so sum(S1) > 2 sum(all)/3

so :

sum(S1) > 2 sum(S2)

So in one of the steps of algorithm when sum(S1) was smaller than sum(S2) you must add an element like A to S1 and after that you didnt add any element to S1

So A must be bigger than final state of sum(S2) (because A + sum(S1) > 2 sum(S2))

so A is bigger than current state sum(S1) (because current state of sum(S1) < current state of sum(S2) < final state of sum(S1) < A )

And your list is sorted in descending order, so A must be the first element in the sorted list(biggest element). so your s1 must just contain A and you have.

also you know that the sum(OPT) >= A because either it contains A or the other part contains A but sum(OPT) is bigger that sum of other parts element so

sum(OPT) > A

but you have :

A = sum(S1) > 4/3 sum(OPT) > sum(OPT) > A

and it is a contradiction :)

Lrrr
  • 4,755
  • 5
  • 41
  • 63
  • thanks for your answer...I think at the end we as I understand the OPT is A so we have A=sum(S_1) > 4/3OPT = 4/3A because in the optimal solution A must be in one partition and all other elements at the other partition.Again thanks to your answer @Ali – user3070752 Jan 03 '15 at 10:27
  • at the end opt is something bigger than A and also something smaller than A and it is a contradiction ;) your welcome :) – Lrrr Jan 03 '15 at 10:29
  • why it is bigger than A ? I think sum(OPT) > A must be sum(OPT) = A and in this case the contradiction also remain. – user3070752 Jan 03 '15 at 10:33
  • no my bad it is not bigger, it is equal or bigger than A, I mean : sum(OPT) >= A – Lrrr Jan 03 '15 at 10:35