Sunday, May 18, 2014

''4col \le 3col is counter-intuitive and makes me sad'' NOT ANYMORE!

 (ADDED LATER- THE PROOF BELOW SEEMS TO BE WRONG- A COMMENTER POINTED OUT A MISTAKE. IF YOU CAN FIX IT PLEASE
LEAVE COMMENT. I WILL POINT OUT MISTAKE WHEN IT COMES.)

FINAL ADD: I DID THE PROOF IN LATEX HERE

A COMMENTER POINTED OUT THAT LOVASZ HAD A SANE PROOF A LONG TIME AGO.
IT GOES THROUGH HYPERGRAPHS. Here is a link to his paper.


In my ugrad theory class (reg,P,NP,Dec,c.e) I proved that SAT is NP-complete. In the next lecture I proved that  SAT \le 3-col, so 3-col is NP-complete. I then proved 3-col \le 4-col. I was planning on proving 4-col \le 3-col but a student beat me to it (I love when that happens!).A student asked

Is 4-col \le 3-col ?

So I did the obvious thing--- we discussed it and we VOTED on it. After the vote I asked one of the naysayers to say why NO. He said that he really couldn't see how you could do anything  reasonable to get 4-col\le 3-col. I told him he was RIGHT but he was WRONG. Say what?

I told him that 4-col \le 3-col but the reduction is INSANE as it goes 4-col \le SAT (since SAT is NP-complete) and then SAT \le 3-col, as I just showed.   So the student is RIGHT in that there is no `easy way to do it' (that statement is informal) but was WRONG since YES 4-col \le 3-col. He WAS onto something and I wanted to make sure he knew that, even though he was wrong.

He understood all of this, but later when I had students tell me their FAV and LEAST FAV things in the course he wrote Least FAV: 4-col \le 3-col: it's counter intuitive and makes me sad.(Side note: The women who sits next to him in class wrote that 4-col \le 3-col is her FAV part of the course.)

I have asked myself and some people if there is a SANE reduction 4-col \le 3-col. I must not have asked that many people or thought about it myself that hard, since now that I was inspired to make this student happy I came up with an UTTERLY SANE reduction:

Given G on vertices v(1),....,v(n) and edge set E we construct G' : G is 4-col iff G' is 3-col.

Vertices of G': For all 1\le i \le n vertices v(i,1), v(i,2), v(i,3), v(i,4). Also  vertices  T, F, and R. The colors will be T, F,R. We think of coloring v(i,3) T as meaning that in G node i is colored 3. (I will add more vertices later)

Edges of G' : The vertices T, F, R are all connected, so they are a triangle. Every v(i,j) nodes is connected by an edge to R. To make sure that every vertex of G gets at most one color we have for all 1\le i\le n the edges

UPDATE- THE REST OF THIS POST IS STUFF I ADDED LATER WHICH I BELIEVE IS NOW A CORRECT PROOF.

KEY- there is a gadget GADF(x,y) such that if x and y are both F then it
has an output node that is F. AND there is a gadget GADT(x,y) such that if both x,y are T then it has an output node that is T. GADF is used in the usual proof that SAT \le 3-COL.  GADT I have never seen used but it is a trivial variant of GADF.

To make sure that at least one of v11, v12, v13, v14 is T, use GADF the same way as in the usual ST \le 3-COL proof: GADF(GADF(v11,v12),GADF(v13,v14))
and have the output be connected to both F and R.

To make sure that at most one of v11, v12, v13, v14 is T have

GADT(v11,v12) connect output to both T and R

GADT(v11,v13) connect output to both T and R

GADT(v11,v14) ...

GADT(v12,v13) ...

GADT(v12,v14)...

GADT(v13,v14)...

 How to deal with the edges of G ? My original proof was wrong here as well.
But easily fixed with the gadgets. For all edges (vi,vj) in G we need to make
sure that vi1 and vj1 are NOT both T, vi2 and vj2 are NOT both T, vi3 and vj3 are NOT both T, vi4 and vj4 are NOT both T. use GADT and connect to T,R
for all four of these.

THANKS to all who pointed out mistakes in the original and I HOPE that the current one is correct.

I LEAVE the mess I had before so that comments on it below still make sense,
though if you are reading this for the first time can skip.
(v(i,1),v(i,2)),
(v(i,1),v(i,3)),
(v(i,1),v(i,4)).
(v(i,2),v(i,3)),
(v(i,2),v(i,4)),
(v(i,3),v(i,4)),

THIS IS THE PROBLEM- I WANTED TO MAKE SURE THAT ONLY ONE OF
v(i,1), v(i,2), v(i,3), v(i,4) WAS TRUE. BUT THE WAY THAT I DO IT I
CREATE A 5-CLIQUE WITH THESE VERTICES AND R.
SO NEED A WAY TO MAKE SURE THAT ONLY ONE OF THESE IS TRUE
WHILE MAKING SURE GRAPH IS STILL 3-COL. GADGET SIMILAR TO THE
ONE TO MAKE SURE THAT AT LEAST ONE IS T (USED IN SAT\le 3-COL
AND LATER IN THIS PROOF) MIGHT WORK.

To make sure that at least one of v(i,1), v(i,2), v(i,3), v(i,4) use the same gadget used in the proof that SAT \le 3-col. (This will introduce some more vertices and edges.)
THATS THE ENTIRE CONSTRUCTION!

Now he is happy and I am happy that he is happy!

Note that this generalizes to c-col \le 3-col.

10 comments:

  1. When proving 4-col \le 3-col, shouldn't you construct a graph G' such that G is 4-col iff G' is 3-col?

    ReplyDelete
    Replies
    1. I think that is happening, just there is a typo in "G is 3-col iff G' is 4-col." There are a couple other grammatical typos.

      Unfortunately, I cannot understand the reduction, won't v(i,1), v(i,2), v(i,3), v(i,4), R form a 5-clique?

      Delete
    2. Bob- Typo fied, thanks
      Dom-Proof retracted, thanks. I hope something like what I have works- need a gadget that is 3-col and makes sure that only one of four vertices is colored T.

      Delete
  2. I think Lovasz is attributed with proving this reduction (perhaps not the same proof)

    ReplyDelete
    Replies
    1. Since current proof is WRONG I hope he had a different proof. If you have a reference or a proof please leave as a comment. If proof is too long to post as a comment please email me and I will modify my post.

      Delete
    2. I think the details differ, but the main ideas in Lovasz's reduction are similar to yours. Here is the paper http://www.cs.elte.hu/~lovasz/scans/covercolor.pdf. It goes in two steps: reducing k-colorability to deciding if a hypergraph is 2-colorable, and then reducing 2-coloring a hypergraph to 3-coloring a graph. Chvatal has very nice lecture notes that explain the reduction in a single shot: http://users.encs.concordia.ca/~chvatal/notes/color.html.

      Delete
  3. I think I have seen a solution to reducing 6COL to 3COL by replacing each vertex by a triangle and each edge by a suitable gadget. Then of course since 4COL<=6COL, we get a reduction. Now I cannot recall the gadget, but it should not be too complicated.

    ReplyDelete
  4. I have correct my proof (more like overhauled it completely) and I think it is now correct. THANKS to all who pointed out mistakes.

    Lance and I get many spam comments, but one we got today is particularly off-base considering that my original was wrong and I had to modify:

    Howdy! This post could not be written much better!
    Going through this article reminds me of my previous roommate!
    He always kept talking about this. I will send this information to
    him. Pretty sure he's going to have a great read.
    Thanks for sharing!|

    (They then had a link to who-knows-what.)

    ReplyDelete
  5. I have LaTeXed up the correct proof and the post now points to it.

    ReplyDelete
  6. bill, out of curiosity, how much spam do you receive normally ? you stated that you get spam comments ? I guess it is a good thing after all to have to go through approval method rather than being able to post directly.
    and more interestingly, how many readers do you have on a weekly basis ? or per post ?

    ReplyDelete