Hard connected instances for Weisfeiler-Lehman test of isomorphism
There are instances when WL algorithm fails. For example graphs G1 and G2 below have the same coloring after WL-1 algorithm.
However, one of these graphs is disconnected. So what are the instances of undirected connected graphs for which WL algorithm fails?
graphs graph-theory combinatorics graph-isomorphism
|
show 3 more comments
There are instances when WL algorithm fails. For example graphs G1 and G2 below have the same coloring after WL-1 algorithm.
However, one of these graphs is disconnected. So what are the instances of undirected connected graphs for which WL algorithm fails?
graphs graph-theory combinatorics graph-isomorphism
Would connecting all vertices to a common vertex work?
– Yuval Filmus
7 hours ago
@YuvalFilmus Yes. That's a much shorter answer than the epic that I'm writing.
– David Richerby
6 hours ago
@YuvalFilmus Sorry, can you please elaborate? You mean two star graphs?
– novadiva
6 hours ago
I'm sure you can figure it out.
– Yuval Filmus
6 hours ago
1
I guess what you mean is that you add additional node to the graphs above, which is connected to every vertex?
– novadiva
6 hours ago
|
show 3 more comments
There are instances when WL algorithm fails. For example graphs G1 and G2 below have the same coloring after WL-1 algorithm.
However, one of these graphs is disconnected. So what are the instances of undirected connected graphs for which WL algorithm fails?
graphs graph-theory combinatorics graph-isomorphism
There are instances when WL algorithm fails. For example graphs G1 and G2 below have the same coloring after WL-1 algorithm.
However, one of these graphs is disconnected. So what are the instances of undirected connected graphs for which WL algorithm fails?
graphs graph-theory combinatorics graph-isomorphism
graphs graph-theory combinatorics graph-isomorphism
edited 8 hours ago
asked 10 hours ago
novadiva
1665
1665
Would connecting all vertices to a common vertex work?
– Yuval Filmus
7 hours ago
@YuvalFilmus Yes. That's a much shorter answer than the epic that I'm writing.
– David Richerby
6 hours ago
@YuvalFilmus Sorry, can you please elaborate? You mean two star graphs?
– novadiva
6 hours ago
I'm sure you can figure it out.
– Yuval Filmus
6 hours ago
1
I guess what you mean is that you add additional node to the graphs above, which is connected to every vertex?
– novadiva
6 hours ago
|
show 3 more comments
Would connecting all vertices to a common vertex work?
– Yuval Filmus
7 hours ago
@YuvalFilmus Yes. That's a much shorter answer than the epic that I'm writing.
– David Richerby
6 hours ago
@YuvalFilmus Sorry, can you please elaborate? You mean two star graphs?
– novadiva
6 hours ago
I'm sure you can figure it out.
– Yuval Filmus
6 hours ago
1
I guess what you mean is that you add additional node to the graphs above, which is connected to every vertex?
– novadiva
6 hours ago
Would connecting all vertices to a common vertex work?
– Yuval Filmus
7 hours ago
Would connecting all vertices to a common vertex work?
– Yuval Filmus
7 hours ago
@YuvalFilmus Yes. That's a much shorter answer than the epic that I'm writing.
– David Richerby
6 hours ago
@YuvalFilmus Yes. That's a much shorter answer than the epic that I'm writing.
– David Richerby
6 hours ago
@YuvalFilmus Sorry, can you please elaborate? You mean two star graphs?
– novadiva
6 hours ago
@YuvalFilmus Sorry, can you please elaborate? You mean two star graphs?
– novadiva
6 hours ago
I'm sure you can figure it out.
– Yuval Filmus
6 hours ago
I'm sure you can figure it out.
– Yuval Filmus
6 hours ago
1
1
I guess what you mean is that you add additional node to the graphs above, which is connected to every vertex?
– novadiva
6 hours ago
I guess what you mean is that you add additional node to the graphs above, which is connected to every vertex?
– novadiva
6 hours ago
|
show 3 more comments
2 Answers
2
active
oldest
votes
Connect all vertices to a common one.
add a comment |
Yes, there are non-isomorphic connected graphs that cannot be distinguished by Weisfeiler–Lehman. The following construction is due to Cai, Fürer and Immerman (An Optimal Lower Bound on the Number of Variables for Graph Identification, Combinatorica 12(4):389–410, 1992; PDF).
Take any connected, $3$-regular graph $G=(V,E)$. We will produce non-isomorphic graphs $G_parallel$ and $G_times$ from $G$, that are indistinguishable by Weisfeiler–Lehman. These will be made by producing a gadget for each vertex of $G$ and, for each edge $xyin E$, connecting the gadgets for $x$ and $y$ by a pair of parallel edges.
The vertices of $G_parallel$ are is defined as follows.
For each $xyin E$, we create four (distinct) vertices, $a_{x,y}$, $a_{y,x}$, $b_{x,y}$ and $b_{y,x}$.
For each $xin V$, we create a vertex $c_{x,S}$ for each odd-cardinality subset of $Gamma(x)$ (the neighbours of $x$ in $G$). So, if $x$'s neighbours are $u$, $v$ and $w$, we create vertices $c_{x,{u}}$, $c_{x,{v}}$, $c_{x,{w}}$ and $c_{x,{u,v,w}}$.
The edges of $G_parallel$ are defined as follows. For each edge $xyin E$, we add:
- the two edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$;
- the edges $a_{x,y}c_{x,S}$ for each $S$ such that $yin S$;
- the edges $b_{x,y}c_{x,S}$ for each $S$ such that $ynotin S$.
Note that $G$ is undirected so if $xyin E$, then $yxin E$ also, and we follow the above rules twice for each edge of $G$.
Now, let $xy$ be any edge in $G$ and let $G_{xy}$ be the graph made from $G_parallel$ by deleting the edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$ and replacing them with the "cross" edges $a_{x,y}b_{y,x}$ and $b_{x,y}a_{y,x}$. The following lemma is the key point of the construction.
Lemma 1. For any edges $uv,xyin E$, the graphs $G_{uv}$ and $G_{xy}$ are isomorphic.
Proof sketch. You can move the cross edge around the graph in the following sense. For any pair of edges $ij,jkin E$, there's an isomorphism of $G_{ij}$ that exchanges $a_{j,i}$ and $b_{j,i}$ and exchanges $a_{j,k}$ and $b_{j,k}$. This isomorphism is a permutation of the vertices $c_{j,S}$, and it fixes every other vertex in $G_{ij}$. If you draw the fragment of the graph corresponding to vertex $j$ and its incident edges, the isomorphism should be pretty obvious.
This means that $G_{ij}simeq G_{jk}$, because the isomorphism "uncrosses" the edge $ij$ and "crosses" the edge $jk$. Since $G$ is connected, it contains a path whose first edge is $uv$ and whose last edge is $xy$, and we can use the isomorphisms corresponding to each adjacent pair of edges in this path to move the cross in $G_{uv}$ to $xy$. $Box$
By Lemma 1, we're entitled to use the name $G_times$ for an arbitrary graph $G_{xy}$. We now have the graphs $G_parallel$ and $G_times$; it remains to show that they're non-isomorphic and that they're indistinguishable to Weisfeiler–Lehman.
Lemma 2. For any connected, 3-regular graph $G$, we have $G_parallel notsimeq G_times$.
Proof sketch. It turns out that the only isomorphisms of $G_parallel$ and $G_times$ are isomorphisms induced by isomorphisms of $G$, and isomorphisms of the form used in the proof of Lemma 1. But no such isomorphism can transform $G_times$ into $G_parallel$ because $G_times$ has a cross edge and $G_parallel$ does not. $Box$
Now, indistinguishability. Weisfeiler–Lehman is definable in so-called "fixed-point logic with counting." This is first-order logic plus:
counting quantifiers: for each natural number $n$, you can write $exists^{geq n}x,varphi(x)$, meaning "There exist at least $n$ values of $x$ that satisfy $varphi$." This can already be expressed in ordinary first-order logic, just by saying that there exist distinct $x_1, dots, x_n$ that all satisfy $varphi$, but the (rather subtle) point here is that the counting quantifier only uses just one variable, whereas the "pure" first-order expression uses $n$ distinct variables.
inductive definitions. These let you build up a relation $R$ as follows. You start with $R=emptyset$. Then, you add to $R$ all the tuples that satisfy a formula $varphi$, and keep doing that until you run out of tuples to add. $varphi$ itself can depend on $R$, so you can build up some interesting things.
In particular, you can build up an equivalence relation corresponding to the colour-classes of Weisfeiler–Lehman. The counting quantifiers let you talk about the numbe of neighbours of each colour, and the inductive definitions let you recursively refine the colouring based on the number of neighbours of each colour in the previous step.
A separator of a graph $G=(V,E)$ is a set $Ssubseteq V$ such that no component of $G-S$ has more than $|V|/2$ vertices. In the following, I say "less than about $2k$" because I'm silently translating from fixed-point logic with counting to so-called "infinitary logic with counting", which roughly doubles the number of variables. I don't remember the exact details, and it's not important enough to hunt them down.
Theorem 3. Let $varphi$ be a formula of fixed-point logic with counting, using $k$ distinct variables. If $G$ is a graph with no separator of size less than about $2k$, then $varphi$ cannot distinguish $G_parallel$ from $G_times$.
Proof sketch. Very roughly speaking, while you're evaluating the formula $varphi$ on $G_parallel$ or $G_times$, you might need to consider $k$ vertices as being the value of some variables at the current iteration of an inductive construction and $k$ more variables as being the value of the variables at the previous iteration. The fact that $G$ has no small separators means that, even if we fix those vertices, we can still move the cross around in a large component of the rest of the graph, without the formula "knowing" that we've done that, so the formula can never "see" the cross, so it can never tell the difference between the graph with the cross and the graph without it. $Box$
For any fixed $d$, $d$-dimensional Weisfeiler–Lehman can be expressed as a formula of fixed-point logic with counting, using some number $k$ of variables ($kapprox 2d$ is enough, as I recall). Since that formula can't tell the difference between the non-isomorphic graphs $G_parallel$ and $G_times$ as long as $G$ has no small separators, nor can Weisfeiler–Lehman.
Guess who got a PhD doing this kind of stuff...
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
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%2f102062%2fhard-connected-instances-for-weisfeiler-lehman-test-of-isomorphism%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
Connect all vertices to a common one.
add a comment |
Connect all vertices to a common one.
add a comment |
Connect all vertices to a common one.
Connect all vertices to a common one.
answered 6 hours ago
Yuval Filmus
189k12177340
189k12177340
add a comment |
add a comment |
Yes, there are non-isomorphic connected graphs that cannot be distinguished by Weisfeiler–Lehman. The following construction is due to Cai, Fürer and Immerman (An Optimal Lower Bound on the Number of Variables for Graph Identification, Combinatorica 12(4):389–410, 1992; PDF).
Take any connected, $3$-regular graph $G=(V,E)$. We will produce non-isomorphic graphs $G_parallel$ and $G_times$ from $G$, that are indistinguishable by Weisfeiler–Lehman. These will be made by producing a gadget for each vertex of $G$ and, for each edge $xyin E$, connecting the gadgets for $x$ and $y$ by a pair of parallel edges.
The vertices of $G_parallel$ are is defined as follows.
For each $xyin E$, we create four (distinct) vertices, $a_{x,y}$, $a_{y,x}$, $b_{x,y}$ and $b_{y,x}$.
For each $xin V$, we create a vertex $c_{x,S}$ for each odd-cardinality subset of $Gamma(x)$ (the neighbours of $x$ in $G$). So, if $x$'s neighbours are $u$, $v$ and $w$, we create vertices $c_{x,{u}}$, $c_{x,{v}}$, $c_{x,{w}}$ and $c_{x,{u,v,w}}$.
The edges of $G_parallel$ are defined as follows. For each edge $xyin E$, we add:
- the two edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$;
- the edges $a_{x,y}c_{x,S}$ for each $S$ such that $yin S$;
- the edges $b_{x,y}c_{x,S}$ for each $S$ such that $ynotin S$.
Note that $G$ is undirected so if $xyin E$, then $yxin E$ also, and we follow the above rules twice for each edge of $G$.
Now, let $xy$ be any edge in $G$ and let $G_{xy}$ be the graph made from $G_parallel$ by deleting the edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$ and replacing them with the "cross" edges $a_{x,y}b_{y,x}$ and $b_{x,y}a_{y,x}$. The following lemma is the key point of the construction.
Lemma 1. For any edges $uv,xyin E$, the graphs $G_{uv}$ and $G_{xy}$ are isomorphic.
Proof sketch. You can move the cross edge around the graph in the following sense. For any pair of edges $ij,jkin E$, there's an isomorphism of $G_{ij}$ that exchanges $a_{j,i}$ and $b_{j,i}$ and exchanges $a_{j,k}$ and $b_{j,k}$. This isomorphism is a permutation of the vertices $c_{j,S}$, and it fixes every other vertex in $G_{ij}$. If you draw the fragment of the graph corresponding to vertex $j$ and its incident edges, the isomorphism should be pretty obvious.
This means that $G_{ij}simeq G_{jk}$, because the isomorphism "uncrosses" the edge $ij$ and "crosses" the edge $jk$. Since $G$ is connected, it contains a path whose first edge is $uv$ and whose last edge is $xy$, and we can use the isomorphisms corresponding to each adjacent pair of edges in this path to move the cross in $G_{uv}$ to $xy$. $Box$
By Lemma 1, we're entitled to use the name $G_times$ for an arbitrary graph $G_{xy}$. We now have the graphs $G_parallel$ and $G_times$; it remains to show that they're non-isomorphic and that they're indistinguishable to Weisfeiler–Lehman.
Lemma 2. For any connected, 3-regular graph $G$, we have $G_parallel notsimeq G_times$.
Proof sketch. It turns out that the only isomorphisms of $G_parallel$ and $G_times$ are isomorphisms induced by isomorphisms of $G$, and isomorphisms of the form used in the proof of Lemma 1. But no such isomorphism can transform $G_times$ into $G_parallel$ because $G_times$ has a cross edge and $G_parallel$ does not. $Box$
Now, indistinguishability. Weisfeiler–Lehman is definable in so-called "fixed-point logic with counting." This is first-order logic plus:
counting quantifiers: for each natural number $n$, you can write $exists^{geq n}x,varphi(x)$, meaning "There exist at least $n$ values of $x$ that satisfy $varphi$." This can already be expressed in ordinary first-order logic, just by saying that there exist distinct $x_1, dots, x_n$ that all satisfy $varphi$, but the (rather subtle) point here is that the counting quantifier only uses just one variable, whereas the "pure" first-order expression uses $n$ distinct variables.
inductive definitions. These let you build up a relation $R$ as follows. You start with $R=emptyset$. Then, you add to $R$ all the tuples that satisfy a formula $varphi$, and keep doing that until you run out of tuples to add. $varphi$ itself can depend on $R$, so you can build up some interesting things.
In particular, you can build up an equivalence relation corresponding to the colour-classes of Weisfeiler–Lehman. The counting quantifiers let you talk about the numbe of neighbours of each colour, and the inductive definitions let you recursively refine the colouring based on the number of neighbours of each colour in the previous step.
A separator of a graph $G=(V,E)$ is a set $Ssubseteq V$ such that no component of $G-S$ has more than $|V|/2$ vertices. In the following, I say "less than about $2k$" because I'm silently translating from fixed-point logic with counting to so-called "infinitary logic with counting", which roughly doubles the number of variables. I don't remember the exact details, and it's not important enough to hunt them down.
Theorem 3. Let $varphi$ be a formula of fixed-point logic with counting, using $k$ distinct variables. If $G$ is a graph with no separator of size less than about $2k$, then $varphi$ cannot distinguish $G_parallel$ from $G_times$.
Proof sketch. Very roughly speaking, while you're evaluating the formula $varphi$ on $G_parallel$ or $G_times$, you might need to consider $k$ vertices as being the value of some variables at the current iteration of an inductive construction and $k$ more variables as being the value of the variables at the previous iteration. The fact that $G$ has no small separators means that, even if we fix those vertices, we can still move the cross around in a large component of the rest of the graph, without the formula "knowing" that we've done that, so the formula can never "see" the cross, so it can never tell the difference between the graph with the cross and the graph without it. $Box$
For any fixed $d$, $d$-dimensional Weisfeiler–Lehman can be expressed as a formula of fixed-point logic with counting, using some number $k$ of variables ($kapprox 2d$ is enough, as I recall). Since that formula can't tell the difference between the non-isomorphic graphs $G_parallel$ and $G_times$ as long as $G$ has no small separators, nor can Weisfeiler–Lehman.
Guess who got a PhD doing this kind of stuff...
add a comment |
Yes, there are non-isomorphic connected graphs that cannot be distinguished by Weisfeiler–Lehman. The following construction is due to Cai, Fürer and Immerman (An Optimal Lower Bound on the Number of Variables for Graph Identification, Combinatorica 12(4):389–410, 1992; PDF).
Take any connected, $3$-regular graph $G=(V,E)$. We will produce non-isomorphic graphs $G_parallel$ and $G_times$ from $G$, that are indistinguishable by Weisfeiler–Lehman. These will be made by producing a gadget for each vertex of $G$ and, for each edge $xyin E$, connecting the gadgets for $x$ and $y$ by a pair of parallel edges.
The vertices of $G_parallel$ are is defined as follows.
For each $xyin E$, we create four (distinct) vertices, $a_{x,y}$, $a_{y,x}$, $b_{x,y}$ and $b_{y,x}$.
For each $xin V$, we create a vertex $c_{x,S}$ for each odd-cardinality subset of $Gamma(x)$ (the neighbours of $x$ in $G$). So, if $x$'s neighbours are $u$, $v$ and $w$, we create vertices $c_{x,{u}}$, $c_{x,{v}}$, $c_{x,{w}}$ and $c_{x,{u,v,w}}$.
The edges of $G_parallel$ are defined as follows. For each edge $xyin E$, we add:
- the two edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$;
- the edges $a_{x,y}c_{x,S}$ for each $S$ such that $yin S$;
- the edges $b_{x,y}c_{x,S}$ for each $S$ such that $ynotin S$.
Note that $G$ is undirected so if $xyin E$, then $yxin E$ also, and we follow the above rules twice for each edge of $G$.
Now, let $xy$ be any edge in $G$ and let $G_{xy}$ be the graph made from $G_parallel$ by deleting the edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$ and replacing them with the "cross" edges $a_{x,y}b_{y,x}$ and $b_{x,y}a_{y,x}$. The following lemma is the key point of the construction.
Lemma 1. For any edges $uv,xyin E$, the graphs $G_{uv}$ and $G_{xy}$ are isomorphic.
Proof sketch. You can move the cross edge around the graph in the following sense. For any pair of edges $ij,jkin E$, there's an isomorphism of $G_{ij}$ that exchanges $a_{j,i}$ and $b_{j,i}$ and exchanges $a_{j,k}$ and $b_{j,k}$. This isomorphism is a permutation of the vertices $c_{j,S}$, and it fixes every other vertex in $G_{ij}$. If you draw the fragment of the graph corresponding to vertex $j$ and its incident edges, the isomorphism should be pretty obvious.
This means that $G_{ij}simeq G_{jk}$, because the isomorphism "uncrosses" the edge $ij$ and "crosses" the edge $jk$. Since $G$ is connected, it contains a path whose first edge is $uv$ and whose last edge is $xy$, and we can use the isomorphisms corresponding to each adjacent pair of edges in this path to move the cross in $G_{uv}$ to $xy$. $Box$
By Lemma 1, we're entitled to use the name $G_times$ for an arbitrary graph $G_{xy}$. We now have the graphs $G_parallel$ and $G_times$; it remains to show that they're non-isomorphic and that they're indistinguishable to Weisfeiler–Lehman.
Lemma 2. For any connected, 3-regular graph $G$, we have $G_parallel notsimeq G_times$.
Proof sketch. It turns out that the only isomorphisms of $G_parallel$ and $G_times$ are isomorphisms induced by isomorphisms of $G$, and isomorphisms of the form used in the proof of Lemma 1. But no such isomorphism can transform $G_times$ into $G_parallel$ because $G_times$ has a cross edge and $G_parallel$ does not. $Box$
Now, indistinguishability. Weisfeiler–Lehman is definable in so-called "fixed-point logic with counting." This is first-order logic plus:
counting quantifiers: for each natural number $n$, you can write $exists^{geq n}x,varphi(x)$, meaning "There exist at least $n$ values of $x$ that satisfy $varphi$." This can already be expressed in ordinary first-order logic, just by saying that there exist distinct $x_1, dots, x_n$ that all satisfy $varphi$, but the (rather subtle) point here is that the counting quantifier only uses just one variable, whereas the "pure" first-order expression uses $n$ distinct variables.
inductive definitions. These let you build up a relation $R$ as follows. You start with $R=emptyset$. Then, you add to $R$ all the tuples that satisfy a formula $varphi$, and keep doing that until you run out of tuples to add. $varphi$ itself can depend on $R$, so you can build up some interesting things.
In particular, you can build up an equivalence relation corresponding to the colour-classes of Weisfeiler–Lehman. The counting quantifiers let you talk about the numbe of neighbours of each colour, and the inductive definitions let you recursively refine the colouring based on the number of neighbours of each colour in the previous step.
A separator of a graph $G=(V,E)$ is a set $Ssubseteq V$ such that no component of $G-S$ has more than $|V|/2$ vertices. In the following, I say "less than about $2k$" because I'm silently translating from fixed-point logic with counting to so-called "infinitary logic with counting", which roughly doubles the number of variables. I don't remember the exact details, and it's not important enough to hunt them down.
Theorem 3. Let $varphi$ be a formula of fixed-point logic with counting, using $k$ distinct variables. If $G$ is a graph with no separator of size less than about $2k$, then $varphi$ cannot distinguish $G_parallel$ from $G_times$.
Proof sketch. Very roughly speaking, while you're evaluating the formula $varphi$ on $G_parallel$ or $G_times$, you might need to consider $k$ vertices as being the value of some variables at the current iteration of an inductive construction and $k$ more variables as being the value of the variables at the previous iteration. The fact that $G$ has no small separators means that, even if we fix those vertices, we can still move the cross around in a large component of the rest of the graph, without the formula "knowing" that we've done that, so the formula can never "see" the cross, so it can never tell the difference between the graph with the cross and the graph without it. $Box$
For any fixed $d$, $d$-dimensional Weisfeiler–Lehman can be expressed as a formula of fixed-point logic with counting, using some number $k$ of variables ($kapprox 2d$ is enough, as I recall). Since that formula can't tell the difference between the non-isomorphic graphs $G_parallel$ and $G_times$ as long as $G$ has no small separators, nor can Weisfeiler–Lehman.
Guess who got a PhD doing this kind of stuff...
add a comment |
Yes, there are non-isomorphic connected graphs that cannot be distinguished by Weisfeiler–Lehman. The following construction is due to Cai, Fürer and Immerman (An Optimal Lower Bound on the Number of Variables for Graph Identification, Combinatorica 12(4):389–410, 1992; PDF).
Take any connected, $3$-regular graph $G=(V,E)$. We will produce non-isomorphic graphs $G_parallel$ and $G_times$ from $G$, that are indistinguishable by Weisfeiler–Lehman. These will be made by producing a gadget for each vertex of $G$ and, for each edge $xyin E$, connecting the gadgets for $x$ and $y$ by a pair of parallel edges.
The vertices of $G_parallel$ are is defined as follows.
For each $xyin E$, we create four (distinct) vertices, $a_{x,y}$, $a_{y,x}$, $b_{x,y}$ and $b_{y,x}$.
For each $xin V$, we create a vertex $c_{x,S}$ for each odd-cardinality subset of $Gamma(x)$ (the neighbours of $x$ in $G$). So, if $x$'s neighbours are $u$, $v$ and $w$, we create vertices $c_{x,{u}}$, $c_{x,{v}}$, $c_{x,{w}}$ and $c_{x,{u,v,w}}$.
The edges of $G_parallel$ are defined as follows. For each edge $xyin E$, we add:
- the two edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$;
- the edges $a_{x,y}c_{x,S}$ for each $S$ such that $yin S$;
- the edges $b_{x,y}c_{x,S}$ for each $S$ such that $ynotin S$.
Note that $G$ is undirected so if $xyin E$, then $yxin E$ also, and we follow the above rules twice for each edge of $G$.
Now, let $xy$ be any edge in $G$ and let $G_{xy}$ be the graph made from $G_parallel$ by deleting the edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$ and replacing them with the "cross" edges $a_{x,y}b_{y,x}$ and $b_{x,y}a_{y,x}$. The following lemma is the key point of the construction.
Lemma 1. For any edges $uv,xyin E$, the graphs $G_{uv}$ and $G_{xy}$ are isomorphic.
Proof sketch. You can move the cross edge around the graph in the following sense. For any pair of edges $ij,jkin E$, there's an isomorphism of $G_{ij}$ that exchanges $a_{j,i}$ and $b_{j,i}$ and exchanges $a_{j,k}$ and $b_{j,k}$. This isomorphism is a permutation of the vertices $c_{j,S}$, and it fixes every other vertex in $G_{ij}$. If you draw the fragment of the graph corresponding to vertex $j$ and its incident edges, the isomorphism should be pretty obvious.
This means that $G_{ij}simeq G_{jk}$, because the isomorphism "uncrosses" the edge $ij$ and "crosses" the edge $jk$. Since $G$ is connected, it contains a path whose first edge is $uv$ and whose last edge is $xy$, and we can use the isomorphisms corresponding to each adjacent pair of edges in this path to move the cross in $G_{uv}$ to $xy$. $Box$
By Lemma 1, we're entitled to use the name $G_times$ for an arbitrary graph $G_{xy}$. We now have the graphs $G_parallel$ and $G_times$; it remains to show that they're non-isomorphic and that they're indistinguishable to Weisfeiler–Lehman.
Lemma 2. For any connected, 3-regular graph $G$, we have $G_parallel notsimeq G_times$.
Proof sketch. It turns out that the only isomorphisms of $G_parallel$ and $G_times$ are isomorphisms induced by isomorphisms of $G$, and isomorphisms of the form used in the proof of Lemma 1. But no such isomorphism can transform $G_times$ into $G_parallel$ because $G_times$ has a cross edge and $G_parallel$ does not. $Box$
Now, indistinguishability. Weisfeiler–Lehman is definable in so-called "fixed-point logic with counting." This is first-order logic plus:
counting quantifiers: for each natural number $n$, you can write $exists^{geq n}x,varphi(x)$, meaning "There exist at least $n$ values of $x$ that satisfy $varphi$." This can already be expressed in ordinary first-order logic, just by saying that there exist distinct $x_1, dots, x_n$ that all satisfy $varphi$, but the (rather subtle) point here is that the counting quantifier only uses just one variable, whereas the "pure" first-order expression uses $n$ distinct variables.
inductive definitions. These let you build up a relation $R$ as follows. You start with $R=emptyset$. Then, you add to $R$ all the tuples that satisfy a formula $varphi$, and keep doing that until you run out of tuples to add. $varphi$ itself can depend on $R$, so you can build up some interesting things.
In particular, you can build up an equivalence relation corresponding to the colour-classes of Weisfeiler–Lehman. The counting quantifiers let you talk about the numbe of neighbours of each colour, and the inductive definitions let you recursively refine the colouring based on the number of neighbours of each colour in the previous step.
A separator of a graph $G=(V,E)$ is a set $Ssubseteq V$ such that no component of $G-S$ has more than $|V|/2$ vertices. In the following, I say "less than about $2k$" because I'm silently translating from fixed-point logic with counting to so-called "infinitary logic with counting", which roughly doubles the number of variables. I don't remember the exact details, and it's not important enough to hunt them down.
Theorem 3. Let $varphi$ be a formula of fixed-point logic with counting, using $k$ distinct variables. If $G$ is a graph with no separator of size less than about $2k$, then $varphi$ cannot distinguish $G_parallel$ from $G_times$.
Proof sketch. Very roughly speaking, while you're evaluating the formula $varphi$ on $G_parallel$ or $G_times$, you might need to consider $k$ vertices as being the value of some variables at the current iteration of an inductive construction and $k$ more variables as being the value of the variables at the previous iteration. The fact that $G$ has no small separators means that, even if we fix those vertices, we can still move the cross around in a large component of the rest of the graph, without the formula "knowing" that we've done that, so the formula can never "see" the cross, so it can never tell the difference between the graph with the cross and the graph without it. $Box$
For any fixed $d$, $d$-dimensional Weisfeiler–Lehman can be expressed as a formula of fixed-point logic with counting, using some number $k$ of variables ($kapprox 2d$ is enough, as I recall). Since that formula can't tell the difference between the non-isomorphic graphs $G_parallel$ and $G_times$ as long as $G$ has no small separators, nor can Weisfeiler–Lehman.
Guess who got a PhD doing this kind of stuff...
Yes, there are non-isomorphic connected graphs that cannot be distinguished by Weisfeiler–Lehman. The following construction is due to Cai, Fürer and Immerman (An Optimal Lower Bound on the Number of Variables for Graph Identification, Combinatorica 12(4):389–410, 1992; PDF).
Take any connected, $3$-regular graph $G=(V,E)$. We will produce non-isomorphic graphs $G_parallel$ and $G_times$ from $G$, that are indistinguishable by Weisfeiler–Lehman. These will be made by producing a gadget for each vertex of $G$ and, for each edge $xyin E$, connecting the gadgets for $x$ and $y$ by a pair of parallel edges.
The vertices of $G_parallel$ are is defined as follows.
For each $xyin E$, we create four (distinct) vertices, $a_{x,y}$, $a_{y,x}$, $b_{x,y}$ and $b_{y,x}$.
For each $xin V$, we create a vertex $c_{x,S}$ for each odd-cardinality subset of $Gamma(x)$ (the neighbours of $x$ in $G$). So, if $x$'s neighbours are $u$, $v$ and $w$, we create vertices $c_{x,{u}}$, $c_{x,{v}}$, $c_{x,{w}}$ and $c_{x,{u,v,w}}$.
The edges of $G_parallel$ are defined as follows. For each edge $xyin E$, we add:
- the two edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$;
- the edges $a_{x,y}c_{x,S}$ for each $S$ such that $yin S$;
- the edges $b_{x,y}c_{x,S}$ for each $S$ such that $ynotin S$.
Note that $G$ is undirected so if $xyin E$, then $yxin E$ also, and we follow the above rules twice for each edge of $G$.
Now, let $xy$ be any edge in $G$ and let $G_{xy}$ be the graph made from $G_parallel$ by deleting the edges $a_{x,y}a_{y,x}$ and $b_{x,y}b_{y,x}$ and replacing them with the "cross" edges $a_{x,y}b_{y,x}$ and $b_{x,y}a_{y,x}$. The following lemma is the key point of the construction.
Lemma 1. For any edges $uv,xyin E$, the graphs $G_{uv}$ and $G_{xy}$ are isomorphic.
Proof sketch. You can move the cross edge around the graph in the following sense. For any pair of edges $ij,jkin E$, there's an isomorphism of $G_{ij}$ that exchanges $a_{j,i}$ and $b_{j,i}$ and exchanges $a_{j,k}$ and $b_{j,k}$. This isomorphism is a permutation of the vertices $c_{j,S}$, and it fixes every other vertex in $G_{ij}$. If you draw the fragment of the graph corresponding to vertex $j$ and its incident edges, the isomorphism should be pretty obvious.
This means that $G_{ij}simeq G_{jk}$, because the isomorphism "uncrosses" the edge $ij$ and "crosses" the edge $jk$. Since $G$ is connected, it contains a path whose first edge is $uv$ and whose last edge is $xy$, and we can use the isomorphisms corresponding to each adjacent pair of edges in this path to move the cross in $G_{uv}$ to $xy$. $Box$
By Lemma 1, we're entitled to use the name $G_times$ for an arbitrary graph $G_{xy}$. We now have the graphs $G_parallel$ and $G_times$; it remains to show that they're non-isomorphic and that they're indistinguishable to Weisfeiler–Lehman.
Lemma 2. For any connected, 3-regular graph $G$, we have $G_parallel notsimeq G_times$.
Proof sketch. It turns out that the only isomorphisms of $G_parallel$ and $G_times$ are isomorphisms induced by isomorphisms of $G$, and isomorphisms of the form used in the proof of Lemma 1. But no such isomorphism can transform $G_times$ into $G_parallel$ because $G_times$ has a cross edge and $G_parallel$ does not. $Box$
Now, indistinguishability. Weisfeiler–Lehman is definable in so-called "fixed-point logic with counting." This is first-order logic plus:
counting quantifiers: for each natural number $n$, you can write $exists^{geq n}x,varphi(x)$, meaning "There exist at least $n$ values of $x$ that satisfy $varphi$." This can already be expressed in ordinary first-order logic, just by saying that there exist distinct $x_1, dots, x_n$ that all satisfy $varphi$, but the (rather subtle) point here is that the counting quantifier only uses just one variable, whereas the "pure" first-order expression uses $n$ distinct variables.
inductive definitions. These let you build up a relation $R$ as follows. You start with $R=emptyset$. Then, you add to $R$ all the tuples that satisfy a formula $varphi$, and keep doing that until you run out of tuples to add. $varphi$ itself can depend on $R$, so you can build up some interesting things.
In particular, you can build up an equivalence relation corresponding to the colour-classes of Weisfeiler–Lehman. The counting quantifiers let you talk about the numbe of neighbours of each colour, and the inductive definitions let you recursively refine the colouring based on the number of neighbours of each colour in the previous step.
A separator of a graph $G=(V,E)$ is a set $Ssubseteq V$ such that no component of $G-S$ has more than $|V|/2$ vertices. In the following, I say "less than about $2k$" because I'm silently translating from fixed-point logic with counting to so-called "infinitary logic with counting", which roughly doubles the number of variables. I don't remember the exact details, and it's not important enough to hunt them down.
Theorem 3. Let $varphi$ be a formula of fixed-point logic with counting, using $k$ distinct variables. If $G$ is a graph with no separator of size less than about $2k$, then $varphi$ cannot distinguish $G_parallel$ from $G_times$.
Proof sketch. Very roughly speaking, while you're evaluating the formula $varphi$ on $G_parallel$ or $G_times$, you might need to consider $k$ vertices as being the value of some variables at the current iteration of an inductive construction and $k$ more variables as being the value of the variables at the previous iteration. The fact that $G$ has no small separators means that, even if we fix those vertices, we can still move the cross around in a large component of the rest of the graph, without the formula "knowing" that we've done that, so the formula can never "see" the cross, so it can never tell the difference between the graph with the cross and the graph without it. $Box$
For any fixed $d$, $d$-dimensional Weisfeiler–Lehman can be expressed as a formula of fixed-point logic with counting, using some number $k$ of variables ($kapprox 2d$ is enough, as I recall). Since that formula can't tell the difference between the non-isomorphic graphs $G_parallel$ and $G_times$ as long as $G$ has no small separators, nor can Weisfeiler–Lehman.
Guess who got a PhD doing this kind of stuff...
answered 5 hours ago
David Richerby
65.8k15100190
65.8k15100190
add a comment |
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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.
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%2f102062%2fhard-connected-instances-for-weisfeiler-lehman-test-of-isomorphism%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
Would connecting all vertices to a common vertex work?
– Yuval Filmus
7 hours ago
@YuvalFilmus Yes. That's a much shorter answer than the epic that I'm writing.
– David Richerby
6 hours ago
@YuvalFilmus Sorry, can you please elaborate? You mean two star graphs?
– novadiva
6 hours ago
I'm sure you can figure it out.
– Yuval Filmus
6 hours ago
1
I guess what you mean is that you add additional node to the graphs above, which is connected to every vertex?
– novadiva
6 hours ago