
解决方案在谷歌的工程师向MIT的研究学者请教了这个问题,而这个研究学者和他的同事便想到了下面这个解决方案,这个方法不需要任何计算机,只需要大工厂、画笔和白纸。
首先电信公司的老板进入工厂,铺上白纸,画上蜂窝网络的图,然后离开工厂。接着谷歌进来了,用彩色画笔画出他们的解,如上图所示一共是三种颜色红蓝紫。
谷歌在离开前用白纸覆盖住节点,当需要解的人进入时,他看到的就是

显然这个方法可以把谷歌的解隐藏住,但是对那个人却毫无帮助,他只知道谷歌可能只是给了一个随机的无用解,或者谷歌根本没有着色。
为了让他能够相信谷歌,谷歌给了他一个挑战的机会。他可以随机选择一条边让谷歌去掉连接的两个节点上覆盖的白纸。

注意这个挑战实验会有两中结果:
1、如果两个节点是同色,或者根本没有上色,那么就可以知道谷歌在说谎,可以不用付钱了。
2、如果两个节点不同色,谷歌可能确实没说谎。
第一种结果很清楚,但第二种结果却没有直接结果,因为即使在挑战实验后,谷歌仍然有可能在说谎,毕竟现在只是看了两个节点。假设有E条不同的边,那么在多次实验后谷歌仍然有可能还是给出错误的解,具体来说,在一次实验后,谷歌成功地让他相信的谷歌有解的概率是(E-1)/E (如果E是1000,那么概率就是99.9%)
再重复一次实验。
铺上白纸,复制网络图,这次谷歌依旧用三种颜色进行上色,但是顺序上随机打乱。
再次再节点上覆盖上白纸,那个人进来以后又随机选一条边的两个节点。这一次,如果一切正常的话,那个人会更相信谷歌一些。因为如果谷歌在说谎的话就需要连续两次的运气,这种情况是可以发生,但是概率相对就小了。谷歌连续两次说谎的概率是(E-1)/E * (E-1) / E (E=1000时 大约是99.8%)
这样的实验可以不断重复到那个人相信谷歌为止。
但是你并不需要和他一起重复,可以试试这个http_web_mit_edu/~ezyang/Public/graph/svg.html。
再次注意我们不可能完全确定谷歌没有说谎,总存在一个非常小的概率使得我们没有发现谷歌确实说谎了。但是经过多次迭代后,(E^2,当这么多次以后),我们就能确定谷歌欺骗我们的概率已经可以忽略了,以至于完全不用担心可能发生的实际情况。接下来就可以安安心心交钱了。
另外一点就是谷歌实际上也在保护他的解,即使想要在协议中了解到一点解的信息也没有关系,因为谷歌每次都把颜色次序打乱,根本获取不到任何数据。