计算复杂度与信息之间的关系


11

我在计算神经科学实验室工作,该实验室量化了成对或成组神经元之间的相互信息。最近,老板把重点转移到测量“神经动力学的复杂性”上。在进行这一研究时,我们小组中的某些人似乎将“复杂”等同于“具有高熵”。

有人可以指导我了解信息论意义上的计算复杂度(在CS方面)与熵之间的关系吗?

进一步说明一下,在我看来,像Lempel-Ziv复杂度这样的度量似乎并不是有效的复杂度度量,因为它们将信息量(对用户)与携带大量数据混为一谈。诸如此类的其他措施[Causal State Splitting Reconstruction][1]鲜为人知,但具有吸引人的特性,即随机过程的零复杂度,因为需要零隐藏状态来表示平稳的随机过程。


1
您能否解释一下“复杂”在您的领域中的含义?这是否意味着神经元有意义地发射或更多的神经元参与其中?
vs

@vs:“复杂”有许多竞争性定义。有人说最复杂的过程是熵最高的过程。但是,这意味着随机过程是复杂的,从生物学上看似乎并不现实。即便如此,“有意义地射击”比“更多……参与”更接近,尽管“更有意义地参与”甚至更接近。
mac389 2012年

1
我们理解复杂意味着我们领域的熵更大。我问这个问题是为了了解您的领域对复杂的意义。因此,“更有意义地参与”越接近。好吧,这是我的猜测。对我而言,“更有意义地参与”意味着神经元正在“智能地”交流或“对刺激做出反应”以实现“特定的期望结果”。通常与信息论中的更高熵或信息有关
2012年

@vs:有一个问题是当未知编码方案并且可能会切换时,如何量化熵(就像大脑中的情况)。人们说,利用一个神经元和刺激之间的相互信息来量化该神经元对该刺激的选择性。考虑到许多神经元的实际情况时,这个问题变得更加混乱。
mac389 2012年

1
@ mac389我们可能将任何事物都视为对象的复杂性。以下是一些示例:Kolmogorov复杂度(您可以得到答案)以及各种有时间限制的Kolmogorov复杂度的概念;当您拥有一系列大小不同的对象时,我们将查看算法需要多少时间/空间(作为对象大小的函数)来识别对象属于该类。我认为您在这里有一个相当不平凡的建模问题。
Sasho Nikolov

Answers:



7

许多人提到过Kolmogorov复杂性或其资源受限的变体,但我认为(逻辑)深度这一概念与您正在寻找的更接近。在深度上有几种变体,但是它们都试图达到您所谈论的东西。特别是,纯随机字符串和高度有序/重复性字符串都不深。

深度的概念很直观:如果字符串有简短描述,则字符串很深,但是从该简短描述重建字符串的唯一方法是花费大量时间。这是深度的概念,[1]中引入和发展了其他几个概念。其他标准参考文献为[2]。我将研究这些内容,然后进行正向参考搜索。

[1] L. Antunes,L。Fortnow,D。van Melkebeek,NV Vinodchandran。计算深度:概念和应用。定理。比较 科学 354(3):391--404。也可以从作者的网页免费获得

[2] CH Bennett。逻辑深度和物理复杂性。在R. Herken(Ed。)的《通用图灵机:半个世纪的调查》,牛津大学出版社,牛津(1988),227–-257。


非常感谢您的回答。逻辑深度似乎非常接近我所说的复杂性。
mac389 2012年

3

您可能会发现引人入胜的第一件事就是Kolmogorov的复杂性;我当然觉得它很有趣,并且由于您没有提到它,所以我认为它可能值得一提。

话虽如此,回答这个问题的更一般的方法可能是基于语言和自动机的理论。确定性有限自动机是O(n)个字符串处理器。也就是说,给定长度为n的字符串,它们将精确地以n步来处理该字符串(这在很大程度上取决于您如何定义确定性有限自动机;但是,DFA当然不需要更多的步骤)。非确定性有限自动机可以识别与DFA相同的语言(字符串集),并且可以转换为DFA,但是要在顺序确定性机器上模拟NFA,通常必须探索树状的“搜索空间”,以增加复杂性极大。常规语言在计算意义上不是很“复杂”,

您可以类似地查看Chomsky语言层次结构的其他级别-确定性上下文无关,上下文无关(包括非确定性上下文无关语言,不一定可以由确定性下推自动机识别),上下文相关语言,递归和递归数不清的语言和不确定的语言。

不同的自动机主要在外部存储方面有所不同。也就是说,自动机正确处理某种类型的语言需要什么外部存储。有限的自动机没有外部存储;PDA有堆栈,图灵机有磁带。因此,您可以将特定编程问题(对应于一种语言)的复杂性解释为与识别该问题所需的存储量或种类有关。如果您不需要或不需要固定的有限存储量来识别一种语言的所有字符串,则它是一种常规语言。如果您只需要一个堆栈,就可以使用上下文无关的语言。等等。

一般而言,如果乔姆斯基层次结构中较高的语言(因此具有较高的复杂性)在信息理论上也具有较高的熵,我不会感到惊讶。话虽这么说,您可能会发现许多反对这个想法的例子,我也不知道它是否有任何优点。

另外,最好在“理论cs”(cstheory)StackExchange上问这个问题。


我确实进行了迁移,并感谢您的建议。
mac389 2012年

1

计算复杂性解决了必需的资源:给定特定类型的问题,具有给定的大小,解决该问题所需的资源是什么(通常是时间,空间或两者兼而有之;以及特定类型的计算设备)。然后将问题按复杂性“类”分组。

其中一些是相当笼统和抽象的:即使在原则上,这个问题也可以解决吗?是否需要这种类型的机器?这些思想的介绍仍然是计算机科学领域的研究生主题,并且介绍材料通常引用Chomsky层次结构,该层次结构巧妙地(精美地!)将几种类型的抽象机器和几种类型的抽象映射在一起,数学语言规范。

其中一些处于较低级别,在日常使用中更为实用:此问题是否按问题大小的平方,立方体或其他函数的形式缩放?有趣的是,我确实知道已经发现给定问题的熵的论点对于确定某些计算问题的下界很有用。我想到的一个问题(尽管我可能不检查一本教科书就无法重复它)是一种基于熵的论据,用于在排序过程中最少地进行比较。与熵的联系是通过信息论进行的。

我认为这个想法有一些好处。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.