| 第99行: |
第99行: |
| | | | |
| | === '''统计复杂度''' === | | === '''统计复杂度''' === |
| − | 智能体在构建和优化斑图重构机器的过程中,由于计算资源的限制,不能无限制地增加模型的大小。因此我们需要一个能够量化模型复杂度的指标,以便监控和调整模型的大小,确保模型能匹配已有的计算资源。在已有的众多复杂度量化指标中,柯氏复杂度是最符合我们要求的一个指标,[[柯式复杂度]][math]\displaystyle{ K(x) }[/math]是指在通用确定性[[图灵机]](Universal Turing Machine,简称UTM)上运行时生成字符串[math]\displaystyle{ x }[/math]的最小程序长度。
| + | 智能体在构建和优化斑图重构机器的过程中,由于计算资源的限制,不能无限制地增加模型的大小。因此我们需要一个能够量化模型复杂度的指标,以便监控和调整模型的大小,确保模型能匹配已有的计算资源。[[柯式复杂度]][math]\displaystyle{ K(x) }[/math],也就是在通用确定性[[图灵机]](Universal Turing Machine,简称UTM)上运行时生成字符串[math]\displaystyle{ x }[/math]的最小程序长度,是人们常用的一个复杂性度量指标。 |
| | | | |
| − | 柯式复杂度有比较明显的两个问题,第一个问题是它的不可计算性,由于[[图灵机与计算问题|图灵停机]]问题的存在,我们无法构造一个通用算法来决定任意程序是否会在给定输入上停机。这意味着我们不能有效地判断哪些程序是最短的,因为没有方法可以保证最短程序的存在与否。由于没有通用的方法来验证或找到描述字符串[math]\displaystyle{ x }[/math]的最短程序,我们就无法计算柯氏复杂度。即使我们能够找到一个描述字符串[math]\displaystyle{ x }[/math]的程序,我们也无法保证它是最短的。为了确定程序是否为最短程序,我们需要检查所有可能的程序,而这一过程在计算上是不可行的。第二个问题是它可能无法度量程序的结构和动态特性,因为柯式复杂度[math]\displaystyle{ K(x) }[/math]需要考虑字符串中的所有比特,包括随机状态生成的比特。若[math]\displaystyle{ K(x) }[/math]中字符串[math]\displaystyle{ x }[/math]大部分是由随机状态生成,这样会导致[math]\displaystyle{ x }[/math]的特征和重要结构被掩盖。
| + | 然而,柯式复杂度存在两个明显的问题,第一个问题是它的不可计算性,柯氏复杂度仅仅是一个理想化的概念;第二个问题是它可能无法度量程序的结构和动态特性。因为柯式复杂度[math]\displaystyle{ K(x) }[/math]需要考虑字符串中的所有比特,这就包括随机生成的比特。因此,柯氏复杂度会在随机生成的比特上计算出较大的复杂性,而这与我们的直觉不符:复杂性不能等价于随机性。 |
| | | | |
| − | 为了解决上文中柯式复杂度的两个明显问题,计算力学提出了统计复杂度[math]\displaystyle{ C_μ(x) }[/math]的概念,用来量化模型的复杂性,它可以反映[math]\displaystyle{ x }[/math]的结构和[[动态特性]],以及能够计算出有效建模所需的计算资源。它的公式为
| + | 为了解决这两个明显问题,计算力学提出了统计复杂度[math]\displaystyle{ C_μ(x) }[/math]的概念,用来量化模型的复杂性,它可以反映[math]\displaystyle{ x }[/math]的结构和[[动态特性]],以及能够计算出有效建模所需的计算资源。它的公式为 |
| | | | |
| | <math> | | <math> |