基于FPGA加速的布尔可满足求解技术研究

来源 :国防科技大学 | 被引量 : 0次 | 上传用户:ghw0531
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
判定布尔公式的可满足性(SAT)是计算机科学领域经典的NP完全问题之一,由于众多领域的实际问题都可以转换为布尔可满足问题来求解,例如VLSI设计与验证、软件的形式验证、人工智能规划与优化等领域,因此几十年来一直是计算机理论领域的研究热点。近年来,随着布尔可满足求解技术的不断发展,软件实现的SAT求解器也逐渐走向成熟与完善,但针对某些类型的SAT实例,例如复杂3-SAT实例,存在学习时间长、求解效率不高等问题。而基于局部搜索原理、通过硬件加速的SAT求解技术是提高3-SAT求解效率最有效的手段,因此,基于硬件加速的SAT求解技术也得到了飞速发展,成为验证领域的研究热点。近年来,致力于改进基于随机局部搜索原理的SAT求解技术得到了广泛、深入的研究。然而,随机局部搜索求解技术在总体上仍有很高的改进潜力,尤其是在结构化SAT问题的求解上存在不足。因此,本文主要目标是寻找新的基于可编程逻辑器件的实现方法,以便更高效、更全面的求解不同类型的3-SAT问题,特别是随机类的3-SAT实例。通过以下几个步骤实现该目标:研究对随机局部搜索求解器初始赋值行为的新分析方法,分析适合随机局部搜索求解器的预处理技术,设计新的单线程的随机局部搜索硬件求解器,以及设计一个并行多线程的随机局部搜索硬件求解器。首先分析了传统随机局部搜索求解器对问题所有变元的初始赋值方式,提出了在局部搜索方法中,使用一种计算变元初始指派取正的概率Pi的SAT预处理算法。通过对参数取值的约束,使得当变元为正的子句的个数大于为负的子句的个数时,其初始指派取正的概率更大,否则,则减小此概率。此外,算法对传统随机产生的变元初始赋值策略进行了改进,尽量使初始指派后产生的可满足子句更多,提前指导了最优真值指派搜索的趋势,大大提高问题的收敛速度,减少搜索陷入局部最优的现象发生。这种对问题变元初值赋值的计算策略结构简单,算法可移植性强,可以用于任何随机局部搜索求解器中。提出基于加强约束算法的现场可编程门阵列(FPGA)求解器ECWSAT,并将基于概率的变元赋值预处理技术应用于此求解器。ECWSAT求解器中软件预处理由主机在求解开始前完成,利用变元消除策略对原始的DIMACS格式的数据进行化简,在计算变元初始赋值为正的概率后给所有变元赋初值,并根据当前初值提取对应的数据文件,如不可满足子句、地址映射表、子句映射表等,最后将这些数据文件下载到硬件求解器中。在主程序部分,对算法的变元选择启发式进行了改进。此外,为了避免搜索陷入局部最优,算法引入一个噪声扰动机制,当搜索进入局部最优时,允许算法按照一定策略选择和当前候选解相同质量或者次质量的解,使其进入不同的优化方向,从而跳出局部最优。实验结果表明,与软件SAT求解器WalkSAT以及其他同类型的硬件SAT求解器相比,ECWSAT求解器可有效的求解规模相对较大的随机SAT问题,特别是在难的随机问题上表现出了良好的性能。提出了基于概率分布函数的probSAT+硬件求解器,用于求解ECWSAT在求解某些大规模的实例成功率不高的问题。probSAT+硬件求解器的核心是一个基于概率分布函数的决策启发式算法。提出的算法在以下三个方面做了改进:首先,在预处理阶段,使用纯文字的化简规则确定符合条件变元的初值;其次,对变元的初始赋值策略做了约束,通过提前指导最优真值指派搜索的趋势,使得赋值后可满足子句尽可能多,减少搜索过程中的翻转次数和搜索的解空间,进而减少陷入局部最优情况的发生,加快算法的收敛速度;最后,在计算变元的概率分布函数时,提出了一种适应于硬件平台实现的概率求解方案,避免了在FPGA中进行复杂的指数或者多项式计算,从而减少了因此带来的巨大时间和面积开销。实验结果表明,与业界高效的同类型软件SAT求解器WalkSAT与Sparrow相比,probSAT+取得了较大的加速比,求解效率得到了显著提升。提出了基于不完全算法的并行多线程求解器pprobSAT+,以提高求解器在搜索过程中的吞吐率,增强求解器的处理能力。求解器基于probSAT+的算法框架,着重分析了求解器的主要组件及其相互作用,并对求解器并行多线程处理过程以及系统流水线带来的性能增益做了详细说明。pprobSAT+求解器在每次搜索的过程中,算法并不判断所有的子句的最终结果,而是仅仅对可能改变的子句进行评估,换句话说,算法仅评估包含翻转变元的子句,从而很大程度上节省了硬件资源开销。此外,由于使用了流水线设计,多个独立的线程被同时执行,使得并行和流水线电路具有很高的求解性能。当实例规模较小,并且所有的数据都存储在FPGA片上存储器时,pprobSAT+求解器能获得更高的性能与加速比。若能将部分数据存于片外存储器,则能大大提高求解器处理问题的规模。实验结果表明,pprobSAT+能够正确地判定公式的可满足性;并且与单线程probSAT+求解器相比,3线程pprobSAT+求解器能够达到超过2倍的加速比。
其他文献
信息系统与信息管理是以信息为核心资源,以信息技术为核心能力,面向宏观与微观各层面的解决经济和管理实际问题的重要科学领域,具有“信息、技术、管理”三个重要维度。信息的爆炸式增长催生了以计算机网络为基础的分布式系统。尽管分布式系统不断演进并得到广泛推广和应用,仍然存在一些基础性问题制约其效能的充分发挥。内容同步技术就是一个典型代表。分布式场景下,都存在不同主机之间需要快速准确的内容同步需求,例如集群节
作为一种广泛使用的在线凸优化方法,在线梯度下降算法通常用来求解在线学习问题。它把在线学习的过程建模为一个连续地博弈问题。博弈的双方分别为学习者和未知环境。在每次博弈时,由学习者先出牌,它根据历史信息给出一个出牌策略,即决策模型。然后由未知环境再出牌,它根据学习者给出的决策模型给出一个损失函数,因此带来了具体的损失。大量的文献研究了在线梯度下降算法以及它的各种变种方法,并分析了它们的性能。相关工作通
卷积神经网络(Convolutional Neural Network,CNN)近年来发展势头迅猛,被广泛应用在图像识别、模式识别等领域。用于图像识别CNN的错误率从2010年的28%降至2016年的3%,已经优于人类5%的错误率。目前,大型CNN的参数数量已经达到数百万,并且每幅图像需要多达数百亿次操作。随着卷积神经网络应用场景的拓展和计算需求的继续增长,学术界和工业界展开了对CNN加速器的探索
随着计算机技术的发展,实现对人体行为的分析和理解,将人作为计算环节的一部分,是未来人本计算的发展趋势。近年来基于射频信号的行为分析技术引起了学者的广泛关注,其通过人体对射频信号的扰动特征来感知和分析人体行为,具有非接触、非视距、无需额外设备、不受光照影响等优点,可利用已有网络基础设施实现快速大规模低成本部署,具有很大的发展潜力。当前,射频行为分析已经被应用在日常行为感知、身份认证、呼吸心跳检测等众
无人值守地面传感器(Unattended Ground Sensors,UGS)系统通常简称为地面传感器系统,是由布放在监测区域地面上的传感器节点、汇聚节点和监控节点所组成的无线监测网络。传感器节点对监测区域的目标信息进行采集、处理,并以无线方式将监测信息上传至汇聚节点,最终上传至远程监控中心。UGS监测系统具有快速部署、使用便捷、成本较低等优点,在战场信息采集及要地监控等领域有广阔的应用前景。但
人脸属性预测在娱乐、安防、社交媒体等实际应用中扮演着重要角色。现有研究多采用分类和回归性能较好的经典机器学习算法对人脸单个属性进行预测,由于单属性预测算法提取的特征较浅,未能挖掘更深层的特征,人脸属性预测准确率难以达到现实应用需求。随着计算机技术的快速发展,深度学习算法能高效地获取与属性相关的浅层和深层特征,能够取得比经典学习算法更好的性能,但由于深度学习算法层数较深,需大量的训练样本,现有的公开
无线传感器网络(Wireless Sensor Network,WSN)具有灵活多变的拓扑结构和对复杂战场环境的强大适应能力,以WSN为搭载平台的精确干扰技术成为新一代电子对抗技术研究核心。然而,其庞大的传感器节点数目也为算法处理时效性带来巨大挑战。针对该问题,本文建立了具有高效运算性能的精确干扰框架并提出了具有分布式运算能力的合作定位算法和精确功率传输算法。具体工作和创新点如下:一、搭建了以分布
本文主要研究自主驾驶汽车的场景感知和局部路径规划这两项关键技术。其中,场景感知由于输入数据的维数较高且包含大量噪声,因此是一项极具挑战的任务。目前的场景感知算法主要利用了计算机视觉和模式识别技术。通过使用机器学习,尤其是深度学习,可大幅提高场景感知的性能。然而,深度学习中所存在的(a)数据需求量大,(b)人工标签需求量大,以及(c)缺乏可解释性这三个问题,却严重地限制了其在场景感知中的应用。为此,
近年来,以深度学习为代表的核心技术引发了第三次人工智能的浪潮。从互联网巨头到中小规模企业、从研究所到各个高校,学术界和工业界都围绕深度学习技术开展了广泛的研究和探索。虽然以TPU为代表的深度学习专用硬件层出不穷,但是GPU集群仍然是开展深度学习研发的主流平台。相比于巨头互联网公司推出的大规模定制化深度学习平台,广大科研院校和中小规模企业由于预算有限,更偏向于采用高性价比的小规模GPU集群,来构建多
城市作为区域经济、政治和文化的中心,城市居民的日常出行需求呈多样化高频次的特点,如通勤、购物、娱乐等。但公共交通拥挤、公共场所人群密集、道路交通拥堵等低出行舒适度的问题也日益突出。当前,多个城市推出实时“拥挤度”、“交通指数”等出行参考指标,城市居民可据此合理选择出行,人流密集管控、道路交通疏导等措施的实施有了较好的针对性。但这些实时监控的出行参考指标,只反映当前而没有预测其即将产生的变化,作用相