还指同一杯咖啡中所并存的不同层次的特色,复杂度高,表示可以感受到的感官刺激种类较多;要注意的是这些感觉包括了馀韵,不一定限制于喝时的当下感受。
复杂度(计算机复杂性理论)
计算复杂性理论(Computational complexity theory)是计算理论的一部分,研究计算问题时所需的资源,比如时间和空间,以及如何尽可能的节省这些资源。
计算复杂性理论所研究的资源中最常见的是时间复杂度(要通过多少步才能解决问题)和空间复杂度(在解决问题时需要多少内存)。其他资源亦可考虑,例如在并行计算中,需要多少并行处理器才能解决问题。
时间复杂度是指在计算机科学与工程领域完成一个算法所需要的时间,是衡量一个算法优劣的重要参数。时间复杂度越小,说明该算法效率越高,则该算法越有价值。
空间复杂度是指计算机科学领域完成一个算法所需要占用的存储空间,一般是输入参数的函数。它是算法优劣的重要度量指标,一般来说,空间复杂度越小,算法越好。我们假设有一个图灵机来解决某一类语言的某一问题,设有X个字(word)属于这个问题,把X放入这个图灵机的输入端,这个图灵机为解决此问题所需要的工作带格子数总和称为空间。
复杂度理论和可计算性理论不同,可计算性理论的重心在于问题能否解决,不管需要多少资源。而复杂性理论作为计算理论的分支,某种程度上被认为和算法理论是一种“矛”与“盾”的关系,即算法理论专注于设计有效的算法,而复杂性理论专注于理解为什么对于某类问题,不存在有效的算法。
复杂度(Complexity, CPX)[1] :
复杂度的概念首先是由Kolmgorov提出来的。简明说就是一件事物的复杂性可以用描写这事物所用的计算机语言的长度来衡量。一般认为描述一件事物的计算机语言的长度越长,该事物就越复杂。70年代Lemple等在信息理论的研究中对随机序列复杂性给出了定义, 认为复杂性反映了一个时间序列随其长度的增加出现新模式的速率, 表现了序列接近随机的程度。80年代末期Kasper 等对随机序列Lem-Ziv意义下的复杂度进行了研究,提出了随机序列复杂性测度的具体算法。这套算法得到的复杂性测度被称为Kc复杂度,并且指出此算法比Lyapunov指数优越。由于复杂度分析方法对序列的长度要求不严格,因此在信号处理领域应用较广。
计算Kc之前,首先将要处理的序列进行粗粒化,在此对随机序列进行二值化处理,就是将序列的每一个点都由一个比特位来代表,于是就可以将所研究的信号信息粗粒化形成一个“0,1”序列。假设要处理的时间传输序列为 (i=1,2,…,n),求得平均值。如果 ≥平均值,令 =1;如果 <平均值,令 =0;然后将这些0,1点组成原来序列的简化序列。
Kc的计算即找出序列x中所含的模式数,具体方法是通过一个“0,1”时间序列中的一串字符s(s1,s2,...,s。)后再加一个或一串字符Q,看字符Q是否属于SQv(SQv是SQ字符串中减去最后一个字符而得到的),如果出现的字句在前面已经有过,即Q是sQ咛的一个子串,则该字符称为“复制”,认为这个过程没有新模式出现,把该字符加在串的后面,继续增长Q,再进行判断;若它没有出现过,那么对这个字符进行“插入”,“插入”时用一个“·”把前后字符分开,认为出现了一个新的模式:然后把最后一个“·”前面所有字符看成s,重新构造Q,再重复上述操作直到该序列结束并计算发现的模式数的总和。例如序列(0010)的复杂度可由下面的步骤得出: