所罗门诺夫的偏见 ※
作为合格的贝叶斯主义者,所罗门诺夫接下来提出了要将不同的预测性理论进行比较,判断这些理论各自的置信度。当然,为了做到这一点,首先要在所有对 0 - 1 序列进行概率计算的算法组成的集合上取一个先验概率。为了让所罗门诺夫的这一偏见与贝叶斯主义相容,其中一个条件就是不同的预测性理论的先验置信度之和必须等于 1。
当然,许多方法可以做到这一点。但是,因为拥有 个字符的源代码的数目会随着 呈指数增长,所以从直觉上来说,与较短的源代码相比,较长的源代码的置信度呈指数减少。这实际上就必然相当于使用某种非常强大的奥卡姆剃刀,我们之后会再谈到。
更加实际的情况是,给定某个编程语言或图灵机,要给可计算的预测性理论组成的集合选定先验概率分布,有下面这种非常典型的方法 7。令 为对应着预测性理论的长度为 的源代码数目。我们可以认为所有这样的源代码的先验概率都等于 8。换句话说,某个理论 的先验概率取决于选定的语言中对这一理论的描述长度 ,具体的等式 9 就是 。
7这当然不是唯一可以想象的概率分布。但重点在于,因为长度为 的理论数目 会随着 呈指数增长,所以在任何“合理的”偏见中,某个理论的先验置信度都随着其描述的长度增加而呈指数下降。
8从技术细节上来说,我们需要对 的情况进行特殊处理。
9我隐藏了许多技术上的难点,它们来自图灵机在可计算性上的限制……我们之后会谈到其中一些限制。
特别要提到的是,这个先验概率与所罗门诺夫复杂度密切相关,因为先验概率依赖于预测性理论的描述长度。然而这些描述的长度与选用的编程语言有关,所以它们是主观的。也就是说,我们刚才将贝叶斯先验概率的主观性与所罗门诺夫复杂度的主观性联系在了一起。根据图灵机的通用性与编译器的存在性,我们得出结论,这些主观性都是随意的……但其实也没那么随意!
所罗门诺夫曾如此雄辩地解释道:“长期以来,我感觉我的算法概率理论依赖于一台参考机器的事实是这些概念中的一个严重缺陷,我曾尝试寻找一台‘客观’的通用机器。当我最终找到了这样一台机器时,我发现自己并不需要它——它对我没什么用处!(……)没有数据也能预测,但没有先验概率就不可能预测。”