柯尔莫哥洛夫的复杂性和我们对意义的追求

数学可以告诉我们如何在生活混乱中寻找秩序




与您最亲爱的人开会是偶然的,还是有某种隐藏的原因? 那么昨天的一个奇怪的梦-是只是随机抛出大脑的突触,还是他揭示了您的潜意识深处的东西? 也许梦想是想告诉您关于未来的事情。 也许不是。 您的近亲患上一种危险的癌症,这一事实是否具有深远的意义,还是仅仅是随机DNA突变的后果?

在我们的生活中,我们经常考虑周围发生的事件的模式。 我们想知道我们的生活是否是随机的,或者它们具有某种意义,即独特而真实和深刻。 作为数学家,我经常转向数字和定理来寻求有关此类问题的想法。 碰巧的是,由于数学逻辑的最深刻的定理之一,我对在生命定律中寻找意义有了一些了解。 简单地说,该定理表明,在所有解释中,原则上不可能找出对法律的解释是最深刻还是最有趣的。 就像生活中一样,对数学意义的追求是无限的。



一个小的前奏。 请考虑以下三行字符。

1.100100100100100100100100100100100100100100100100100100100100100100100100100100100

2.2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89, 97

3.38386274868783254735796801834682918987459817087106701409581980418

我们如何描述它们? 例如,我们可以通过简单地将它们写下来来轻松完成此操作-就像我们刚才所做的那样。 但是,很明显可以很简短地描述前两行。 第一个只是重复“ 100”的序列。 第二个是前几个素数的列表。 那第三呢? 可以通过显示整行来简单描述。 但是,对她来说,有没有更好,更简短的描述?

在1960年代初期,美国少年格雷戈里·海廷Gregory Haitin) ,举世闻名的俄罗斯(和苏联)数学家安德烈·尼古拉耶维奇 ·科莫莫洛夫Andrei Nikolaevich Kolmogorov )和计算机科学先驱雷·所罗门诺夫Ray Solomonov)独立制定了一种测量字符序列复杂性的方法。 他们的想法开始被称为柯尔莫哥洛夫的复杂性理论算法信息论 。 他们假设字符串的复杂度取决于可以产生字符串的最短计算机程序的长度。 也就是说,排成一行,寻找产生它的最短计算机程序。 程序是一种行描述。 如果这些程序中最短的一个看起来很短,那么该行中就有一个简单的模式,而且不是很复杂。 我们说,在这一行中,算法内容很少。 相反,如果需要较长的程序才能生成字符串,则该字符串很复杂,并且其算法内容更大。 对于任何一行,您都必须寻找产生这样一行的最短程序。 这种程序的长度称为Kolmogorov字符串复杂度。

让我们回到前三行。 可以使用相对较短的计算机程序来描述前两行:

1.打印“ 100” 30次。

2.打印前25个素数。

第一行的Kolmogorov复杂度小于第二行的Kolmogorov复杂度,因为第一个程序比第二个程序短。 那第三呢? 这条线没有明显的模式。 但是,您可以编写一个显示以下顺序的愚蠢程序:

3.输出“ 38386274868783254735796801834682918987459817087106701409581980418”

这样的程序可以应付任务,但是不能令人满意。 也许有一个较短的程序来演示此行中模式的存在。 当产生字符串的最短程序是“打印字符串”程序时,我们说该字符串非常复杂,不包含任何已知模式。 没有模式的字符串称为随机。 但是,尽管我们还没有看到模式,但是它可以存在。 在数学中,就像在生活中一样,我们面临着许多随机的模式。

我们可以尝试利用现代计算机的惊人功能来找到模式和最短的程序。 如果有一台能够简单地计算任何字符串的Kolmogorov复杂度的计算机,那不是很好吗? 这样的计算机将接受字符串作为输入,并输出能够输出该字符串的最短程序的长度。 当然,有了人工智能,深度学习,大数据,量子计算等所有这些新奇事物,创建这样的计算机应该很容易。

las,这样的计算机是不可能创建的! 尽管现代计算机功能非常强大,但这项任务是不可能的。 这就是数学逻辑最深定理之一的内容。 该定理实际上说,不能计算字符串的Kolmogorov复杂度。 没有机械设备可以确定生成给定字符串的最小程序的大小。 关键不是我们当前的计算机技术水平不能满足任务要求,或者我们不够聪明,无法编写这样的算法。 事实证明,描述和计算的想法表明计算机原则上不能在任何行上执行此类任务。 并且,如果计算机可能能够搜索字符串中的某些模式,那么它就无法找到最佳模式。 我们可能会找到一个显示特定序列的简短程序,但是可能总是存在一个更短的程序。 我们永远不会知道。

序列的Kolmogorov复杂度不可算的非常正式的证明。 但这是矛盾的证明,通过观察几个小巧而甜美的悖论,我们可以大致想象它是如何工作的。

