I'm thinking about an approximation algorithm for Max k-Cut. One simple and more involved approximation algorithms can be found here. The Max k-Cut problem is defined as follows.

Input is a graph G = (V, E) and an integer k, n = |V|, the question asks for partitioning G into k disjoint sets such that the total number of edges between disjoint parts is maximized.

My algorithm is a greedy strategy and works as follow (maybe someone else already had a similar idea but I'm not aware of):

Start with each vertex in a group by itself, and at each step, combine the two groups that have a minimum number of edges between them. Repeat this until the number of groups shrinks to $k$.

Is there a known approximation guarantee for this algorithm?

  • $\begingroup$ @Saeed: I'm not sure if I understand your question correctly, due to the grammar issue. (Unfortunately I'm not a native speaker either, so maybe we need some help from the English folks.) $\endgroup$ Commented Jan 31, 2011 at 15:08
  • $\begingroup$ @Hsien-Chih Chang 張顯之, do you know a good graph designer (on web) to explain my algorithm with images? my problem is I have an approximation algorithm but I can't find approximation factor for it. $\endgroup$
    – Saeed
    Commented Jan 31, 2011 at 15:17
  • $\begingroup$ @Saeed: Yes, I understand this part. The part I don't understand is the following sentence in your original version: "... or do you have any idea to how to come up with this problem (I'm talking about the algorithm I said not better algorithms which are available), I want to see is there tight approximation factor for this algorithm or not." Would you like to explain it? $\endgroup$ Commented Jan 31, 2011 at 15:42
  • $\begingroup$ @Saeed: Ah, now I get it. I'll try to modify the wording again. $\endgroup$ Commented Jan 31, 2011 at 15:54
  • $\begingroup$ @Saeed: Is the current version consistent to the ideas in your mind? $\endgroup$ Commented Jan 31, 2011 at 16:09

1 Answer 1


This is called the edge-contraction heuristic, in which an upper bound $(k-1)/(k+1)$ on the approximation ratio can be shown. See section 3 of the work by Kahruman et al. for reference.

Imagine whenever we combine two nodes u, v into a group, instead of forming a group we contract the edge (u, v) between these two nodes, and updates the weight of all the edges incident to the newly formed node. Repeat the procedure until there are only k nodes left. Lemma 3.1 in the above paper shows that the sum of weights of the first $i$ edges being contracted (denoted as $W_i$) satisfies the following inequality:

$$W_i \leq \frac{2iW}{(n-1)(n-i-1)} \text{,}$$

where $W$ is the sum of weights of all edges. This can be derived from $$W_{i+1} \leq W_i + \frac{W-W_i}{({n-i\atop 2})} \text{,}$$ since we always contract the lightest pair, the weight of the contracted edge cannot surpass the average weight.

One can see that the cut formed by this algorithm has weight $W_C = W-W_{n-k}$, and by observing that $W \geq W^*$ where $W^*$ is the weight of the optimum cut, we have our desired approximation ratio:

$$W_C \geq W-\frac{2(n-k)W}{(n-1)(k-1)} \geq \frac{k-1}{k+1}W^* \text{.}$$

For k=2, the algorithm gives a 1/3-approximation to the Max cut problem.

  • $\begingroup$ I do not seem to understand the last crucial step. i.e $$1-\frac{2(n-k)}{(n-1)(k-1)} \geq \frac{k-1}{k+1}$$, no terms seem to cancel out, could you please explain? $\endgroup$ Commented Jun 4, 2012 at 1:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.