The Clique vs. Independent Set ProblemReducing Clique to Independent Setclique, independent set, and minimum vertex coverEquivalence of independent set and set packingWhy is determining the size of a maximum independent set or a clique in P?Deterministic Communication Complexity of Equality if inputs differ by at most 1Maximal Independent SetProtocols for “almost equality” with one-sided errorAlgorithm for Minimum Weight Maximal Independent SetLower Bounds for the Set Disjointness ProblemTracing a polynomial algorithm for the problem of maximum-weight independent set
Retract an already submitted recommendation letter (written for an undergrad student)
Difference between did and does
What is the optimal strategy for the Dictionary Game?
How much cash can I safely carry into the USA and avoid civil forfeiture?
Philosophical question on logistic regression: why isn't the optimal threshold value trained?
How does Nebula have access to these memories?
Why must Chinese maps be obfuscated?
Did the BCPL programming language support floats?
Mistake in years of experience in resume?
Why did some of my point & shoot film photos come back with one third light white or orange?
Pulling the rope with one hand is as heavy as with two hands?
How to have a sharp product image?
Can SQL Server create collisions in system generated constraint names?
How to fry ground beef so it is well-browned
Multiple options vs single option UI
All ASCII characters with a given bit count
Solving a quadratic equation by completing the square
Is the claim "Employers won't employ people with no 'social media presence'" realistic?
How does Captain America channel this power?
Why do games have consumables?
a sore throat vs a strep throat vs strep throat
What makes accurate emulation of old systems a difficult task?
Usage of 万 (wàn): ten thousands or just a great number?
How come there are so many candidates for the 2020 Democratic party presidential nomination?
The Clique vs. Independent Set Problem
Reducing Clique to Independent Setclique, independent set, and minimum vertex coverEquivalence of independent set and set packingWhy is determining the size of a maximum independent set or a clique in P?Deterministic Communication Complexity of Equality if inputs differ by at most 1Maximal Independent SetProtocols for “almost equality” with one-sided errorAlgorithm for Minimum Weight Maximal Independent SetLower Bounds for the Set Disjointness ProblemTracing a polynomial algorithm for the problem of maximum-weight independent set
$begingroup$
Suppose you have an undirected graph $G = (V, E)$, known to both Alice and Bob, Alice gets an independent set of $G$. Bob gets a Clique $B ⊆ V$.
Is there any algorithm in $O(log^2 n)$ bits that finds whether
$ A ∩ B = Ø $?
This is a well known communication complexity problem called CIS problem that was described by Yannakakis.
Lecture notes; the claim is Theorem 3- Link to Nisan & Kushilevitz's textbook
I'm not sure why and how does this work exactly. and which part of the $n/2$ vertices are reduced by both players.
P.S. I came to a conclusion that an independent and a clique can intersect in at most one vertex.
algorithms graphs communication-complexity
$endgroup$
add a comment |
$begingroup$
Suppose you have an undirected graph $G = (V, E)$, known to both Alice and Bob, Alice gets an independent set of $G$. Bob gets a Clique $B ⊆ V$.
Is there any algorithm in $O(log^2 n)$ bits that finds whether
$ A ∩ B = Ø $?
This is a well known communication complexity problem called CIS problem that was described by Yannakakis.
Lecture notes; the claim is Theorem 3- Link to Nisan & Kushilevitz's textbook
I'm not sure why and how does this work exactly. and which part of the $n/2$ vertices are reduced by both players.
P.S. I came to a conclusion that an independent and a clique can intersect in at most one vertex.
algorithms graphs communication-complexity
$endgroup$
$begingroup$
The lecture notes contain a complete proof.
$endgroup$
– Yuval Filmus
Apr 6 at 13:52
$begingroup$
I did not understand the algorithm completely to understand the proof itself.
$endgroup$
– Jay
Apr 6 at 14:50
add a comment |
$begingroup$
Suppose you have an undirected graph $G = (V, E)$, known to both Alice and Bob, Alice gets an independent set of $G$. Bob gets a Clique $B ⊆ V$.
Is there any algorithm in $O(log^2 n)$ bits that finds whether
$ A ∩ B = Ø $?
This is a well known communication complexity problem called CIS problem that was described by Yannakakis.
Lecture notes; the claim is Theorem 3- Link to Nisan & Kushilevitz's textbook
I'm not sure why and how does this work exactly. and which part of the $n/2$ vertices are reduced by both players.
P.S. I came to a conclusion that an independent and a clique can intersect in at most one vertex.
algorithms graphs communication-complexity
$endgroup$
Suppose you have an undirected graph $G = (V, E)$, known to both Alice and Bob, Alice gets an independent set of $G$. Bob gets a Clique $B ⊆ V$.
Is there any algorithm in $O(log^2 n)$ bits that finds whether
$ A ∩ B = Ø $?
This is a well known communication complexity problem called CIS problem that was described by Yannakakis.
Lecture notes; the claim is Theorem 3- Link to Nisan & Kushilevitz's textbook
I'm not sure why and how does this work exactly. and which part of the $n/2$ vertices are reduced by both players.
P.S. I came to a conclusion that an independent and a clique can intersect in at most one vertex.
algorithms graphs communication-complexity
algorithms graphs communication-complexity
edited Apr 6 at 15:04
Yuval Filmus
197k15187350
197k15187350
asked Apr 6 at 13:42
JayJay
1465
1465
$begingroup$
The lecture notes contain a complete proof.
$endgroup$
– Yuval Filmus
Apr 6 at 13:52
$begingroup$
I did not understand the algorithm completely to understand the proof itself.
$endgroup$
– Jay
Apr 6 at 14:50
add a comment |
$begingroup$
The lecture notes contain a complete proof.
$endgroup$
– Yuval Filmus
Apr 6 at 13:52
$begingroup$
I did not understand the algorithm completely to understand the proof itself.
$endgroup$
– Jay
Apr 6 at 14:50
$begingroup$
The lecture notes contain a complete proof.
$endgroup$
– Yuval Filmus
Apr 6 at 13:52
$begingroup$
The lecture notes contain a complete proof.
$endgroup$
– Yuval Filmus
Apr 6 at 13:52
$begingroup$
I did not understand the algorithm completely to understand the proof itself.
$endgroup$
– Jay
Apr 6 at 14:50
$begingroup$
I did not understand the algorithm completely to understand the proof itself.
$endgroup$
– Jay
Apr 6 at 14:50
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
The two players construct a sequence $V_0 supset V_1 supset cdots supset V_m$ of sets of vertices such that:
$V_0$ consists of all vertices in the graph.
$|V_i+1| leq (|V_i|+1)/2$.
$V_i supseteq C cap I$.
The players stop once $|V_m| leq 1$. At this point they can answer the question using $O(1)$ communication.
At round $i$, the players know $V_i-1$, and wish to construct $V_i$. They act as follows:
If $C cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ neighbors in $V_i-1$, then Alice sends Bob one such vertex $v$, and both players set $V_i$ to be this set of neighbors, together with $v$ (this is valid since $C cap I subseteq C subseteq V_i$). Otherwise, she sends $bot$.
If Alice sent $bot$ and $I cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$, then Bob sends Alice one such vertex $v$, and both players set $V_i$ to be this set of non-neighbors, together with $v$ (this is valid since $C cap I subseteq I subseteq V_i$). Otherwise, he sends Alice $bot$.
If both players sent $bot$, then $C cap I = emptyset$. Indeed, if $v in C cap I$, then $v$ has at least $|V_i-1|/2$ neighbors and at least $|V_i-1|/2$ non-neighbors inside $|V_i-1|$, whereas the number of potential neighbors and non-neighbors is just $|V_i-1|-1$. Therefore the players can abort and conclude that $C cap I = emptyset$.
Each round takes $O(log n)$ bits of communication, and there are $O(log n)$ rounds, for a total of $O(log^2 n)$ bits of communication.
$endgroup$
$begingroup$
How does the number of vertices are resuced by factor of 2 - this leads to the $O(log(n))$ rounds?
$endgroup$
– Jay
Apr 6 at 15:30
$begingroup$
I'm sorry, I can't explain it any better than what I wrote.
$endgroup$
– Yuval Filmus
Apr 6 at 15:31
$begingroup$
Thanks a lot Yuval, I’ll try to figure it out.
$endgroup$
– Jay
Apr 6 at 15:32
add a comment |
$begingroup$
The $O(log n)$ rounds comes from the fact that we are doing a binary search:
If the algorithm fails to terminate, then either Alice or Bob share a vertex v.
If Alice shares $v$, then $v$ has fewer than $|V_i-1|/2$ neighbors in $V_i-1$. $V_i$ is set to be this neighborhood (along with v). Observe that $|V_i|< |V_i-1|/2+1$. We will be a little hand-wavy and say $|V_i|leq |V_i-1|/2$ (although it may actually be $|V_i-1|/2+1/2$ when $|V_i-1|$ is odd).
Similarly, if Bob shares $v$, then $v$ has fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$. $V_i$ is set to be this non-neighborhood (along with v). As such, $|V_i|leq |V_i-1|/2$ (again we are being a little hand-wavy).
In both cases $|V_i|leq |V_i-1|/2$. As such, if the algorithm fails to terminate after $k$ iterations, then, inductively, $|V_k|leq |V_0|/2^k$. Finally, observe that the algorithm terminates if $|V_k|leq 1$, i.e., we will terminate if ever $V_k$ is a singleton or empty. Finally, $|V_k|leq |V_0|/2^kleq 1$ if $kgeq log |V_0|=log n$ implying that we must terminate in $log n$ iterations.
$endgroup$
1
$begingroup$
If $|V_i-1|$ is odd then your inequality is off by 1/2.
$endgroup$
– Yuval Filmus
Apr 7 at 5:05
$begingroup$
Correct. Resolving the issue of parity results in at most $1+log n$ rounds.
$endgroup$
– James Bailey
Apr 7 at 5:31
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "419"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f106562%2fthe-clique-vs-independent-set-problem%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
The two players construct a sequence $V_0 supset V_1 supset cdots supset V_m$ of sets of vertices such that:
$V_0$ consists of all vertices in the graph.
$|V_i+1| leq (|V_i|+1)/2$.
$V_i supseteq C cap I$.
The players stop once $|V_m| leq 1$. At this point they can answer the question using $O(1)$ communication.
At round $i$, the players know $V_i-1$, and wish to construct $V_i$. They act as follows:
If $C cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ neighbors in $V_i-1$, then Alice sends Bob one such vertex $v$, and both players set $V_i$ to be this set of neighbors, together with $v$ (this is valid since $C cap I subseteq C subseteq V_i$). Otherwise, she sends $bot$.
If Alice sent $bot$ and $I cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$, then Bob sends Alice one such vertex $v$, and both players set $V_i$ to be this set of non-neighbors, together with $v$ (this is valid since $C cap I subseteq I subseteq V_i$). Otherwise, he sends Alice $bot$.
If both players sent $bot$, then $C cap I = emptyset$. Indeed, if $v in C cap I$, then $v$ has at least $|V_i-1|/2$ neighbors and at least $|V_i-1|/2$ non-neighbors inside $|V_i-1|$, whereas the number of potential neighbors and non-neighbors is just $|V_i-1|-1$. Therefore the players can abort and conclude that $C cap I = emptyset$.
Each round takes $O(log n)$ bits of communication, and there are $O(log n)$ rounds, for a total of $O(log^2 n)$ bits of communication.
$endgroup$
$begingroup$
How does the number of vertices are resuced by factor of 2 - this leads to the $O(log(n))$ rounds?
$endgroup$
– Jay
Apr 6 at 15:30
$begingroup$
I'm sorry, I can't explain it any better than what I wrote.
$endgroup$
– Yuval Filmus
Apr 6 at 15:31
$begingroup$
Thanks a lot Yuval, I’ll try to figure it out.
$endgroup$
– Jay
Apr 6 at 15:32
add a comment |
$begingroup$
The two players construct a sequence $V_0 supset V_1 supset cdots supset V_m$ of sets of vertices such that:
$V_0$ consists of all vertices in the graph.
$|V_i+1| leq (|V_i|+1)/2$.
$V_i supseteq C cap I$.
The players stop once $|V_m| leq 1$. At this point they can answer the question using $O(1)$ communication.
At round $i$, the players know $V_i-1$, and wish to construct $V_i$. They act as follows:
If $C cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ neighbors in $V_i-1$, then Alice sends Bob one such vertex $v$, and both players set $V_i$ to be this set of neighbors, together with $v$ (this is valid since $C cap I subseteq C subseteq V_i$). Otherwise, she sends $bot$.
If Alice sent $bot$ and $I cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$, then Bob sends Alice one such vertex $v$, and both players set $V_i$ to be this set of non-neighbors, together with $v$ (this is valid since $C cap I subseteq I subseteq V_i$). Otherwise, he sends Alice $bot$.
If both players sent $bot$, then $C cap I = emptyset$. Indeed, if $v in C cap I$, then $v$ has at least $|V_i-1|/2$ neighbors and at least $|V_i-1|/2$ non-neighbors inside $|V_i-1|$, whereas the number of potential neighbors and non-neighbors is just $|V_i-1|-1$. Therefore the players can abort and conclude that $C cap I = emptyset$.
Each round takes $O(log n)$ bits of communication, and there are $O(log n)$ rounds, for a total of $O(log^2 n)$ bits of communication.
$endgroup$
$begingroup$
How does the number of vertices are resuced by factor of 2 - this leads to the $O(log(n))$ rounds?
$endgroup$
– Jay
Apr 6 at 15:30
$begingroup$
I'm sorry, I can't explain it any better than what I wrote.
$endgroup$
– Yuval Filmus
Apr 6 at 15:31
$begingroup$
Thanks a lot Yuval, I’ll try to figure it out.
$endgroup$
– Jay
Apr 6 at 15:32
add a comment |
$begingroup$
The two players construct a sequence $V_0 supset V_1 supset cdots supset V_m$ of sets of vertices such that:
$V_0$ consists of all vertices in the graph.
$|V_i+1| leq (|V_i|+1)/2$.
$V_i supseteq C cap I$.
The players stop once $|V_m| leq 1$. At this point they can answer the question using $O(1)$ communication.
At round $i$, the players know $V_i-1$, and wish to construct $V_i$. They act as follows:
If $C cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ neighbors in $V_i-1$, then Alice sends Bob one such vertex $v$, and both players set $V_i$ to be this set of neighbors, together with $v$ (this is valid since $C cap I subseteq C subseteq V_i$). Otherwise, she sends $bot$.
If Alice sent $bot$ and $I cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$, then Bob sends Alice one such vertex $v$, and both players set $V_i$ to be this set of non-neighbors, together with $v$ (this is valid since $C cap I subseteq I subseteq V_i$). Otherwise, he sends Alice $bot$.
If both players sent $bot$, then $C cap I = emptyset$. Indeed, if $v in C cap I$, then $v$ has at least $|V_i-1|/2$ neighbors and at least $|V_i-1|/2$ non-neighbors inside $|V_i-1|$, whereas the number of potential neighbors and non-neighbors is just $|V_i-1|-1$. Therefore the players can abort and conclude that $C cap I = emptyset$.
Each round takes $O(log n)$ bits of communication, and there are $O(log n)$ rounds, for a total of $O(log^2 n)$ bits of communication.
$endgroup$
The two players construct a sequence $V_0 supset V_1 supset cdots supset V_m$ of sets of vertices such that:
$V_0$ consists of all vertices in the graph.
$|V_i+1| leq (|V_i|+1)/2$.
$V_i supseteq C cap I$.
The players stop once $|V_m| leq 1$. At this point they can answer the question using $O(1)$ communication.
At round $i$, the players know $V_i-1$, and wish to construct $V_i$. They act as follows:
If $C cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ neighbors in $V_i-1$, then Alice sends Bob one such vertex $v$, and both players set $V_i$ to be this set of neighbors, together with $v$ (this is valid since $C cap I subseteq C subseteq V_i$). Otherwise, she sends $bot$.
If Alice sent $bot$ and $I cap V_i-1$ contains a vertex $v$ with fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$, then Bob sends Alice one such vertex $v$, and both players set $V_i$ to be this set of non-neighbors, together with $v$ (this is valid since $C cap I subseteq I subseteq V_i$). Otherwise, he sends Alice $bot$.
If both players sent $bot$, then $C cap I = emptyset$. Indeed, if $v in C cap I$, then $v$ has at least $|V_i-1|/2$ neighbors and at least $|V_i-1|/2$ non-neighbors inside $|V_i-1|$, whereas the number of potential neighbors and non-neighbors is just $|V_i-1|-1$. Therefore the players can abort and conclude that $C cap I = emptyset$.
Each round takes $O(log n)$ bits of communication, and there are $O(log n)$ rounds, for a total of $O(log^2 n)$ bits of communication.
edited Apr 6 at 15:30
answered Apr 6 at 15:03
Yuval FilmusYuval Filmus
197k15187350
197k15187350
$begingroup$
How does the number of vertices are resuced by factor of 2 - this leads to the $O(log(n))$ rounds?
$endgroup$
– Jay
Apr 6 at 15:30
$begingroup$
I'm sorry, I can't explain it any better than what I wrote.
$endgroup$
– Yuval Filmus
Apr 6 at 15:31
$begingroup$
Thanks a lot Yuval, I’ll try to figure it out.
$endgroup$
– Jay
Apr 6 at 15:32
add a comment |
$begingroup$
How does the number of vertices are resuced by factor of 2 - this leads to the $O(log(n))$ rounds?
$endgroup$
– Jay
Apr 6 at 15:30
$begingroup$
I'm sorry, I can't explain it any better than what I wrote.
$endgroup$
– Yuval Filmus
Apr 6 at 15:31
$begingroup$
Thanks a lot Yuval, I’ll try to figure it out.
$endgroup$
– Jay
Apr 6 at 15:32
$begingroup$
How does the number of vertices are resuced by factor of 2 - this leads to the $O(log(n))$ rounds?
$endgroup$
– Jay
Apr 6 at 15:30
$begingroup$
How does the number of vertices are resuced by factor of 2 - this leads to the $O(log(n))$ rounds?
$endgroup$
– Jay
Apr 6 at 15:30
$begingroup$
I'm sorry, I can't explain it any better than what I wrote.
$endgroup$
– Yuval Filmus
Apr 6 at 15:31
$begingroup$
I'm sorry, I can't explain it any better than what I wrote.
$endgroup$
– Yuval Filmus
Apr 6 at 15:31
$begingroup$
Thanks a lot Yuval, I’ll try to figure it out.
$endgroup$
– Jay
Apr 6 at 15:32
$begingroup$
Thanks a lot Yuval, I’ll try to figure it out.
$endgroup$
– Jay
Apr 6 at 15:32
add a comment |
$begingroup$
The $O(log n)$ rounds comes from the fact that we are doing a binary search:
If the algorithm fails to terminate, then either Alice or Bob share a vertex v.
If Alice shares $v$, then $v$ has fewer than $|V_i-1|/2$ neighbors in $V_i-1$. $V_i$ is set to be this neighborhood (along with v). Observe that $|V_i|< |V_i-1|/2+1$. We will be a little hand-wavy and say $|V_i|leq |V_i-1|/2$ (although it may actually be $|V_i-1|/2+1/2$ when $|V_i-1|$ is odd).
Similarly, if Bob shares $v$, then $v$ has fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$. $V_i$ is set to be this non-neighborhood (along with v). As such, $|V_i|leq |V_i-1|/2$ (again we are being a little hand-wavy).
In both cases $|V_i|leq |V_i-1|/2$. As such, if the algorithm fails to terminate after $k$ iterations, then, inductively, $|V_k|leq |V_0|/2^k$. Finally, observe that the algorithm terminates if $|V_k|leq 1$, i.e., we will terminate if ever $V_k$ is a singleton or empty. Finally, $|V_k|leq |V_0|/2^kleq 1$ if $kgeq log |V_0|=log n$ implying that we must terminate in $log n$ iterations.
$endgroup$
1
$begingroup$
If $|V_i-1|$ is odd then your inequality is off by 1/2.
$endgroup$
– Yuval Filmus
Apr 7 at 5:05
$begingroup$
Correct. Resolving the issue of parity results in at most $1+log n$ rounds.
$endgroup$
– James Bailey
Apr 7 at 5:31
add a comment |
$begingroup$
The $O(log n)$ rounds comes from the fact that we are doing a binary search:
If the algorithm fails to terminate, then either Alice or Bob share a vertex v.
If Alice shares $v$, then $v$ has fewer than $|V_i-1|/2$ neighbors in $V_i-1$. $V_i$ is set to be this neighborhood (along with v). Observe that $|V_i|< |V_i-1|/2+1$. We will be a little hand-wavy and say $|V_i|leq |V_i-1|/2$ (although it may actually be $|V_i-1|/2+1/2$ when $|V_i-1|$ is odd).
Similarly, if Bob shares $v$, then $v$ has fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$. $V_i$ is set to be this non-neighborhood (along with v). As such, $|V_i|leq |V_i-1|/2$ (again we are being a little hand-wavy).
In both cases $|V_i|leq |V_i-1|/2$. As such, if the algorithm fails to terminate after $k$ iterations, then, inductively, $|V_k|leq |V_0|/2^k$. Finally, observe that the algorithm terminates if $|V_k|leq 1$, i.e., we will terminate if ever $V_k$ is a singleton or empty. Finally, $|V_k|leq |V_0|/2^kleq 1$ if $kgeq log |V_0|=log n$ implying that we must terminate in $log n$ iterations.
$endgroup$
1
$begingroup$
If $|V_i-1|$ is odd then your inequality is off by 1/2.
$endgroup$
– Yuval Filmus
Apr 7 at 5:05
$begingroup$
Correct. Resolving the issue of parity results in at most $1+log n$ rounds.
$endgroup$
– James Bailey
Apr 7 at 5:31
add a comment |
$begingroup$
The $O(log n)$ rounds comes from the fact that we are doing a binary search:
If the algorithm fails to terminate, then either Alice or Bob share a vertex v.
If Alice shares $v$, then $v$ has fewer than $|V_i-1|/2$ neighbors in $V_i-1$. $V_i$ is set to be this neighborhood (along with v). Observe that $|V_i|< |V_i-1|/2+1$. We will be a little hand-wavy and say $|V_i|leq |V_i-1|/2$ (although it may actually be $|V_i-1|/2+1/2$ when $|V_i-1|$ is odd).
Similarly, if Bob shares $v$, then $v$ has fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$. $V_i$ is set to be this non-neighborhood (along with v). As such, $|V_i|leq |V_i-1|/2$ (again we are being a little hand-wavy).
In both cases $|V_i|leq |V_i-1|/2$. As such, if the algorithm fails to terminate after $k$ iterations, then, inductively, $|V_k|leq |V_0|/2^k$. Finally, observe that the algorithm terminates if $|V_k|leq 1$, i.e., we will terminate if ever $V_k$ is a singleton or empty. Finally, $|V_k|leq |V_0|/2^kleq 1$ if $kgeq log |V_0|=log n$ implying that we must terminate in $log n$ iterations.
$endgroup$
The $O(log n)$ rounds comes from the fact that we are doing a binary search:
If the algorithm fails to terminate, then either Alice or Bob share a vertex v.
If Alice shares $v$, then $v$ has fewer than $|V_i-1|/2$ neighbors in $V_i-1$. $V_i$ is set to be this neighborhood (along with v). Observe that $|V_i|< |V_i-1|/2+1$. We will be a little hand-wavy and say $|V_i|leq |V_i-1|/2$ (although it may actually be $|V_i-1|/2+1/2$ when $|V_i-1|$ is odd).
Similarly, if Bob shares $v$, then $v$ has fewer than $|V_i-1|/2$ non-neighbors in $V_i-1$. $V_i$ is set to be this non-neighborhood (along with v). As such, $|V_i|leq |V_i-1|/2$ (again we are being a little hand-wavy).
In both cases $|V_i|leq |V_i-1|/2$. As such, if the algorithm fails to terminate after $k$ iterations, then, inductively, $|V_k|leq |V_0|/2^k$. Finally, observe that the algorithm terminates if $|V_k|leq 1$, i.e., we will terminate if ever $V_k$ is a singleton or empty. Finally, $|V_k|leq |V_0|/2^kleq 1$ if $kgeq log |V_0|=log n$ implying that we must terminate in $log n$ iterations.
edited Apr 7 at 8:24
answered Apr 7 at 4:01
James BaileyJames Bailey
462
462
1
$begingroup$
If $|V_i-1|$ is odd then your inequality is off by 1/2.
$endgroup$
– Yuval Filmus
Apr 7 at 5:05
$begingroup$
Correct. Resolving the issue of parity results in at most $1+log n$ rounds.
$endgroup$
– James Bailey
Apr 7 at 5:31
add a comment |
1
$begingroup$
If $|V_i-1|$ is odd then your inequality is off by 1/2.
$endgroup$
– Yuval Filmus
Apr 7 at 5:05
$begingroup$
Correct. Resolving the issue of parity results in at most $1+log n$ rounds.
$endgroup$
– James Bailey
Apr 7 at 5:31
1
1
$begingroup$
If $|V_i-1|$ is odd then your inequality is off by 1/2.
$endgroup$
– Yuval Filmus
Apr 7 at 5:05
$begingroup$
If $|V_i-1|$ is odd then your inequality is off by 1/2.
$endgroup$
– Yuval Filmus
Apr 7 at 5:05
$begingroup$
Correct. Resolving the issue of parity results in at most $1+log n$ rounds.
$endgroup$
– James Bailey
Apr 7 at 5:31
$begingroup$
Correct. Resolving the issue of parity results in at most $1+log n$ rounds.
$endgroup$
– James Bailey
Apr 7 at 5:31
add a comment |
Thanks for contributing an answer to Computer Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f106562%2fthe-clique-vs-independent-set-problem%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
The lecture notes contain a complete proof.
$endgroup$
– Yuval Filmus
Apr 6 at 13:52
$begingroup$
I did not understand the algorithm completely to understand the proof itself.
$endgroup$
– Jay
Apr 6 at 14:50