有趣数的悖论与所有自然数都是有趣的陈述有关。 1是第一个数字,很有趣。 2是第一个偶数。 3是第一个奇数素数。 4是一个有趣的数字,因为4 = 2×2和4 = 2 + 2。 这样,您可以继续下去,找到许多有趣的属性。 在某些时候,我们可以遇到没有有趣属性的数字。 我们可以将此数字称为第一个无趣的数字-但这本身已经是一个有趣的属性。 结果,有趣的数字也很有趣!

Kolmogorov证明中包含的思想类似于Berry关于大数描述的悖论的思想。 请注意,我们使用的单词越多,可以描述的数字就越大。 例如,您可以用三个词来描述“万亿兆”,而用五个词来描述“万亿兆兆万亿”。 现在考虑以下短语描述的数字:

少于15个字不能描述的最小数字]

描述这个数字需要15、16甚至更多的单词。 不能用12、13或14个字来描述。 但是,这就是问题所在:上面的短语用10个单词描述了这个数字[ 12个单词/大约。 佩雷夫 ]。 我们对数字的描述与对数字的描述相矛盾-这就是悖论。

在有趣的数字悖论和Berry悖论中,我们陷入矛盾,这表明存在描述事物的精确方法。 同样,Kolmogorov复杂度的不可计算性证明来自以下事实:如果它是可计算的,就会产生矛盾。

柯尔莫哥洛夫的复杂性不可计算的事实是纯数学的结果,我们不应该将此理想世界与更为复杂和混乱的现实相混淆。 但是,我们可以将一些与Kolmogorov复杂性相关的一般点带入现实世界。

很多次,我们遇到了看起来完全混乱的事物。 随机性使我们感到紧张,我们正在寻找可以部分消除混乱的模式。 如果我们找到一种模式,则尚不清楚这是否是解释我们观察结果的最佳模式。 我们可能想知道是否有更深层次的模式可以提供更好的解释。 Kolmogorov复杂性理论告诉我们,从根本上讲,没有确定最佳模式的保证方法。 我们根本不会知道我们找到的模式是否是最好的。

但这正是使搜索变得无限有趣的原因。 根据定义,某些事情如果需要其他思考的话会很有趣。 一个显而易见且完全理解的事实不需要进一步思考。 六个将是47的事实是完全可以理解和无趣的。 只有当我们不确定想法时,我们才需要确认它们并进行反思。 寻找改进的模式将永远是有趣的。

现实世界增加了复杂性。 如果在字符串和计算机程序的世界中没有错误,则可以在现实世界中犯错误。 我们可以很容易地发现某个程序是否显示字符串。 尽管我们可能无法确定用于输出特定行的最佳程序,但我们可以确定它是否显示所需的行。 相反,现实世界要复杂得多。 在我们看来,实际上似乎不存在一个序列。

我们对追求意义的理解开始形成。 我们鄙视机会并崇拜模式。 我们通过生物学程序寻找能够解释我们所见事物的模式。 但是我们不能确定发现的模式是否正确。 即使我们可以以某种方式保证没有错误并达到与计算机类似的完美效果,但在某个地方仍然总会有更深层的真理。 这种紧张气氛加剧了我们对文学,戏剧和电影的热爱。 当我们阅读小说或观看戏剧时,作者或导演向我们展示一系列具有共同主题,模式或道德的事件。 文学,戏剧和电影为我们提供了一种摆脱周围世界通常难以理解和毫无意义的混乱的绝妙方法。 优秀的文学作品会走得更远,并给我们留下许多解释。 我们面临着Kolmogorov复杂性无法估量的问题。

这种紧张关系也决定了我们如何生活。 通过所谓的随机事件,我们寻找模式和结构。 生活充满了坎s。 拥有坠入爱河,与孩子们玩耍的快乐,以及艰苦工作结束时的成就感。 人际关系破裂会带来痛苦,积极尝试完成一项任务后会遭受失败的痛苦,亲人的死亡会带来悲剧。 我们正在努力寻找所有这一切的意义。 我们鄙视完全机会的感觉,以及仅遵循混沌,简单的物理定律的想法。 我们想知道周围世界是否有任何意义,目的和意义。 我们需要一个神奇的生活故事,并且我们要给自己讲故事。

有时这些故事是错误的。 有时我们愚弄自己和他人。 有时我们会正确识别模式。 但是即使故事是真实的,也不一定是最好的。 我们永远无法确定,在最深处不会存在更基本,更准确的故事。 随着年龄的增长和陷入痛苦之中,我们获得了关于宇宙的某些想法,这是我们以前无法获得的。 我们发现了改进的模式。 也许我们开始看清事情。 还是不行 我们永远不会知道。 但是我们知道搜索肯定不会结束。

Nozon Janowski-数学科学博士,在纽约城市大学教育中心工作,在该大学布鲁克林学院的计算机科学教授。

Source: https://habr.com/ru/post/zh-CN421763/


All Articles