0
$\begingroup$

Consider the algorithm below which calculates a V cut

  • Initialize $V_1 = V$ et $V_2 = \emptyset$
  • Attempt to improve the value of the cut in any of the following ways

    Check if there is a $v \in V_1$ such as $c(V_1-\{v\}, V_2 \cup \{v\}) > c(V_1,V_2)$

    If yes continue with $V_1 = V_1 -\{v\}$ et $V_2 = V_2 \cup \{v\}$.

    Check if there is a $v \in V_2$ such as $c(V_1 \cup \{v\}, V_2 - \{v\}) > c(V_1,V_2)$ If yes continue with $V_1 = V_1 \cup \{v\}$ et $V_2 = V_2 - \{v\}$.

  • When improvement is no longer possible, return the cut $V_1, V_2$

1 . How can I prove that the algorithm is executed in polynomial time by displaying done at most $|E|$ iterations.

Let $(V_1,V_2)$ be a cut. For a $v \in V_1$ we call $\alpha(v)$ the neighbors of $v$ which are in $V_1$ and $\beta(v)$ the neighbors of $v$ which are in $V_2$.If $v \in V_2$, we set $\alpha(v)$ and $\beta(v)$ the neighbors of $v$ which are in $V_2$ and $V_1$ respectively.

  1. How to prove that if the algorithm can no longer advance then for everything $v \in V$ we have $|\alpha(v)| \leq |\beta(v)|$
$\endgroup$

1 Answer 1

1
$\begingroup$

1) is easy. As you say the algorithm can perform at most $O(|E|)$ iterations. Initially $c(V_1, V_2)=0$. Each iteration, except the last, increases $c(V_1, V_2)$ by at least $1$. The claim follows since $c(V_1, V_2) \le |E|$.

2) Suppose that, for some $v \in V_1$, $|\alpha(v)| > |\beta(v)|$ Then moving $v$ from $V_1$ to $V_2$ increases the value of $c(V_1, V_2)$ by $|\alpha(v)|$ and decreases it by $|\beta(v)|$, therefore $c(V_1 \setminus \{v\}, V_2 \cup \{v \}) = c(V_1, V_2) + |\alpha(v)| - |\beta(v)| > c(V_1, V_2)$. This shows that the algorithm could not have terminated. The case $v \in V_2$ is symmetric.

$\endgroup$
3
  • $\begingroup$ Thank you for your response Steven, demonstrating that $c(V_1,V_2) = (\sum_{v \in V} \beta(v))/2$, it's possible to have an approximation ratio of 2 ? $\endgroup$ Commented Apr 24, 2020 at 19:28
  • 1
    $\begingroup$ Isn't it always the case that $c(V_1,V_2)=\frac{1}{2}\sum_{v \in V} |\beta(v)|$? Each edge $(u,v)$ across the cut $(V_1,V_2)$ contributes $1$ to $c(V_1,V_2)$, and $2$ to $\sum_{v\in V}|\beta(V)| $ (i.e., $1$ in $|\beta(u)|$ and $1$ in $|\beta(v)|$). The fact that the algorithm is a $2$ approximation follows from $|E|=\frac{1}{2}\sum_{v \in V}|\beta(v)|+\frac12\sum_{v\in V}|\alpha(v)|\le\frac12\sum_{v \in V} |\beta(v)|+\frac12\sum_{v\in V}|\beta(v)|=\sum_{v \in V}|\beta(v)| =2c(V_1, v_2)$. Therefore $c(V_1,V_2)\ge\frac{|E|}{2}\ge\frac{c(V_1^*,V_2^*)}{2}$, where $(V_1^*,V_2^*)$ is a max cut. $\endgroup$
    – Steven
    Commented Apr 24, 2020 at 19:37
  • $\begingroup$ Thank you very much, now it's clear to me, can I ask you a few things, I have to finish my reading on the approximation this week, just to go faster I also asked a question here math.stackexchange.com/questions/3641138/… but I have not yet returned , if you can still help me, Thank you $\endgroup$ Commented Apr 24, 2020 at 20:34

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.