您可能会发现引人入胜的第一件事就是Kolmogorov的复杂性;我当然觉得它很有趣,并且由于您没有提到它,所以我认为它可能值得一提。
话虽如此,回答这个问题的更一般的方法可能是基于语言和自动机的理论。确定性有限自动机是O(n)个字符串处理器。也就是说,给定长度为n的字符串,它们将精确地以n步来处理该字符串(这在很大程度上取决于您如何定义确定性有限自动机;但是,DFA当然不需要更多的步骤)。非确定性有限自动机可以识别与DFA相同的语言(字符串集),并且可以转换为DFA,但是要在顺序确定性机器上模拟NFA,通常必须探索树状的“搜索空间”,以增加复杂性极大。常规语言在计算意义上不是很“复杂”,
您可以类似地查看Chomsky语言层次结构的其他级别-确定性上下文无关,上下文无关(包括非确定性上下文无关语言,不一定可以由确定性下推自动机识别),上下文相关语言,递归和递归数不清的语言和不确定的语言。
不同的自动机主要在外部存储方面有所不同。也就是说,自动机正确处理某种类型的语言需要什么外部存储。有限的自动机没有外部存储;PDA有堆栈,图灵机有磁带。因此,您可以将特定编程问题(对应于一种语言)的复杂性解释为与识别该问题所需的存储量或种类有关。如果您不需要或不需要固定的有限存储量来识别一种语言的所有字符串,则它是一种常规语言。如果您只需要一个堆栈,就可以使用上下文无关的语言。等等。
一般而言,如果乔姆斯基层次结构中较高的语言(因此具有较高的复杂性)在信息理论上也具有较高的熵,我不会感到惊讶。话虽这么说,您可能会发现许多反对这个想法的例子,我也不知道它是否有任何优点。
另外,最好在“理论cs”(cstheory)StackExchange上问这个问题。