我最近一直在学习交互式证明,并且一直想知道整个事情是否只是理论上的好奇心,或者它是否有实际用途。我以为我会从淋浴中发生的一个例子开始:
最近有消息说“上帝的数目” = 20。(上帝的数目是解决魔方的最少步骤。)尽管这很有趣,但似乎有些曲折……这在教科书中不是多项式时间可验证的“正常”证明。该证明具有明显的“蛮力”味道-我的意思是,莫雷博士实验室的帅哥试图在Google大型超级计算机中数十亿个多维数据集的组合中尝试找到这个整齐,严密的下限。
无论如何,问题是:我们如何确定Morley Davidson博士及其团队是诚实的?好吧,因为它在数学上并不严格,所以可以立即将权威人士的论据从窗口中排除。显而易见的替代方案是通过检查源代码并再次运行整个过程来重新验证证明,这似乎是对计算资源的严重浪费,更不用说每个希望对此深信不疑的人都会这样做。需要在自己的工作站上进行操作-对于真正的怀疑论者而言,这是一个非常乏味且令人不愉快的主张。因此,这似乎是一种本体论的deilema。
所以我认为这正是我们需要交互式证明的情况。Google的超级计算机可能是功能强大但具有欺骗性的Prover,而我们怀疑的,甚至不是肛门的公众人士都是Polynomially限制的验证者。如果我们能以某种方式多次查询“ Oracle”,并确信这个下限,那么我们可以确信,他是正确的事实,这是毫无疑问的。
因此,似乎决策问题“上帝的号是<20”在于或可阐明如下(非正式)
对于魔方中的所有初始组合,存在一个步长<= 20的解决方案,β可以解决该问题。
(不确定这是否正确,但是和β的大小都很小,给定一个初始配置和一个解决方案,可以很容易地验证它确实可以解决该多维数据集)
决策问题“神的个数是20”可以重述为
上帝的数字小于20 ,存在一个解决方案,可以解决魔方的一些初始组合,需要20步。
因此,可能有IP [n]证明。(再次,检查我的工作情况)
我的问题是双重的
- 有实际的方法吗?
- 还有其他一些交互式证明“实际”使用的例子吗?