用于解决约束满足问题的基于CAM的随机局部搜索加速器的制作方法
- 国知局
- 2024-07-31 19:29:12
背景技术:
1、布尔可满足性问题(即,命题可满足性问题,缩写为satisfiability、sat或b-sat)是确定是否存在满足给定布尔公式的解释的问题。例如,sat问题试图确定给定布尔公式的变量是否可以始终用值真或假替换,使得公式计算结果为真。如果是这种情况,则该公式称为可满足。另一方面,如果不存在这样的赋值,则公式所表示的函数对于所有可能的变量赋值都为假,并且公式不可满足。例如,公式“a and not b”是可满足的,因为值a=真并且b=假将使得公式“a and not b”=真。与之相反,“a and not a”是不可满足的。sat是第一个被证明属于np完全的问题。np复杂度类中的所有问题(其包括广泛的自然决策和优化问题)最多像sat一样难求解。
2、用于sat问题的布尔表达式的一个或多个子句可以被编程为内容可寻址存储器(“cam”)的行的相应单元。cam是一种计算存储器,其中存储的数据不是通过其位置而是通过其内容来访问。将字或“标签”输入cam。cam在其内容中搜索标签,并且当找到所述标签时,cam返回已找到的内容所驻留的位置的地址。cam功能强大、效率高且速度快。然而,cam也相对较大,耗能巨大,并且相对昂贵。这些缺陷限制了它们的适用性,使它们只能选择其功率、效率和速度是足够高效的应用,基于非易失性存储器技术的cam已经被用于如模式匹配、人工智能和机器学习等多种应用中的存内计算。
技术实现思路
技术特征:1.一种方法,包括:
2.如权利要求1所述的方法,其中,对用于所述k-sat问题的以否定析取范式dnf编写的所述布尔表达式的每个子句进行编程包括将包括0、1或x的位值编程到每个tcam阵列内的每个单元,其中,x表示无关值。
3.如权利要求2所述的方法,其中,每个子句中的每个文字的每个否定都分配位值0,每个子句中的每个文字的每个非否定都分配位值1,并且每个子句中的每个缺失变量都分配位值x。
4.如权利要求1所述的方法,其中,如果所述解释违反存储在所述tcam阵列的对应行中的所述子句,则每条匹配线都返回高位值,并且其中,如果所述解释满足存储在所述tcam阵列的对应行中的所述子句,则每条匹配线都返回低位值。
5.如权利要求4所述的方法,其中,随机多匹配解析器smmr从匹配线布尔向量随机选择一个高位值以返回仅包括一个高值的独热向量,并且其中,所述smmr将所述布尔向量中所有未选择的匹配线设定为零。
6.如权利要求5所述的方法,其中,将所述独热向量发送到静态随机存取存储器sram。
7.如权利要求6所述的方法,其中,所述sram的每行使用用于所述k-sat问题的所述布尔表达式的每个子句进行编程。
8.如权利要求1所述的方法,还包括:
9.如权利要求2所述的方法,其中,通过改变变量来创建倒数值并将所述变量的倒数值施加到每个子句来确定违反子句的数量,来确定所述中断计数。
10.一种使用cam求解k-sat问题的方法,包括:
11.如权利要求10所述的方法,其中,所述dpe向子句内存在的每个变量分配值1,并且向所述子句内不存在的每个变量分配值0。
12.如权利要求10所述的方法,还包括:
13.如权利要求10所述的方法,其中,所述一个或多个文字包括变量或变量的否定,并且其中,所述解释内的所述一个或多个文字使用选择块来改变,所述选择块被配置成使用中断计数来确定要改变所述解释内的所述一个或多个文字中的哪一个。
14.如权利要求10所述的方法,还包括:
15.一种用于求解k-sat问题的电路,所述电路包括:
16.如权利要求15所述的电路,其中,所述选择块被配置成将所述解释的每个变量施加到tcam的每行以确定满足哪个子句。
17.如权利要求15所述的电路,其中,所述smmr被配置成返回仅包括表示高值的一个维度的独热向量。
18.如权利要求15所述的电路,其中,来自匹配线的每个高值表示违反子句。
19.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有指令,所述指令在由处理器执行时使所述处理器执行以下操作:
20.如权利要求19所述的非暂态计算机可读存储介质,其中,所述解释内的一个或多个文字使用选择块来改变,所述选择块被配置成使用所述中断计数来确定将哪个变量或变量的否定改变成逆形式。
技术总结本公开涉及用于解决约束满足问题的基于CAM的随机局部搜索加速器。本公开总体上提供了一种求解K‑SAT问题的方法。该方法包括将用于K‑SAT问题的以否定析取范式(DNF)编写的布尔表达式的一个或多个子句编程到三态CAM(TCAM)阵列,该阵列包括TCAM单元构成的列和行。该方法还包括:将包括期望用于求解该布尔表达式的一个或多个二进制变量的解释作为输入沿该列施加到该TCAM阵列;对每个子句返回二进制值;随机选择一个匹配的匹配线;从一个或多个违反子句确定所选子句;以及使用所选子句的每个变量的中断计数来改变该解释内的一个或多个文字。技术研发人员:G·佩德雷蒂,T·F·齐格勒,T·范瓦伦伯格,C·格雷夫斯受保护的技术使用者:慧与发展有限责任合伙企业技术研发日:技术公布日:2024/1/15本文地址:https://www.jishuxx.com/zhuanli/20240731/182718.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表