基于程序局部性引导的有界模型检测优化方法
基于边界处理改进的局部信息粒子群优化算法
居 的 局部 信 息 , 加 大了局部搜 索能力 , 所 得 解 的 精 确 度 是
其 它算 法 难 以达 到 的 , 同时 加 快 了收 敛 速 度 。
1 . 2 L I P S算 法问题 分析
区域 中 的粒 子 不 能 较 好 地 向本 区 域 的 优 化 解 逼 近 , 最 终 难 以搜 索 到 其 优 化 解 , 尤 其 是 在 跨 度 较 小 区 域靠 近 边界 附 近 的情 况 下 。本 文 利 用 算 法 迭 代 过 程 中超 出边 界 的 粒 子 , 让 其修 复后 以 较 大概 率 落 在 边 界 附近 , 来 有 效 增 加 边 界 附近
关键词 : 多模 函数 ; 粒子群优化 ; 边界 处理
中 图分 类 号 :编号 : 1 6 7 2 — 7 8 0 0 ( 2 O 1 4 ) 0 0 3 — 0 0 6 2 — 0 3
0 引言
研究 表 明, P S O 算 法 在 解 决 复 杂 优 化 问题 上 展 现 出 高效 、 鲁 棒 的能 力 ] , 然而仅使用标 准 P S O 算 法 依 然 不 能 较 好 解 决 多模 优 化 问题 中 需 要 同 时 保 留 多 个 优 化 解 的 问
以往 基 于小 生 境 的算 法 无 法 做 到 的 ; ② 该 算 法 充 分 利 用 邻
索算子 , 使 得 所 求 解 精 确 度更 高 , 因此 L I P S 算 法迅 速 受 到 了业 界 关 注 ] 。然 而 我 们 发 现 , 随 机 初 始 化 粒 子 群 导 致 了跨 度 较 小 区域 中粒 子 数 较 少 , 在基 于最 近距 离 选 择 邻 居 的情 况 下 , 跨 度 较 小 区 域 中的粒 子 可 能选 择 相 连 区域 的 粒
人工智能知识点总结
CHW:一、概论1. 人工智能是由计算机科学、控制论、信息论、神经生理学、心理学、语言学等构成。
2. 智能科学研究智能的基本理论和实现技术,是由脑科学、认知科学、人工智能等学科构成的交叉学科。
3. 认知(cognition)是和情感、动机、意志等相对的理智或认识过程。
认知科学是研究人类感知和思维信息处理过程的科学,包括从感觉的输入到复杂问题求解,从人类个体到人类社会的智能活动,以及人类智能和机器智能的性质。
思维是客观现实的反映过程,是具有意识的人脑对于客观现实的本质属性、内部规律性的自觉的、间接的和概括的反映。
智能是个体认识客观事物和运用知识解决问题的能力。
4. 人类思维的形态:感知思维、形象思维、抽象思维、灵感思维。
5. 神经网络基本特点:①以分布式方式存储信息。
②以并行方式处理信息。
③具有自组织、自学习能力。
符号智能:以知识为基础,通过推理进行问题求解。
也即所谓的传统人工智能。
计算智能:以数据为基础,通过训练建立联系,进行问题求解。
人工神经网络、遗传算法、模糊系统、进化程序设计、人工生命等都可以包括在计算智能6.符号智能与计算智能区别:符号智能就是传统人工智能,以知识为基础,通过推理求解问题;计算智能以数据为基础,通过训练建立联系,进行问题求解。
人工神经网络,遗传算法、模糊等都是计算智能。
7. 非单调推理:一个正确的公理加到理论中,反而使得所得结论变无效。
如封闭世界假设CWA,限定逻辑;定性推理:把物理系统分成子系统,对每个子系统之间的作用建立联系,通过局部因果性的行为合成获得实际物理系统的功能;不确定性推理:随机性、模糊性、不确定性。
如DS证据、模糊集、粗糙集、贝叶斯。
8. 知识、知识表示及运用知识的推理算法是人工智能的核心, 而机器学习则是关键问题。
机器学习的研究四个阶段:①无知识的学习:主要研究神经元模型和基于决策论方法的自适应和自组织系统。
②符号概念获取:给定某一类别的若干正例和反例,从中获得该类别的一般定义。
一种改进的有界模型检验子句规则
一种改进的有界模型检验子句规则
尹文波;荆明娥;周电;周晓方
【期刊名称】《微电子学与计算机》
【年(卷),期】2007(24)11
【摘要】为有界模型检验提出了改进的子句规则。
在节点分类的基础上,首先对精简布尔电路表示进行逻辑化简,去掉功能冗余节点;然后识别、记录和处理多元运算的操作数,把多元运算作为单个节点直接生成子句;最后合并相邻节点,根据合并后的逻辑关系生成变量和子句。
实验结果表明,改进的子句规则普遍减少了可满足性问题的变量、子句数目和运行时间。
【总页数】5页(P103-106)
【关键词】可满足性问题;有界模型检验;子句规则;精简布尔电路
【作者】尹文波;荆明娥;周电;周晓方
【作者单位】复旦大学专用集成电路与系统国家重点实验室
【正文语种】中文
【中图分类】TN47
【相关文献】
1.一种基于改进的弹性安全换道间距规则的元胞自动机模型 [J], 徐洪学;张冬梅
2.一种改进的随机检验法用于主成分选择以避免光谱分析校正模型的过拟合或欠拟合 [J], 李丽娜;李庆波;阎侯赖;张广军
3.一种改进的基于规则的时空拓扑一致性处理模型 [J], 易宝林;冯玉才
4.一种改进的主动规则的系统执行模型 [J], 李庆忠;王海洋;姜跃平;马绍汉;董继润
5.理解一种模型,解决一类问题——谈“等圆模型”在有界磁场问题中的应用 [J], 潘铁鹏
因版权原因,仅展示原文概要,查看原文内容请购买。
局部搜索算法范文
局部搜索算法范文局部算法局部算法(Local search algorithm)是一种在组合数学及操作研究中被广泛应用的算法,用于在大规模空间中寻找最优解。
它通过在过程中逐步调整当前解,从而逐步趋近于最优解。
局部算法通常用于解决NP难问题,特别是在排列组合、旅行商问题、图论等领域有很好的应用。
局部算法的核心思想是在过程中只关注问题的当前解,而不关注问题的全局结构。
在开始时,算法会随机生成一个初始解,并通过一系列的局部操作来寻找更好的解。
每一次局部操作都会对当前解进行微小的改变,如果改变后的解优于当前解,则接受该改变,否则舍弃该改变。
通过不断地进行局部操作,算法会带着当前解向更好的解靠近。
局部算法有很多经典的应用,其中最著名的是模拟退火算法(Simulated Annealing)。
模拟退火算法是一种基于物理退火过程的全局优化算法,它通过模拟金属退火时的原子运动来寻找最优解。
模拟退火算法在解决诸如旅行商问题(Traveling Salesman Problem)等组合优化问题方面非常有效。
除了模拟退火算法,局部算法还有很多其他的变种。
其中最常见的是禁忌算法(Tabu Search),它通过禁止一些局部操作的重复出现来避免陷入局部最优解。
禁忌算法在解决排列问题、调度问题等领域有很好的应用。
局部算法的优点在于简单、易于实现,并且能够快速找到次优解。
而局部算法的缺点在于容易陷入局部最优解,而无法发现全局最优解。
这是因为局部算法只关注当前解的局部环境,而无法考虑全局信息。
为了克服这个问题,可以通过引入随机因素或启发式策略来增加算法的范围。
总的来说,局部算法是一种用于在大规模空间中寻找最优解的有效方法。
尽管它有一些局限性,但在实际应用中已经被证明非常有效。
在今后的研究和应用中,局部算法有望进一步发展和改进,为解决更加复杂的组合优化问题提供更好的解决方案。
使用局部建模的微处理器测试程序自动生成方法
使用局部建模的微处理器测试程序自动生成方法张良;易江芳;佟冬;程旭;王克义【期刊名称】《电子学报》【年(卷),期】2011(039)007【摘要】Simulation is the major technique used for processor verification. In the late of the verification process,simulation requires a lot of expert time and computer resources to verify residual complicated functional points, which slows down the verification progress.This paper introduces a test generation method based on model checking engine to address this problem.First,an abstract microprocessor model focuses on these uncovered functional points is constructed using local modeling strategy. Second,model checker reads this abstract model and automatically produces test generator directives. Finally, these directives guide random test generator to generate test programs that cover the specified functional points. Experiments on verifying PKUnity UmCore32 microprocessor demonstrated that this method spent little time to cover these uncovered coverage tasks and increased the verification efficiency.%模拟仿真方法是当前微处理器功能验证的主要方法,然而在验证工作后期需要耗费大量的时间来检验余下复杂的功能点,验证收敛速度缓慢.针对该问题,本文在覆盖率增长缓慢时,引入结合模型检验引擎的测试程序生成方法.该方法首先采用局部建模策略为处理器构建抽象设计模型,然后使用模型检验引擎读入该模型并产生测试生成指导规则,最后,随机测试生成器依据指导规则产生大量测试程序作为模拟器输入,完成功能验证工作.以北大众志UniCore32定点处理器核的功能验证为例评估本文方法,结果表明,使用该方法可以快速完成对未覆盖功能点的验证,加速验证收敛.【总页数】6页(P1639-1644)【作者】张良;易江芳;佟冬;程旭;王克义【作者单位】【正文语种】中文【中图分类】TP302【相关文献】1.基于VBA的结构有限元建模命令流自动生成方法 [J], 胡江;秦江涛2.一种基于过程图模型的编译优化测试程序自动生成方法 [J], 陶秋铭;赵琛;王永吉3.微处理器体系结构级测试程序自动生成技术 [J], 朱丹;李暾;郭阳;李思昆4.基于GIS空间分析建模的区间线路走向自动生成方法 [J], 谭衢霖; 李然; 董晓峰; 杨敬; 秦晓春5.利用ADS自动生成局部放大图的一种方法 [J], 杨岳因版权原因,仅展示原文概要,查看原文内容请购买。
混成系统有界模型检验优化技术研究-中国计算机学会
2016 年 5 月 10 日
研 究 生 毕 业 论 文 (申请博士学位)
论 文 题 目 作 者 姓 名 学 科、 专 业方向 指 导 教 师 研 究 方 向
混成系统有界模型检验优化技术研究 解定宝 计算机科学与技术 李宣东 教授 卜磊 副教授 软件工程
2016 年 5 月
学 号 : DG1333013 论文 答辩 日期 : 2016 年 5 月 30 日 指 导 教 师 : (签字)
关键词: 混成系统;线性混成自动机;非线性混成自动机;有界可tisfiability Modulo Theories;线 性时序逻辑;不可约不可解子集;
ii
南京大学研究生毕业论文英文摘要首页用纸
THESIS: Research on Optimization Techniques for Bounded Model Checking of Hybrid Systems SPECIALIZATION: Computer Science and Technology POSTGRADUATE: Dingbao Xie MENTOR: Professor Xuandong Li Associate Professor Lei Bu
南京大学研究生毕业论文中文摘要首页用纸
毕业论文题目: 混成系统有界模型检验优化技术研究 专业 2013 级博士生姓名: 解定宝 李宣东 教授 卜磊 副教授
计算机科学与技术 指导教师(姓名、职称) :
摘 要
混成系统是一类包含连续和离散行为的复杂系统,被广泛应用于工业控制 系统的建模,混成自动机是当前其主流建模语言,混成自动机的有界模型检验 是保障系统可靠性和安全性的重要途径。 混成自动机有界模型检验的基本思想 是通过SMT(Satisfiability Modulo Theories)技术对系统在阈值内的行为进行编 码并求解,以检验系统是否满足相关性质。 但是由于这种方法需要提前一次性 计算出系统阈值内所有的状态空间,如此高的计算复杂性限制了其能处理的系 统规模,难以应用到工业界的实际系统。 另一种解决问题的思路是将整个系统 的有界模型检验问题分解成系统内各路径的检验问题来控制单次验证的复杂度, 在此基础上遍历系统内路径完成整个系统的有界模型检验。 尽管这种面向路径 的有界模型检验途径有效地提升了可检验的系统规模,但是当面对工业界的大 规模系统时仍然需要有效的优化技术进一步控制解决问题的复杂性。 本文基于混成系统面向路径的有界模型检验途径,针对有界可达性问题研 究相关优化技术,在状态空间约减、组合系统遍历优化、基于局部验证推导全 局性质、非线性系统检验等四个方面取得以下结果: • 提出了SAT-IIS-LP联合反馈制导的状态空间约减方法。 首先基于SAT编码 模型的离散结构有向图并求解,尽量在早期发现不可行路径;然后针对 在路径可达性检验过程中确定的不可行路径,利用不可约不可解子集 (Irreducible Infeasible Subset,IIS)技术从中定位出不可行子路径片段,在 后续的搜索中只需枚举不包含相关不可行路径片段的路径进行检验,从而 约减了状态空间。实验显示,该方法大幅度地提升了面向路径有界可达性 检验的性能和规模。 • 针对组合线性混成系统,提出了一种基于组合IIS路径抽取的遍历优化方 法。基于SMT编码模型的离散结构有向图并求解,从而在组合系统的图结 构上快速枚举出符合同步语义的路径组;依据组合自动机的同步语义,从 不可行路径组里抽取不可行组合路径片段,从而在后续路径遍历过程中规
局部模糊检测优化算法
局部模糊检测优化算法郑文洁;刘秉瀚【摘要】目前基于特征的局部模糊检测算法为了优化特征响应需要在多尺度下重复计算局部模糊特征,且邻接关系复杂,导致计算量大,时间效率低.针对上述时间问题,本文提出一种利用单层垂直上下文的局部模糊检测优化算法.首先提取图像块重尾分布、峰度、功率谱、线性滤波等模糊特征,然后使用贝叶斯法学习模型,计算后验概率作为初步估计模糊响应,最后本文提出将邻近像素点的模糊响应信息作为上下文更新像素点自身响应信息,增加上下文支撑域的尺寸以更充分的考虑周围信息,使用一个相互垂直的一维上下文以减小计算量,从而构造新的能量函数进行全局优化,通过最小化能量函数得到最终的模糊响应.实验表明,本文算法能有效检测图像的局部模糊,并提高检测的时间效率.%The existing blur detection algorithm based on features has to calculate local features many times in order to optimize the blur response. Complicated adjacency relationship leads to large computing tasks and low efficiency. To solve the time problem, this paper proposes a local blur detection optimization algorithm with the perpendicular context in single scale. Firstly, we calculate features such as local heavy-tailedness feature, kurtosis feature, local power spectrum feature and local filters, Then naive Bayesian classifier is used to combine these features. Finally, this paper takes the blur response information of adjacent pixels as context to update the pixel itself, increases support region of context to take the information around the pixel into account more adequately, uses one-dimensional perpendicular context to reduce the amount of calculation, forms new energy function, and obtains thefinal blur response by minimizing the energy function. Experimental results show that the modified algorithm can detect local blur effectively and improve time efficiency.【期刊名称】《计算机系统应用》【年(卷),期】2016(025)004【总页数】5页(P210-214)【关键词】局部模糊检测;模糊特征;垂直上下文;全局优化;时间效率【作者】郑文洁;刘秉瀚【作者单位】福州大学数学与计算机科学学院,福州 350108;福州大学数学与计算机科学学院,福州 350108【正文语种】中文目标与镜头的相对运动、散焦等原因都会造成图像局部模糊.快速且有效地检测出清晰和模糊区域,在图像分割、目标检测、场景分类、图像质量评估、图像重建、图像编辑等方面都可以得以应用.目前这方面的研究已取得了一定成果.如Levin[1]利用梯度分布差异识别局部运动模糊; Liu等人[2]使用拟合梯度分布、功率谱斜率、最大饱和度来表征模糊; Tai等[3]利用局部灰度与梯度变化关系估计散焦模糊; Chakrabarti等[4]通过局部傅里叶变换分析定向模糊; Grimaldi等[5]利用局部标准差检测模糊区域; Su等[6]根据奇异值向量构造模糊度量; Shi等[7]通过训练局部滤波器,结合峰度、功率谱等检测模糊.由于上述检测方法主要是通过分析纹理丰富的清晰区域和平坦的模糊区域在空域或频域等方面表现出的不同构造模糊度量来检测模糊,因此将这些方法应用在纹理平坦的非模糊区域和平坦的模糊区域、纹理较丰富的运动模糊区域和纹理清晰的非模糊区域时会有不同程度上的误判,所以文献[3]使用马尔科夫随机场传播优化估计结果; 文献[7]设计了一个多层感知模型进行优化提高准确率,但这种优化方法需要在不同尺度多次计算特征响应,建立复杂的邻接关系,导致计算量大,时间效率低.针对上述时间效率的问题,本文提出一种利用单层垂直上下文的局部模糊检测优化算法: ①首先根据模糊块与清晰块在空域、频域等方面表现出的不同特性,提取重尾分布、峰度、功率谱、线性滤波等模糊特征; ②使用朴素贝叶斯法学习输入(模糊特征)/输出(真实的模糊情况)的联合概率分布,然后根据此模型,计算后验概率(联合模糊特征); ③由于噪声或非模糊区域纹理较平坦等原因,像素点的联合模糊特征不能正确反映模糊情况,需要对估计的模糊响应进行优化.像素点间的模糊情况在一定范围内是相关的,因此,本文将邻近像素点的模糊响应信息作为上下文更新像素点自身响应信息.本文增加上下文支撑域的尺寸以更充分的考虑周围信息,使用一个相互垂直的一维上下文以减小计算量,从而构造新的能量函数进行全局优化,通过最小化能量函数得到最终的模糊响应.实验表明,本文算法能有效检测图像的局部模糊,提高检测的时间效率.1.1 模糊特征自然图像的灰度梯度分布一般都遵循重尾分布,模糊的图像则较少地包含锐利的边缘,所以梯度中多为较小的值,一般不出现重尾分布.可使用混合高斯模型来拟合梯度分布,由于标准差大的高斯函数在拟合重尾分布中起了重要作用,所以拟合高斯混合函数中标准差较大的值f1可为判别模糊的特征[7]: 可使用混合高斯模型来拟合梯度分布ÑI,由于标准差大的高斯函数在拟合重尾分布中起了重要作用,所以拟合高斯混合函数中标准差较大的值f1可为判别模糊的特征[7]:其中,均值μ1=μ2=0,σ为标准差决定分布幅度,α、β为双高斯函数的拟合系数.特征值f1越大,说明重尾分布越明显,含有越多的幅值大的梯度,图像越清晰.除了重尾分布,自然图像的梯度分布通常在值为0处有一个急性峰值即尖峰分布,峰度值为正,而模糊则扩大了梯度的分布,峰度下降,因此峰度值f2可为判别模糊的特征[7]:其中,Ix和Iy分别表示x、y方向上的梯度,E[·]表示向量a的期望算子.特征值f2越大,说明图像梯度分布曲线顶峰越尖,图像越清晰.在频域,自然图像的平均功率谱表示了图像强度的变化情况.随着频率的增大,功率谱幅值是下降,但模糊会使得下降速度的加快,造成模糊图像功率谱之和比清晰图低,所以图像功率谱之和f3可为判别模糊的特征[7]:其中,ω是频率,(ω,θ)是像素(i,j)的极坐标,N为不同的θ数,P(ω,θ)是离散傅里叶变换的平方.特征值f3越大,说明图像包含的高频成分损失越少,图像越清晰.上述特征分别从空域和频域对模糊特征进行描述,但都是拟合自然图像统计的特征.文献[7]使用基于离差阵构造的可分性判据提取特征.令B={B1,…,Bn}和I={I1,…,Im}分别表示已经人工标记的模糊和非模糊图像块,使用变换特征空间中类内和类间离差矩阵WTSωW和WTSbW的迹构造可分性判据J(W):J(W)越大说明两类间差别越大,各类内差别越小.使J(W)最大的情况下,得到的Sw-1Sb的特征值λ1·λ2·λ3·… 所对应的特征向量ωi即为作为图像的局部滤波器f4进行模糊特征提取[7]:其中,d为滤波器的个数.1.2 朴素贝叶斯朴素贝叶斯法[7]是基于贝叶斯定理和特征条件独立假设的分类方法.给定训练数据集,首先基于特征条件独立假设,学习输入/输出的联合概率分布,然后根据此模型,对给定的输入,利用贝叶斯定理求出后验概率最大的输出.文献[7]实验表明,1.1节中的模糊特征间是近似相互独立的,因此使用朴素贝叶斯分类器学习得到后验概率作为联合的特征值.1.3 特征优化对于局部窗口提取的特征,在不同尺度即窗口大小不一情况下,特征的响应是不一样的,仅从一个尺度得到的检测结果,可能并不正确.所以文献[7]使用多层感知的方法,分别计算出3个尺度的特征响应,在一阶邻域内构造逐点层内(同一尺度内)平滑项,在层间(3种不同尺度间)构造对应数据平滑项,结合数据保真项共同构建全局能量函数[7]E(a):其中,s表示3个不同尺度;表示在s尺度下像素i推理得到的模糊响应值;表示在s 尺度下像素i的真实局部模糊响应;表示在s尺度下像素i的4-领域;α、β为权重; |·|表示L1范式距离,进行鲁棒推理; 数据保真项,保证在图像空间中保持总体特征结构,防止在求解能量最小化过程中过大的失真; 平滑项使关联的像素尽可能有一致的特征响应.上式可用环路置信传播[8](Belief propagation,BP)算法进行优化.2.1 初始特征估计当图像存在局部模糊时,直接从像素点出发,是难以对其检测、区分的,所以目前大部分的研究都是通过考虑某一像素点的局部区域内信息,结合一些技术手段,判断其模糊程度.本文使用文献[7]提出的局部特征作为模糊估计的初始模糊响应.具体步骤如下:①选定局部区域的大小s及局部滤波器个数d,从文献[7]的数据集(含人工标定的结果图)选择样本,处理得到s*s大小的带有标记类别的图像块,根据式(7)计算得到d 个局部滤波器; ②按式(1)(3)(5)(8)计算样本图像块的模糊特征; ③将样本模糊特征和类别作为输入,使用朴素贝叶斯学习得到分类器; ④对每张输入图像,提取以像素点i为中心大小为s*s的局部区域,按式(1)(3)(5)(8)计算图像块特征,使用朴素贝叶斯分类器得到联合特征,如图1(b).2.2 优化通过上述的特征提取后,由于噪声或清晰区域纹理较平坦等原因,像素点的模糊响应不能正确反映模糊程度,如图1纹理平坦清晰区域(腿部、身体)和模糊区域(挥动的翅膀)模糊特征响应是相近的.为了提高初始模糊响应估计准确率,提高模糊检测算法的鲁棒性,需要对估计的模糊特征响应进行全局优化,从而得到更加精确特征响应结果.按照1.3节文献[7]的方法对初始特征进行优化弊端在于: 首先,对层内每个像素只考虑一阶4-邻域内的信息作为其上下文,对其进行的平滑,偶然性比较大,易造成误差.再次,需要在多尺度下重复计算局部模糊特征,需要建立的邻接关系复杂,计算量大,时间效率低.本文针对上述问题,提出如下改进:首先,增加邻接点窗口的尺寸到c*c.自然图像数据一般具有较高阶的统计量,这要求图像的上下文要有较大的支撑域[9].对于局部模糊图像来说,一个模糊(或清晰)的像素点其周围也为模糊(或清晰)的概率比较大,而周围不只是指与该像素点在空间位置上紧邻的四周,也可能是更大的范围,即一个像素点不仅可以和它4-邻域内的点在模糊情况上保持基本一致,还应该与周围更远范围内的点在模糊情况上保持基本一致. 其次,在窗口范围内选择邻接点.如果直接使用以像素点为中心的c*c范围内所有点作为其邻接点,那么会造成维数灾难问题,因此本文使用一个相互垂直的一维上下文[9].如图2,这样不但可以使上下文获得较大的支撑域,还可以克服了维数灾难问题.通过尺寸的增加,可以更充分的考虑周围的信息,减小误差.因此,本文改进的全局总能量函数为:其中,表示在中以像素点i为中心的大小为c*c的邻域范围内水平和垂直方向上的点,右边第一项为保真项,第二项为平滑项即惩罚项,α为惩罚的权重,表明邻接点之间模糊情况的不一致对能量函数影响的大小.上式可用BP算法进行优化,具体可使用Schmidt提供的工具箱.为了验证本文改进的算法的有效性,使用文献[7]数据集中600张图(其中包括296张部分运动模糊和304张散焦模糊图片,并且每张图像都有经过人工标定模糊区域的标记图)进行模糊检测,并与现有的表现较好的模糊检测方法[2,4,6,7]进行比较.本文实验是在Windows7 64bit,Intel(R)Core(TM)i5-3470CPU,16GB内存的系统环境下,利用MATLAB R2014a,使用文献[7]中提供的源码及各种模糊检测算法的结果图进行比较.本文分别从特征响应效果及时间效率上对本文提出的优化算法进行分析.本文实验在特征提取部分的参数选择同文献[7],特征提取图像窗口大小s为11,第4个特征滤波器个数d为2.3.1 特征响应效果对比首先,使用准确率-召回率曲线进行定量分析,其中准确率指的是检出的像素中有多少是模糊的,召回率指的是所有模糊像素有多少被检出.观察图3(a)可以看出: 第一,当权重α=0.5时,权重较大过度惩罚,当召回率在[0.9,1]时曲线比文献[7]中没有优化时的曲线低; 第二,当权重α都为0.2,窗口尺寸c从5增加到7时,在召回率[0,1]上准确率都有提高,且相较于文献[7]没优化时的曲线准确率也都有提高,说明在一定范围内增加窗口尺寸可以达到更优的效果,甚至在召回率[0.9,1]上略优于文献[7]的优化效果.观察图3(b)可以看出: 第一,虽然与文献[7]方法的曲线相比,本文提出的优化方法响应效果有所些许下降,但结合3.2节中的时间效率,本文的优化方法损失了一部分的响应效果换取了时间效率的提高; 第二,与现有的方法相比,在召回率为[0,1]范围内本文的使用的方法都能够获得比较高精确度,说明本文使用的基于特征的局部模糊检测优化算法具有较强的鲁棒性.图4给出了三个例子(部分运动模糊和散焦模糊)对比本文实验效果与其他算法效果.3.2 时间效率对比基于特征的局部模糊检测算法时间主要由特征提取时间和优化时间组成.本文中,对于测试图像(图片1大小为640*480,图片2大小为640*427,图片3大小为640*427)只需要提取图像窗口长为s=11的局部特征一次,而文献[7]中则需要对图像提取窗口长分别为s1=11、s2=15和s3=21的特征各一次,即在不同尺度下提取特征.表1给出了本文与文献[7]算法在时间方面的表现情况: 首先,文献[7]方法随着特征提取的窗口的增大,提取所需时间随之增加,所以反复提取不同尺度下的特征严重影响了优化的时间效率,因此本文选择在单尺度下进行特征优化,不需要多次提取特征; 其次,当本文中上下文尺寸扩大到c=7时,就优化时间而言,对文献[7]并没有明显的改进,是因为随着优化尺度增长收敛速度变慢; 最后,结合3.1节的响应效果,当上下文尺寸c=5时,特征响应达到优化效果且优化的时间有明显的提升.本文提出的利用单层垂直上下文的局部模糊检测优化算法,在初始特征响应得到优化的前提下,降低了计算量,提高了算法的性能.大量的实验表明,本文改进的方法能有效地进行图像局部模糊的检测,并提高时间效率.【相关文献】1 Levin A.Blind motion deblurring using image sta tistics.In: Schölkopf B,Platt JC,Hoffman T,eds.Advances in Neural Information Processing Systems19.Cambridge,MA.MIT Press.2007.841–848.2 Liu RT,Li ZR,Jia JY.Image partial blur detection and classification.IEEE Conference on Computer Vision and Pattern Recognition.Anchorage,AK.IEEE Press.2008.1–8.3 Tai YW,Brown MS.Single image defocus map estimation using local contrast prior.IEEE International Conference on Image Processing.Cairo.IEEE Press.2009.1797–1800.4 Chakrabarti A,Zickler T,Freeman WT.Analyzing spatiallyvarying blur.IEEE Conference on Computer Vision and Pattern Recognition.San Francisco,CA.IEEE Press.2010.2512–2519.5 Grimaldi D,Kurylyak Y,Larnonaca F.Detection and parameters estimation of locally motion blurred objects.IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems.Prague.IEEE Press.2011,1.483–487.6 Su B,Lu S,Tan CL.Blurred image region detection and classification.ACM International Conference on Multimedia.New York.ACM New York,2011.1397–1400.7 Shi JP,Xu L,Jia JY.Discriminative blur detection features.IEEE Conference on Computer Vision and Pattern Recognition.Columbus,OH.IEEE Press.2014.2965–2972.8 Yedidia JS,Freeman WT,Weiss Y.Understanding belief propagation and its generalizations.In: Lakemeyer G,Nebel B,eds.Exploring Artificial Intelligence in the New Millennium.San Francisco,CA.Morgan Kaufmann Publishers Inc.2003.239–269.9 董伟生.基于上下文的自适应图像建模及其在图像恢复中的应用[博士学位论文].西安:西安电子科技大学,2011.。
基于局部粒子群社团发现算法
基于局部粒子群社团发现算法章亮;姚世军;陈楚湘【摘要】To address the problems of existing algorithms based on modularity showing high time-complexity and suffering from a well-known resolution limit problem,an algorithm based on local particle swarm optimization (LPSO)for detecting community structure was constructed.Each particle had a fitness value f and a flight directionv.Whether two adjacent nodes belonged to the same community was dependent on whether the fitness value representing the particle moving from one point to another was increasing.The results of experiments tested in artificial networks show that LPSO has higher precision thanFN,FUA,LPA, SL,WT,especially when mixing parameter is more than 0.5 5 and in LFR networks with small-scale community.The results of experiments tested in real world networks indicate that the modularity value calculated using LPSO has no much difference with the best results.LPSO is better at finding community structure with high resolution than FN and FUA in the research of resolu-tion limit problem.%为解决基于模块度的算法时间复杂度普遍较高、精度不足及存在分辨率限制等问题,提出一种基于局部粒子群的社团发现算法 LPSO。
一种嵌入局部混沌搜索的混合微粒群优化算法
Z NG P n HE e g,GUO u n,YANG e Ja W i—ri an
( c ol f nom t nS i c n n ier g N r e s r n esy S e yn ioig10 0 ,C ia Sh o o fr ai ce eadE gnei , ot at nU i ri , h n a gLann 10 4 hn ) I o n n h e v t
l 引言
作 为一 种 演 化 计 算 方 法 , 粒 群 优 化 算 法 ( a ie 微 Prc tl
空 间中运行到局部最优解 附近的时候 , 群体 的搜 索效率 可能
会突然大大降低。 针对这个问题, 许多学者做了大量 的工作
来改进算法的性能 。 法 的改 进思 路大 致有 四种 : 些学 者 算 一 在算法 中引入 了参数 的 自 应调整机制 , 适 根据迭 代 中算 法性 能 的反馈信息来调整算 法参 数 , 模糊 惯性权 重法 ; 如 另一 些学者将交叉和变异机制 引入 P O算法 以避免种群 的早熟 , S
大的改善 , 大程度上避免 了演化停滞现象的发生 , 很 是一种高效的搜索方法。
关键词 : 优化 ; 混合方法 ; 微粒群 ; 混沌搜索 ; 遗传算法
中图分类号: P 8 T 1 文献标识码 : A
非凸优化问题的局部最优解算法研究
非凸优化问题的局部最优解算法研究非凸优化问题是指目标函数非凸的优化问题,非凸函数在定义域内存在多个局部最优解,而不仅仅存在一个全局最优解。
在实际应用中,非凸优化问题广泛存在于经济、工程、物理、生物等领域。
由于非凸函数的复杂性,求解非凸优化问题是一个具有挑战性的任务。
本文将重点研究非凸优化问题的局部最优解算法。
一、引言随着科学技术和社会经济的发展,越来越多的实际问题需要求解非凸优化问题。
然而,由于目标函数的复杂性和多个局部最优解的存在,求解非凸优化问题是一项具有挑战性和复杂性的任务。
因此,在实际应用中研究高效且有效地求解非凸优化问题成为了一个重要课题。
二、算法分类针对非凸优化问题中寻找局部最小值点这一任务,研究者们提出了许多不同类型和思想的算法。
根据算法思想和特点可以将这些算法分为以下三类:基于梯度信息的方法、基于搜索策略方法以及基于全局搜索策略方法。
1. 基于梯度信息的方法基于梯度信息的方法是求解非凸优化问题中最常用的方法之一。
这类方法基于函数梯度信息来进行搜索和迭代,常见的算法有梯度下降法、共轭梯度法、拟牛顿法等。
这些算法通过迭代更新参数,逐步逼近局部最优解。
然而,由于非凸函数存在多个局部最优解,基于梯度信息的方法可能会陷入局部最优解而无法找到全局最优解。
2. 基于搜索策略方法基于搜索策略的方法是一类通过搜索和试探来找到局部最小值点的算法。
这些算法通常以某种启发式规则进行搜索,如模拟退火算法、遗传算法等。
这些算法通过引入随机因素和全局搜索策略来避免陷入局部最小值点,并有可能找到更好的全局最小值点。
3. 基于全局搜索策略方法基于全局搜索策略的方法是一类专门用来求解非凸优化问题中多个极小值点或者多个鞍点存在情况下问题求解的算法。
这些算法通常以随机采样或者遗传进化等方式进行搜索,如粒子群算法、蚁群算法等。
这些算法通过引入全局搜索策略来寻找多个局部最优解,并通过多次迭代来逼近全局最优解。
三、算法研究进展近年来,针对非凸优化问题的局部最优解算法研究取得了一系列的进展。
计算机系统结构考试重点
冯诺依曼的5个架构:控制器、运算器、存储器、输入设备、输出设备。
Cpu的发展趋势:1、多核技术出现的原因因为:“处理器功耗正比于电流x 电压 x 电压 x 主频”,“IPC 正比于电流”,所以:“处理器功耗正比于 IPC“。
由单核处理器增加到双核处理器,如果主频不变的话,IPC理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。
而实际情况是,双核处理器性能达到单核处理器同等性能的时候,前者的主频可以更低,因此功耗的下降也是指数方(三次方)下降的。
反映到产品中就是双核处理器的起跳主频可以比单核处理器更低,性能更好。
由此可见,将来处理器发展的趋势是:为了达到更高的性能,在采用相同微架构的情况下,可以增加处理器的内核数量同时维持较低的主频。
这样设计的效果是,更多的并行提高IPC,较低的主频有效地控制了功耗的上升。
2、2个1G的多核和2G的单核处理器单核CPU也有高频率的,双核CPU也有低频率的。
内存则有DDR DDR2和DDR3之分。
型号频率不同,自然效果也不同。
如果是同时运行多个任务,双核自然是占有优势。
在上网,做工作时,高频率的内存则可以加快存取传输的速度如果内存是同一个型号,那么自然是1G内存+双核快一些,内存的大小不直接关系到存取的速度。
3、编程模型:SIMD VS MIMD?(应用场景、架构优缺点)单指令流多数据流计算机SIMD计算机有n个相同的处理器,每个都有其自己的本地存储器,可以存储数据。
一个由中央控制单元发出的单指令流控制所有处理器的工作。
有N个数据流,每1个处理器操作1个数据。
所有处理器是同步操作的,在每一步中,处理器对于不同的数据元素执行相同的指令。
SIMD计算机比MISD更通用。
许多应用问题可以通过SIMD计算机并行算法求解。
另一个有趣的特点是,这些计算机算法比较容易设计,分析和实现。
局限是只有可被细分为一组相同子问题的那些计算才可以被处理。
有很多的计算,不适合这种模式:这种问题通常使用下面的MIMD计算机解决。
命题μ-演算局部模型检测高效算法设计
命题μ-演算局部模型检测高效算法设计李前利;江华【摘要】In this paper, the computing process of fixpoint alternant iteration of local model checking for propositional μ-calculus is analyzed and a set of partial order relation about intermediate values of iterative calculation is proven. Then a local model checking algorithm is designed by the partial order relation. At present, the index of time complexity of existing local model checking algorithm is d( d is the alternation depth of the formula). The index of time complexity is reduced from d to d 2 . The computational efficiency of the algorithm is improved greatly.%命题μ-演算局部模型检测算法中,目前最好的算法的时间复杂度与不动点算子交替嵌套深度d呈指数关系.针对命题μ-演算局部模型检测算法的计算过程进行分析,得到迭代计算的中间迭代值间满足的一组偏序关系,然后利用该偏序关系设计了一个局部模型检测算法,算法时间复杂度的指数部分为d 2,大大提高了算法的计算效率.【期刊名称】《计算机工程与应用》【年(卷),期】2017(053)009【总页数】6页(P51-56)【关键词】μ-演算;局部模型检测;不动点;偏序关系【作者】李前利;江华【作者单位】闽南师范大学粒计算重点实验室,福建漳州 363000;闽南师范大学粒计算重点实验室,福建漳州 363000【正文语种】中文【中图分类】TP39LI Qianli,JIANG Hua.Computer Engineering andApplications,2017,53(9):51-56.命题μ-演算首先由Kozen[1]提出来,通过带不动点算子的公式来表达迁移系统的性质,是一个表达能力很强的逻辑语言,μ-演算模型检测技术也已广泛应用到了有限控制并发系统的设计与验证中[1-6]。
一种基于局部特征的三维模型检索算法
一种基于局部特征的三维模型检索算法屠宏;耿国华【期刊名称】《计算机工程》【年(卷),期】2015(000)003【摘要】Feature extraction is the most important technology in content-based 3D model retrieval. This paper proposes an algorithm for feature extraction based on curvature features of 3D triangle model. The curvature of 3D model can become the sum of Gaussian curvature and mean curvature. So it is a blend of the Gaussian curvature and mean curvature. It can estimate the curvature of 3D model’ s vertices through the discrete differential geometry,and build a feature vector of 3D model. Experimental results show that the algorithm of this paper is better than the average curvature or Gaussian curvature as the feature vector.%在基于内容的三维模型检索系统中,特征提取技术是三维模型检索的关键。
为此,提出基于局部特征的三维模型检索算法。
定义一种新的局部特征描述符:曲度,将其作为三维模型检索时的特征。
曲度作为对平均曲率与高斯曲率的校正,在不增加额外计算量的前提下,可同时克服平均曲率对平滑模型的不敏感性和高斯曲率分布较均匀的缺点,更真实地反映三维模型的局部弯曲程度。
基于Stuttering等价技术的有界模型检测的优化
基于Stuttering等价技术的有界模型检测的优化
张银丹;张浩军
【期刊名称】《计算机与数字工程》
【年(卷),期】2010(038)007
【摘要】在讨论有界模型检测及其转换公式的基础上,对有界模型检测转换公式[[M,f]]k中的[[M]]k进行优化.通过在LTL有界模型检测中引入Stuttering等价技术,对状态转换路径优化,避免了SAT求解工具在有界Stuttering等价路径中的重复搜索.以安全系统验证为例,通过两个重要的模态算子G(p)和G(p→F(q)),验证优化方法,实验结果表明,该方法有效地提高了对安全系统保密性和认证性验证的效率.【总页数】5页(P104-107,142)
【作者】张银丹;张浩军
【作者单位】河南工业大学信息科学与工程学院,郑州,450001;河南工业大学信息科学与工程学院,郑州,450001
【正文语种】中文
【中图分类】TP393.08
【相关文献】
1.基于程序局部性引导的有界模型检测优化方法 [J], 王舜;杜晔;韩臻;刘吉强
2.基于有界模型检测的C/C++程序内存泄露检测 [J], 蔡程
3.基于有界模型检测的C/C++程序内存泄露检测 [J], 黄蔚;洪玫;杨秋辉;郭鑫宇;代声馨;徐保平;高婉玲;赵鹤
4.有界模型检测的优化 [J], 杨晋吉;苏开乐;骆翔宇;林瀚;肖茵茵
5.基于模型集动态优化的具有有界扰动系统多模型自适应控制 [J], 林金星;费树岷因版权原因,仅展示原文概要,查看原文内容请购买。
基于程序局部性引导的有界模型检测优化方法
基于程序局部性引导的有界模型检测优化方法王舜;杜晔;韩臻;刘吉强【摘要】For software model checking, approaches that combine with different kind of verification methods are now under research. The key to improve scale and complexity of verifiable software is handling the method for abstraction widening and strengthening wisely and precisely. To archive that, using extra knowledge that extracted from program-ming pattern or learned through verifying procedure to help eliminate the redundant state has been proved effective. Def-inition of program locality was given. It took the important role in accelerating software verification, then the strategy was raised and an algorithm was implemented to take advantage of program locality. This method exploits the features of modern BMC (bounded model checker) and scales up the capability of its power in large scale and comprehensive soft-ware modules.%基于多种模型检测方法组合的复合检测方式是当前软件模型检测领域开展研究的热点之一.在当前的研究中,提高检测的规模和检测的对象复杂程度的关键在于如何有效处理抽象的扩张和收缩.证明通过对程序模式或验证信息的利用可以加快状态空间的探索速度.面向有界模型检测(BMC)加速方法展开研究,使用程序中额外的信息和知识对其处理以协助检测器删除冗余和无效的状态.在对程序局部性进行定义的基础上,对其加速性进行讨论,提出一种加速有界检测的方法和一种改进策略,对算法进行了详细描述,并通过实验验证了方法在检测效率和性能上的优越性.【期刊名称】《通信学报》【年(卷),期】2018(039)003【总页数】10页(P181-190)【关键词】模型检测;BMC;软件检测;局部性;优化【作者】王舜;杜晔;韩臻;刘吉强【作者单位】北京交通大学智能交通数据安全与隐私保护技术北京市重点实验室,北京 100044;北京交通大学智能交通数据安全与隐私保护技术北京市重点实验室,北京 100044;北京交通大学智能交通数据安全与隐私保护技术北京市重点实验室,北京 100044;北京交通大学智能交通数据安全与隐私保护技术北京市重点实验室,北京 100044【正文语种】中文【中图分类】TP311.1软件模型检测是提高软件可靠性的一种非常重要的方法。
一种高效的基于局部特征的显著区域检测算法
针对引人显著 区域检测后 图像局部特征提取效率降低的问 题, 本文提 出一种快速 的基于 图像 局部特 征的显著 区域检测算
趣 , 忽 略 非 关 键 区 域 上 的 特 征 点 。于 是 常 用 的 实 现 过 程 是 首 而
t 大学合作资助 ; e l 国家高技术研究发展计划重点项 目(0 9 A 1 2 1 ; 2 0 A 0 20 ) 中国科学院计算技术研究所体 系结构重点 实验室开放 课题 (C IT—AR C
算法求适 应矩阵的最大子矩 阵和 , 使得 算法在 准确度损 失较小 的情 况下 快速检测 出图像 的显著 区。此算法在准确度上与 同类
关键 区域 的 自适应 图像 压缩 、 图像分割 、 物体识别 、 自适 应的图 像缩放 等应用 。 目前最常用 的显著 区域检测方 法 ’ 是基于灰 度 、 比度 对
( colo l t ncI omai n l tcl n ie ig S ag a i ogU i rt,h n h i 0 20,hn ) Sho e r i n r tna dEe r a E gne n ,h nh i a Tn nv syS a g a 2 04 C ia fE co f o ci r Jo ei
信息 , 而影响 图像/ 从 视频帧 的匹配 时间。由于人们 通常只对 图像 中部分关键 的 区域感 兴趣, 因此在 对 图像做 局部特征提取 时可 以 先对 图像进行 显著 区域检测 , 排除非关键 区域上 的特征信 息, 从而减低 匹配所需 的特 征点数 , 高 匹配 的处理速度。但是 由于传 统 提 的显著 区域 检测算法计算复杂 , 会对 图像特征提取过程产 生额外的时间开销。提 出一种快速 的显著 区域检 测算法, 根据局部特 征提 取算法特征检 测阶段得到 的特征 点分布 , 利用最大子矩 阵和 算法, 在损失较小 的准确度 的情况下快速检测 出图像 的显著 区。 关键 词
深度学习技术中的优化问题与局部最优解分析
深度学习技术中的优化问题与局部最优解分析深度学习技术在人工智能领域的广泛应用已经取得了许多显著的成就。
然而,深度神经网络的训练过程中存在着一个重要的挑战,即如何有效地优化模型参数以寻找全局最优解。
本文将探讨深度学习技术中的优化问题,并分析局部最优解的特点。
在深度学习中,优化问题是指通过调整模型参数,使得模型的输出与标签之间的误差最小化。
常见的优化算法包括梯度下降法(GD)、随机梯度下降法(SGD)以及基于动量、自适应学习率的改进算法(如Adam、RMSprop等)。
这些算法的目标都是在参数空间中寻找一个最小值点,即局部最优解。
在优化过程中,寻找全局最优解是一个非常困难的问题。
由于深度神经网络的复杂性和非凸的非线性目标函数,模型参数的优化空间通常非常大且具有许多局部极小值点。
这就导致了优化算法很容易陷入局部最优解,并难以跳出陷阱。
而且,局部最优解可能与全局最优解之间存在着巨大的差距。
因此,研究优化问题以及分析局部最优解的性质对于深度学习的进一步发展至关重要。
局部最优解是指在某一组参数值附近,目标函数的值较其他附近参数值对应的目标函数值更小。
在深度学习中,局部最优解具有以下几个特点:1. 非唯一性:由于模型参数的高维度和非凸目标函数,同一个模型可能会有多个不同的局部最优解。
这意味着不同的参数初始化可能会导致不同的局部最优解。
2. 解决高单元饱和性:在深度神经网络中,饱和性是指激活函数在输入值接近极端值时,梯度接近零。
如果网络在训练过程中陷入一种饱和状态,就很难跳出该状态并找到更好的解。
局部最优解往往代表了这种饱和状态。
3. 局部最小值:与全局最小值相比,局部最小值的目标函数值更小。
网络在优化过程中,可能会在局部最小值处停滞,而无法进一步改进。
4. 高度非线性:深度神经网络由多个非线性层组成,因此其目标函数也往往是高度非线性的。
因此,在优化过程中很难找到符合线性规律的解,局部最优解通常是非线性且复杂的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年3月Journal on Communications March 2018 第39卷第3期通信学报V ol.39No.3基于程序局部性引导的有界模型检测优化方法王舜,杜晔,韩臻,刘吉强(北京交通大学智能交通数据安全与隐私保护技术北京市重点实验室,北京 100044)摘要:基于多种模型检测方法组合的复合检测方式是当前软件模型检测领域开展研究的热点之一。
在当前的研究中,提高检测的规模和检测的对象复杂程度的关键在于如何有效处理抽象的扩张和收缩。
证明通过对程序模式或验证信息的利用可以加快状态空间的探索速度。
面向有界模型检测(BMC)加速方法展开研究,使用程序中额外的信息和知识对其处理以协助检测器删除冗余和无效的状态。
在对程序局部性进行定义的基础上,对其加速性进行讨论,提出一种加速有界检测的方法和一种改进策略,对算法进行了详细描述,并通过实验验证了方法在检测效率和性能上的优越性。
关键词:模型检测;BMC;软件检测;局部性;优化中图分类号:TP311.1文献标识码:Adoi: 10.11959/j.issn.1000-436x.2018050Locality-guided based optimization method forbounded model checkerWANG Shun, DU Ye, HAN Zhen, LIU JiqiangBeijing Key Laboratory of Security and Privacy in Intelligent Transportation, Beijing Jiaotong University, Beijing 100044, China Abstract: For software model checking, approaches that combine with different kind of verification methods are now under research. The key to improve scale and complexity of verifiable software is handling the method for abstraction widening and strengthening wisely and precisely. To archive that, using extra knowledge that extracted from program-ming pattern or learned through verifying procedure to help eliminate the redundant state has been proved effective. Def-inition of program locality was given. It took the important role in accelerating software verification, then the strategy was raised and an algorithm was implemented to take advantage of program locality. This method exploits the features of modern BMC (bounded model checker) and scales up the capability of its power in large scale and comprehensive soft-ware modules.Key words: model checking, BMC, software verification, locality, optimization1引言软件模型检测是提高软件可靠性的一种非常重要的方法。
在工业环境中,一些对于软件可靠性要求高的安全苛求系统已大量地使用这种方法。
软件模型检测是基于程序的形式化理论发展出的一种技术,它的基本思想是对当前需要检测程序的整体状态空间进行遍历,从而寻找其中是否包含问题状态。
对于使用基本的遍历思想来检测程序的方法来讲,状态空间爆炸使它在很小的程序上都会耗尽其所有的运算和存储资源,因此,这种检测方法并不具备成规模的实用性。
针对上述问题,现代的软件模型检测方法使收稿日期:2017-06-14;修回日期:2018-01-11基金项目:北京高校青年英才计划基金资助项目(No.YETP0548);国家自然科学基金资助项目(No.61672092)Foundation Items: Beijing Higher Education Young Elite Teacher Project (No.YETP0548), The National Natural Science Founda-tion of China (No.61672092)·182·通信学报第39卷用了多重的优化策略来缓解,这些策略可以按照枚举型和推理型来进行分类[1,2],2种类型分别体现了具象和抽象的逻辑思想。
而随着研究的进展和深入,很多新的研究使用了同时综合2种方法特征的混合策略。
特别是随着近年来各种各样的方法被陆续提出,研究者逐渐发现,区分和指导各种方法的根本不同在于如何使用源代码中的信息来引导状态空间的搜索。
当然与之相对地,还可以通过表象对软件模型检测的方法进行分类,例如,模型检测算法是否有界。
有界模型检测器(BMC)是一种常见的和使用广泛的软件模型检测工具。
在近几年的相关研究中,已经有不少基于其思想的成熟的实现,如文献[3~7]。
使用有界模型检测器对程序进行检测的实践可能会因为使用了不合适的参数而导致检测无法完成或检测失败。
同时,由于其原理的制约,这种检测方法也无法直接对整个程序的状态空间进行检测。
从这个角度来讲,阻碍有界模型检测对大规模代码进行检测的障碍之一在于缺乏一种有效的将代码分解为可以检测的片段并且自动引导检测器来进行检验的方法。
SAT求解问题是另一个更加基础的研究领域,需要求解的SAT问题同样是类似的会引起状态爆炸的NP完全问题。
在这个研究领域中,前向—后向搜索是常用的加速求解的方法之一,而最为经典的SAT前向—后向搜索算法的实现则是DPLL算法[8]。
这种算法的核心思想是,在遍历搜索时记忆和学习关于逻辑树的结构信息,并使用这个信息来指导新一轮的搜索。
在整个SAT求解器的研究领域中,大量的优化方法都采用了类似的思路为指导,也就是使用在有限的搜索中发现的信息来缩减后续的搜索树,或选择最优的后续搜索。
基于先验信息的启发式算法[9~12]是另一类常用的优化方法。
与前一类方法相比,它最大的不同是并不能保证总是有效。
但是相对地,启发式算法在状态空间的规模和逻辑复杂度快速增长的情况下是一种更有潜力的方法。
最后,程序在设计和运行中具有一个非常本质和重要的特征,即程序的局部性。
在调研中,当前模型检测领域并没有相关研究聚焦在程序的局部性和模型检测的优化结合以及程序的局部性对模型检测加速的可能性上。
因此,本文主要研究聚焦以上层面。
首先,本文给出了一种可能的程序局部性形式化定义,然后,设计了一个策略来对程序进行划分,并提出了一种算法自动化地使用这种划分来指导有界模型检测器的自动运行,最后,通过实验验证了本文方法在加速有界模型检测器对程序的检测上具有较为明显作用。
2相关工作近年来,大量的研究关注和聚焦了模型检测和模型检测的相关算法和应用。
其中,基于逻辑的枚举和基于逻辑的推理是2种重要的类型。
在这些研究中,最为活跃和引人注目的部分集中在以下2个方向:1) 基于推理的模型检测方法,包括基于符号演算的模型检测方法;2) 不同模型检测方法的可组装性的研究。
其中,第一类研究方向使用归结原理和插值规则通过定理证明的方法[13~15]来进行模型检测。
另外,还有一些研究设计并实现了一类框架[16~19],并在这类框架下实现了基于前向—后向搜索的遍历式模型检测方法。
这类方法的基本思想是将目标状态空间简化为一类抽象状态空间,并在其上进行检测。
在这类框架之上,文献[20,21]设计了一种懒惰方法,它是针对状态展开的优化,使算法在展开状态时不需要一次性完全展开,而是按照需要展开必要的层数,从而避免状态空间一次性展开过大。
最后,文献[22~24]的研究则着眼于设计和实施一套全新的软件模型检测方法。
第二类研究方向中包含了一类构建通用的模型检测方法基础的理论以及其相关的实现,它们都基于一套可以嵌入和组合大量不同方法的基础框架之上。
文献[25~30]是其中非常重要的组成部分。
它们建立了一个称为CPA的模型检测框架。
这个框架实际上是一个基于格的状态抽象,在这个抽象之上,使用融合、加强以及停止运算符来将各种算法组合在一起。
除了这些工作以外,文献[31]使用了另一种上近似和下近似结合的方法来对不同的模型检测方法进行组合。
本文方法是一类组合方法,但是其手段并非直接组合已有的方法,而是结合第一类的研究和第二类的研究,提出一种基于新的局部性启发式检测加速方法。
第3期 王舜等:基于程序局部性引导的有界模型检测优化方法 ·183·3 基本模型3.1 程序模型为了简化问题的分析和讨论,本文使用一个简单程序模型来表示需要检测输入的程序抽象。
这个模型是一个基于简单命令式程序语言的扩展,使用这个模型可以描述C 语言的逻辑结构,而其他的细节则直接交给BMC 工具处理即可。
一个简单命令式程序包含了一系列的操作符,这些操作符包括:赋值操作符、假设操作符、整形变量。
简单命令式程序的描述细节可以参考文献[1]。
这里对简单命令式程序进行一个扩展,使其可以满足对本文形式化描述的要求,其包含了一些额外的程序结构:函数、分支、循环。
它可以通过分支循环展开和函数嵌入的方式很容易地转换回经典的简单命令式程序。
实际上,可以通过这个扩展给基础定义添加一些高级结构。
定义1 简单命令式程序(SIP )。
一个简单命令式程序是一个四元组0(,,,)P X L l T =,其中,包括了一个有类型的变量集合X ,一个程序的位置点集合L ,一个程序入口点0l L ∈以及一个程序转换关系集合T 。
在转换关系集合中,每个转换关系T τ∈都是一个三元组(,,)l l ρ′。
在这个三元组之中,,l l L ′∈是程序的位置点,ρ是一个在X X ′∪上的自由变量的约束关系。
其中,X 是在程序位置点l 处的变量集合,X ′是程序位置点l ′处的变量集合。
在这个定义之下,程序的位置点集合和转换关系集合自然地定义了一个有向带标图。