算法相关术语

Posted on 2011-10-19 14:55  线代  阅读(418)  评论(0)    收藏  举报

算法(algorithm)就是解决问题的方法或者过程.如果把问题看成是函数,那么算法就是能把输入转化成输出;数据结构(data structure) 是数据的计算机表示和相应的一组操作.

时空辨认关系 在很多情况下,一个好的算法可以同时在空间和时间上达到最优,但在更多情况下二者是矛盾的,我们需要协调它们的关系.用时间换空间的常用方法是重复计算,用空间换时间的常用方法是预处理.

计算模型 特点是同一时间只能处理一条指令,并且执行的指令是确认的.

随机存取(RAM)模型 特点是可以随机访问存储器,而不像磁带机一样只能顺序存取.(磁带机(Tape Drive)通常由磁带驱动器和磁带构成,是一种经济、可靠、容量大、速度快的电脑储存备份设备[来自维基百科])

并行计算机 如果有L个处理器的话,就只需要一个单位时间就可以把L个数位全部比较完毕.

非确定机 特点是只要有一种猜法就能满足要求,它一定能猜到.

P类问题和NP问题 如果一个问题可以在多项式时间内被确定机解决,则它属于P类问题;如果它可以在多项式时间内被非确定机解决,则它属于NP类问题.P是NP的子集.

NP完全(NPC)问题 这类问题目前都没有找到多项式算法,即使很可能属于NP-P.它满足(1)属于NP.(2)NP中的每个问题都可以使用多项式规约到它.NPC类问题的特点:如果其中一个找到多项式算法,那么使用一种问题规约技巧可以让其他所有问题都得到有效的解决.

NPC-难度问题 有些问题虽然满足NPC问题的定义(2),却不满足定义(1),非确定机并不是万能的.

不可解问题 不可解问题是存在的.

*PS问题和NPS问题、Savitch定理 PS为所有可以在多项式空间内解决的问题的集合.NPC是PS的子集.Savitch定理:PS=NPS.

*PS完全问题 一个问题是PS完成的,当且仅当:(1)它在PS中.(2)所有PS问题都可以多项式时间规约到它.

随机算法 如果在算法中使用了随机数,那么称它为随机算法.

Monte-Carlo算法、RP类问题 如果一个问题存在一个随机算法,使得它有50%以上的概率得到期望的结果,那么这个问题属于RP类,该算法称为Monte-Carlo算法.

Las Vegas算法、ZPP类问题 如果一个问题存在一个随机算法,使得一定能得到期望的结果,而运行时间的数学期望是多项式的,那么这个问题属于ZPP类,该算法称为Las Vegas算法.

近似算法 在实际问题中,往往只需要得到不错的解,并不要求是最好的.

虚拟机器 可以用计算机来模拟并行计算机和非确定机.