欢迎来到天天文库
浏览记录
ID:53829230
大小:89.50 KB
页数:13页
时间:2020-04-08
《基于硬件可编程逻辑(FPGA)SAT算法综述.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于硬件可编程逻辑(FPGA)SAT算法综述【摘要】可满足性问题(简称SAT问题)作为第一个被证明的NP完全问题,是计算机科学的核心问题之一。本文系统总结了基于硬件可编程逻辑(FPGA—-FieldProgrammableGateArray)的SAT算法研究。将基于FPGA的SAT算法研究分为了实例型(instance-specifiedsolver)和应用型(application-specifiedsolver)两种类型。通过对各种方法的深入分析,指出了它们的优点和缺陷,进而提出未来研究的思路。【关键词】可编程逻辑;SAT算法;可满足性;
2、FPGA逻辑器件可分类两大类:固定逻辑器件和可编程逻辑器件。固定逻辑器件中的电路是永久性的,其硬件逻辑结构和连接方式固定不变。而可编程逻辑器件(FPGA,CPLD等)内部连接模式和逻辑结构可以根据不同的需要改变,从而可以实现多种不同的功能。所以,此类器件能够为客户提供范围广泛的具有多种逻辑能力、速度和电压特性的标准成品部件。可编程硬件算法研究的发展是和硬件水平的发展密不可分的。可编程硬件是指最早的硬件可编程算法的概念是G.Estrin在1960年左右提出的[1],但由于主要以分立器件为硬件平台,而集成电路也尚在初期,因此并未得到更多研究和应用
3、的支持。从1990年开始,超过10K门级的可编程逻辑器件FPGA(其典型结构如图一所示)的出现,使得硬件可编程逻辑算法的研究进入了蓬勃发展的时期[2],其应用主要分为三种:1、硬件设计模拟;2、快速硬件成样;3、硬件算法研究。而其中硬件算法研究是基于FPGA硬件并行处理能力,已经在密码学,图像和信号处理领域取得了很多成果。自1997年后,随着FPGA进入到了百万门级的水平,硬件可编程逻辑能力上升到了一个新的高度,基于硬件可编程逻辑的高难度算法的实现与研究也受到越来愈多的关注。其中,基于FPGA的可满足性问题(SAT问题)的算法研究逐渐成为研究
4、的热点[7-14]oSAT问题是逻辑学的一个基本问题,也是当今计算机科学和人工智能研究的核心问题。工程技术、军事、工商管理、交通运输及自然科学研究中的许多重要问题,如程控电话的自动交换、大型数据库的维护、大规模集成电路的自动布线、软件自动开发、机器人动作规划等,都可转化成SAT问题。可满足性SAT问题同时也是第一个被证明的NP-Complete问题,目前解决SAT问题已有的完全算法的运行时间呈指数增长。因此,基于FPGA(如图一)对SAT算法加速的研究,具有很大的理论和应用价值,同时也有助于寻找优化其他复杂计算的方法。一、问题定义对于命题公式
5、Y,如果存在对Y中变量的赋值,使得Y在该赋值下的真值为1,则称Y是可满足的。可满足性问题(SAT问题)是判定一个任意给定的命题公式是否可满足的问题。众所周知,任何命题逻辑公式都逻辑等价于一个合取范式(CNF-ConjunctiveNormalForm)。合取范式即是子句的合取,而子句是文字(变元或其否定)的析取。例如,就是一个合取范式。当沪1,b二0,c二1时,Y二1。故Y是可满足的。SAT算法可以分为完全算法(Complete)和不完全算法(Incomplete)算法两大类。通过完全算法总是可以判断公式是否可以满足,尽管有可能计算时间是相当
6、长的。如Davis-Putnam的DP算法[3]和广泛用于电子电路测试向量生成的PODEM(Path-OrientedDecisionMaking)算法[4]都是完全算法。不完全算法则是规定的时间内寻找SAT问题的解,如果找到则说明可满足,但找不到SAT的可满足解不能作为SAT是否可满足的依据。经典的DP算法如下所示,通过遍历变量空间的方式搜索满足SAT的解。ProcedureDPLL(CNFformula①)If①isemptyreturnyes・elseifthereisanemptyclausein①returnno.elseifthe
7、reisapureliteral1in①returnDPLL(O(1)).elseifthereisaunitclause{1}in①returnDPLL(O(1)).elseselectavariablevoccurringin①.ifDPLL(①(v))二yesreturnyes・elsereturnDPLL(①(¬;v))・endend图二所示的是DP算法的例子。随着研究的深入,很多DP算法的优化算法和技术涌现出来,其中有代表性的如GRASP(GenericsearchAlgorithmfortheSatisfiabilityPr
8、oblem)算法中的non-chronological回溯技术[5]等。二、研究进展现状和发展趋势基于可编程逻辑的SAT的算法研究分为两个大的阶段,前期(1996-
此文档下载收益归作者所有