Remix.run Logo
ColinWright 3 hours ago

I can certainly explain it more, a question of "better" is debatable!

Here's the process:

(A) You give me a graph to 3-colour;

(B) I claim I can 3-colour it;

(C) You demand that I prove it;

(D) I colour it with colours ABC and cover the vertices;

(E) You point at an edge;

(F) I reveal the colours of the vertices at the ends of the edge;

(G) If I have coloured the graph then the colours revealed will always be different;

(H) We repeat this process with a permutation of the colours between each trial;

(I) If I'm lying then eventually you'll pick an edge where either the vertices are not coloured, or the have the same colour.

(J) This process reveals nothing about the colouring, but proves (to some level of confidence) that I'm telling the truth.

So ... what's unclear?

Instructions on how to email me are in my profile if you prefer ...

kadoban 2 hours ago | parent [-]

How do I know/prove that you're not just saying any random two colors for whichever edge I choose?

ColinWright 2 hours ago | parent [-]

The version I'm describing has it physically sitting in front of you at the time, so you can see that the colours haven't been changed "on the fly" after you pick an edge. In this version:

(A) I colour it;

(B) I cover the vertices so you can't see any of them, but I can no longer change them;

(C) You choose the edge, and I reveal the endpoints.

Converting this to a digital version requires further work ... my intent here was to explain the underlying idea that I can prove (to some degree of confidence) that I have a colouring without revealing anything about it.

So just off the top of my head, for example, I can, for each vertex, create a completely random string that starts with "R", "G", or "B" depending on the colour of the vertex. Then I hash each of those, and send you all of them. You choose an edge and send me back the two hashes for the endpoints, and I provide the associated random strings so you can check that the hashes match.

lordnacho 37 minutes ago | parent [-]

This reminds me of the "Where's Waldo (Wally in UK)" example:

You can prove that you found Wally with a large piece of paper with a hole in it. You move the hole over Wally, and the person you're sitting with can see you found it, but he's no wiser about where.

fragmede 8 minutes ago | parent [-]

https://youtu.be/5qzNe1hk0oY for a video if you can't picture that.