技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于强化学习的电路结构模糊搜索方法和装置与流程  >  正文

一种基于强化学习的电路结构模糊搜索方法和装置与流程

  • 国知局
  • 2024-08-22 14:41:09

本发明实施例涉及芯片的反向工程,尤其涉及一种基于强化学习的电路结构模糊搜索方法和装置。

背景技术:

1、在芯片的反向工程中,大规模电路的整理对于芯片的理解和设计起着重要的作用。对于扁平化的电路标准单元及其连接关系,电路整理的目标是将其划分为多个模块,并识别出每个模块的功能和类别。电路整理的初期,是从庞大的电路中搜索出常见的小规模电路结构,这些结构可以进而合并成较大的模块,形成电路的多层次模块划分。准确、高效的结构搜索可以大大提升效率,缩短电路整理初期的工时。

2、现有结构搜索的算法较传统,分为完全匹配和模糊匹配两大类。完全匹配算法的不足之处是,功能相同的模块可以有许多不同的变种结构,该类算法并不能召回这些变种,工程师只能逐个生成不同变种的模板,降低了匹配的召回数量,增加了电路整理的整体用时。传统模糊匹配算法,例如g-finder,通过计算损失函数,递归地进行结构扩展,能够找出结构相近的子图,但递归的宽度和深度使得计算量随着模块规模的扩大而剧增,无法在有限的时间内获得匹配结果。

3、因此,现有技术还缺少一种准确、高效的模糊搜索方法,使得在面对大型图数据集时,也能够完成对功能相同而结构具有局部差异的模块的匹配。

技术实现思路

1、本发明提供一种基于强化学习的电路结构模糊搜索方法和装置,使得功能相同而结构具有局部差异的电路模块能够完成匹配。

2、第一方面,本发明实施例提供了一种基于强化学习的电路结构模糊搜索方法,包括:

3、s1、构建电路网络图d,所述电路网络图d包括网络结构和节点特征;

4、s2、在所述电路网络图d中指定待搜索的子图q,计算电路网络图d和子图q中节点对的相似度,得到相似度矩阵;

5、s3、确定子图q中节点的搜索顺序和搜索起点;

6、s4、在电路网络图d中确定搜索起点的候选节点集;

7、s5、根据所述搜索起点的候选节点集为子图q构造查询树;

8、s6、从每个查询树中分别采样多条轨迹;

9、s7、根据采样到的轨迹,采用强化学习算法训练策略网络,以确定查询树回报最大的前k个结构;

10、s8、从所有前k个结构中筛选出最优的前n个结构作为子图q的匹配结果。

11、可选的,在所述s2之后,还包括:

12、计算电路网络图d中节点和子图q中节点的相似度,并根据计算得到的相似度去除电路网络图d中和子图q不相关的节点。

13、可选的,计算电路网络图d中节点和子图q中节点的相似度,并根据计算得到的相似度去除电路网络图d中和子图q不相关的节点,具体包括:

14、将电路网络图d与子图q中的节点特征向量在t度邻居内做平均,使用平均后的节点特征向量计算电路网络图d与子图q中节点对的相似度;

15、若节点对的相似度小于预设的相似度阈值,则删除节点对中属于电路网络图d的节点。

16、可选的,所述s3具体包括:

17、基于拓扑顺序的思想,生成子图q中节点的搜索顺序,并将搜索顺序的第一位节点作为搜索起点。

18、可选的,所述s4具体包括:

19、从搜索起点开始,对于子图q中的每个节点,使用相似度矩阵从电路网络图d中选出与对应节点相似度大于预设阈值的所有节点,作为子图q中对应节点的候选节点集;

20、所述相似度矩阵采用节点的特征向量计算,计算公式为:

21、其中, qfeature为子图q的节点特征矩阵, dfeature为电路网络图d的节点特征矩阵。

22、可选的,所述s5具体包括:

23、s51、为根节点的每个候选节点构建查询表;

24、s52、以根节点的一张查询表为起点,按照s3中的搜索顺序,每次从子图q中选取一个节点,为其构建查询表,记该查询表对应的子图q的节点为q;

25、s53、构建q所有邻居的查询表;

26、s54、递归地执行s52以及s53,当q遍历完子图q中所有节点时,一棵查询树构建完成。

27、可选的,所述s6包括:

28、定义强化学习的状态空间、动作空间、奖励函数和回报函数;

29、根据子图q中节点的搜索顺序,智能体每一步都从动作空间中选取一个动作,采集每一步的状态与动作组合形成的集合作为轨迹。

30、可选的,所述奖励函数reward = - cost;

31、其中,cost = missing_nodes_cost + missing_edges_cost + ivn_cost;

32、missing_nodes_cost表示搜索结果相比子图q缺失的节点损失,missing_edges表示缺失的边损失,ivn_cost表示多余的间隔节点损失;

33、回报函数,其中,t为最终时刻;t为采样时刻; γ为折扣因子。

34、可选的,所述s7包括:

35、在采样到多条轨迹后,以回报最大作为目标优化策略网络,采用强化学习算法完成策略网络的训练;

36、根据子图q中节点的搜索顺序进行子图匹配,每次匹配让训练好的策略网络根据当前状态输出一个动作,以查找子图q在电路网络图d中的匹配子图;

37、从所有可能的匹配子图中,找出一棵查询树的回报值最大的前k个结构。

38、第二方面,本发明实施例还提供一种基于强化学习的电路结构的模糊搜索装置,包括:

39、电路网络图d构建模块,用于构建电路网络图d,所述电路网络图d包括网络结构和节点特征;

40、子图q指定模块,用于在所述电路网络图d中指定待搜索的子图q;

41、搜索顺序和搜索起点确定模块,用于确定子图q中节点的搜索顺序和搜索起点;

42、候选节点集确定模块,用于在电路网络图d中确定搜索起点的候选节点集;

43、查询树构造模块,用于根据所述搜索起点的候选节点集为子图q构造查询树;

44、轨迹采样模块,用于从每个查询树中分别采样多条轨迹;

45、前k个结构确定模块,用于根据采样到的轨迹,采用强化学习算法训练策略网络,以确定查询树回报最大的前k个结构;

46、匹配结果筛选模块,用于从所有前k个结构中筛选出最优的前n个结构作为子图q的匹配结果。

47、本发明的有益效果:

48、本发明先构建电路网络图,然后指定待搜索的子图并确定子图中节点的搜索顺序和搜索起点,根据搜索顺序和搜索起点在电路网络图中确定中每个节点对应的候选节点集,根据候选节点集中的每个候选节点构造查询树,接着从每个查询树中分别采样多条轨迹,并根据采样到的轨迹,采用强化学习算法训练策略网络,以确定查询树回报最大的前k个结构,再从所有k个结构中筛选出最优的前n个结构作为子图q的匹配结果。其中,前k个结构中包含功能相同而结构具有局部差异的电路模块。当子图q的规模较大时,传统模糊匹配算法的计算量呈笛卡尔积式增长,无法在有限时间内完成模糊匹配。本发明使用强化学习算法替代传统模糊匹配算法中的递归计算,通过轨迹采样获取经验,逐步得到回报最大的全局最优解,能够在有限时间内准确地完成电路模块的模糊匹配。

本文地址:https://www.jishuxx.com/zhuanli/20240822/279487.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。