(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
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.
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.