[发明专利]一种多线程并行执行的硬件SAT求解器有效
申请号: | 201911408984.6 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111159628B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 黎铁军;马柯帆;张建民;常俊胜;孙岩;翦杰;王强;熊泽宇;肖灿文;徐佳庆 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F17/10 | 分类号: | G06F17/10 |
代理公司: | 北京丰浩知识产权代理事务所(普通合伙) 11781 | 代理人: | 李学康 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 并行 执行 硬件 sat 求解 | ||
1.一种多线程并行执行的硬件SAT求解器,其特征在于,
包括:第一寄存器模块、第一评估模块组、缓存器模块组、计数器模块、变元翻转模块、概率映射表、FIFO树组、第二寄存器模块组、第二评估模块和第三寄存器模块;
所述第一寄存器模块,用于存储CNF公式变元初始赋值对应的子句;
所述第一评估模块组,包括多组并行的第一评估模块,用于多线程并行存储第一寄存器模块发送的子句以及变元翻转后的子句;
所述缓存器模块组,包括多组并行的缓存器模块,用于多线程并行缓存临时翻转的文字的赋值;
所述计数器模块,用于计算所述缓存器模块组中各个变元翻转后的break-value值,并将break-value排序;
所述概率映射表,用于预先存储不同翻转概率对应的break-value值;
所述变元翻转模块,用于根据概率映射表的概率将子句变元进行翻转;
所述FIFO树组,包括多组并行的FIFO树,每组FIFO树包括多级FIFO,用于多线程并行存储缓存器模块组中经变元翻转模块翻转后不可满足的子句;
所述第二寄存器模块组,包括多组并行的第二寄存器模块,用于多线程并行从FIFO树组中接收不可满足的子句;
所述第二评估模块,用于从第二寄存器模块组随机读取一个子句,并评估该子句是否是可满足或是不可满足,如该子句是可满足的,则继续从所述第二寄存器模块组随机读取一个子句,并评估该子句是否是可满足或是不可满足;如果该子句是不可满足的,则将该不可满足子句发送至第三寄存器模块;
所述第三寄存器模块,用于存储经第二评估模块评估为不可满足的子句,并查找所述第一寄存器模块中包含该子句中的文字的负文字的子句,并发送给所述第一评估模块组。
2.如权利要求1所述的一种多线程并行执行的硬件SAT求解器,其特征在于,
所述第一寄存器模块,包括地址映射表和子句映射表,所述CNF公式变元初始赋值对应的子句的数据存储在地址映射表和子句映射表中。
3.如权利要求1所述的一种多线程并行执行的硬件SAT求解器,其特征在于,
所述FIFO树组多线程并行存储缓存器模块组中经变元翻转模块翻转后不可满足的子句时,随机将所述不可满足的子句写入FIFO中。
4.如权利要求3所述的一种多线程并行执行的硬件SAT求解器,其特征在于,
所述FIFO树组多线程并行存储缓存器模块组中经变元翻转模块翻转后不可满足的子句时随机将所述不可满足的子句写入FIFO中之后,还包括:
清空所述缓存器模块组中的数据。
5.如权利要求2所述的一种多线程并行执行的硬件SAT求解器,其特征在于,
所述第一寄存器模块发送给所述第一评估模块组的子句数据还包括一个符号位,用于指示第一评估模块组是否需要对该子句数据进行可满足性或不可满足性的评估。
6.如权利要求1所述的一种多线程并行执行的硬件SAT求解器,其特征在于,
所述硬件SAT求解器还包括:随机数产生模块;
所述根据概率映射表的概率将子句变元进行翻转,具体包括:
所述计数器模块计算所述缓存器模块组中各个变元翻转后的break-value值,并将break-value值排序;
将各变元排序后的break-value值与所述概率映射表进行比对,如果变元的break-value值存在于概率映射表中,所述随机数产生模块产生随机数,所述变元翻转模块选择随机数对应的break-value值对应的变元进行翻转;如果变元的break-value值不存在于概率映射表中,则所述变元翻转模块选择最小的break-value值对应的变元进行翻转。
7.如权利要求1所述的一种多线程并行执行的硬件SAT求解器,其特征在于,
所述硬件SAT求解器还包括:随机地址产生模块;
所述第二评估模块根据随机地址产生模块生成的随机地址从第二寄存器模块组的该地址读取一个子句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911408984.6/1.html,转载请声明来源钻瓜专利网。