先说明一下,我对于信息论并不很熟,知道一点基本概念,但是在书上看到了有趣的观点,所以抄下来抛个砖头,希望大家指正。所抄的书是Elements os Information Theory(《信息论基础》),作者Thomas M.Cover,& Joy A.Thomas,有中译本,我现在翻的就是中译本。
该书第7章为Kolmogorov复杂度。1965年Kolmogorov给出了复杂度的内在描述。他把算法复杂度定义为能够描述该对象的二元计算机程序的最短长度。Kolmogorov做出了一个至关重要的观察,即复杂度的定义本质上是独立于计算机的。一个令人惊讶的事实是随机变量的最短二元计算机描述的期望长度近似的等于这个随机变量的熵。当然在现实世界中,我们基本上并不使用最短的计算机程序,因为寻找一个最短程序可能需要花费无限长的时间。或者说,Kolmogorov复杂度不是一个可计算函数。把Kolmogorov复杂度作为一种思维方式可能对我们更有帮助。我们通常使用很短但不一定是最短的程序。寻找着这种很短而不是最短的程序的思想非常重要,它是归纳推理的一个很好的基础。而且从我们对Kolmogorov复杂度的描述,可以明显地看出来与Ocam原则的关系,似乎可以说,Kolmogorov复杂度是Ocam原则的数学上的说法。
下面谈一点个人的感觉,似乎有点不利于Ocam原则。我们现在来看托勒密的地心说和哥白尼的日心说,其中一个重要的原因就是基于Ocam原则,日心说比地心说能够更加简单地描述太阳系。由Kolmogorov复杂度的相应性质,很容易看出来,虽然日心说确实比地心说更加简洁方便,但是我们几乎不可能证明这一点。那么,一般的说法是,虽然Ocam原则很重要,但是我们对于简单性的判断仍然是基于直觉和现实的应用。先说明一下,我对于信息论并不很熟,知道一点基本概念,但是在书上看到了有趣的观点,所以抄下来抛个砖头,希望大家指正。所抄的书是Elements os Information Theory(《信息论基础》),作者Thomas M.Cover,& Joy A.Thomas,有中译本,我现在翻的就是中译本。
该书第7章为Kolmogorov复杂度。1965年Kolmogorov给出了复杂度的内在描述。他把算法复杂度定义为能够描述该对象的二元计算机程序的最短长度。Kolmogorov做出了一个至关重要的观察,即复杂度的定义本质上是独立于计算机的。一个令人惊讶的事实是随机变量的最短二元计算机描述的期望长度近似的等于这个随机变量的熵。当然在现实世界中,我们基本上并不使用最短的计算机程序,因为寻找一个最短程序可能需要花费无限长的时间。或者说,Kolmogorov复杂度不是一个可计算函数。把Kolmogorov复杂度作为一种思维方式可能对我们更有帮助。我们通常使用很短但不一定是最短的程序。寻找着这种很短而不是最短的程序的思想非常重要,它是归纳推理的一个很好的基础。而且从我们对Kolmogorov复杂度的描述,可以明显地看出来与Ocam原则的关系,似乎可以说,Kolmogorov复杂度是Ocam原则的数学上的说法。
下面谈一点个人的感觉,似乎有点不利于Ocam原则。我们现在来看托勒密的地心说和哥白尼的日心说,其中一个重要的原因就是基于Ocam原则,日心说比地心说能够更加简单地描述太阳系。由Kolmogorov复杂度的相应性质,很容易看出来,虽然日心说确实比地心说更加简洁方便,但是我们几乎不可能证明这一点。那么,一般的说法是,虽然Ocam原则很重要,但是我们对于简单性的判断仍然是基于直觉和现实的应用。这对于Ocam原则是一个小小的缺憾。当然我个人仍然认为Ocam原则和Popper的证伪论是科学必须遵守的两个原则。