CN112100448B - 基于动态规划的有向无环图比对方法、模块及系统 - Google Patents

基于动态规划的有向无环图比对方法、模块及系统 Download PDF

Info

Publication number
CN112100448B
CN112100448B CN202010788535.5A CN202010788535A CN112100448B CN 112100448 B CN112100448 B CN 112100448B CN 202010788535 A CN202010788535 A CN 202010788535A CN 112100448 B CN112100448 B CN 112100448B
Authority
CN
China
Prior art keywords
dag
file
comparison
node
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010788535.5A
Other languages
English (en)
Other versions
CN112100448A (zh
Inventor
杨建荣
陈小舒
袁梦
杨绪疆
林景华
曹小龙
陈锋
张晓玉
李梓彰
郑贵锋
王学钦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202010788535.5A priority Critical patent/CN112100448B/zh
Publication of CN112100448A publication Critical patent/CN112100448A/zh
Application granted granted Critical
Publication of CN112100448B publication Critical patent/CN112100448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于动态规划的有向无环图比对方法,包括:获取预设超参数、DAG文件及节点类型匹配分数文件,预设超参数包括统计检验强度,DAG文件包括源DAG文件及目标DAG文件;通过基于动态规划的DAG比对算法,生成目标DAG文件与源DAG文件的匹配分数;根据统计检验强度,随机分叉生成伪DAG文件,通过基于动态规划的DAG比对算法,生成目标DAG文件与伪DAG文件的匹配分数;根据目标DAG文件与源DAG文件的匹配分数在目标DAG文件与伪DAG文件的匹配分数的分布,生成统计显著指标值。本发明还公开了一种计算模块及一种基于动态规划的有向无环图比对系统。本发明将动态规划与有向无环图比对相结合,可以用于解决有向无环图比对计算量庞大的问题。

Description

基于动态规划的有向无环图比对方法、模块及系统
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于动态规划的有向无环图比对方法、计算模块及基于动态规划的有向无环图比对系统。
背景技术
有向无环图(Directed Acyclic Graph,DAG)是一种在数学、生物、计算机等领域普遍存在的重要数据结构。利用DAG节点标签以寻找全局/局部最大的相似子图结构称为DAG比对,而DAG比对是研究DAG进化和差异的重要方法,可用于定量探究可能影响DAG拓扑结构和节点分布的潜在因素。因此,建立一套DAG比对的客观计算体系,开发出计算不同DAG之间相似程度的算法,将具有广泛的应用前景和重要的意义。
然而,当DAG结构规模较大时,DAG比对的计算量成指数增长,无法高效、快速且精准地完成DAG比对。现有技术中,主要借助以下两种技术实现比对:
技术1:树上部分节点的比对算法(Lozano A,Pinter RY,Rokhlenko O,ValienteG,Ziv-Ukelson M.Seeded tree alignment.IEEE/ACM TransComputBiolBioinform.2008;5(4):503-13.)。该技术通过动态规划方法以实现两颗树上选定节点之间的比对,并使用最小共同祖先节点(least common ancestor,LCA)的搜索原则,通过动态规划的方案计算出分数比对矩阵,寻找最大匹配分数。
技术2:图之间比对的算法(Fishkind DE,Adali S,Patsolic HG,Meng L,SinghD,Lyzinski V,et al.Seeded Graph Matching.arXiv:12090367[stat].2018.)。该技术通过逐步缩小源图和比对图上的节点匹配后的误差,实现不同图上的节点比对。
但是,上述两种技术只能比对树/图/序列上部分的节点,不是完全适用于有向无环图(DAG)的全局比对;同时,这些技术只有一种输出模式,不具备全局和局部穷尽搜索的应用;而且这些技术只局限于部分节点给定的条件下进行比对,不适用于完全已知的末端节点信息条件下的比对,计算量都比较大。
因此,本发明希望开发出高效、快速且精准的DAG比对算法,并封装成可以跨平台运行的软件,用于解决各种DAG比对问题。
发明内容
本发明所要解决的技术问题在于,提供一种基于动态规划的有向无环图比对方法、模块及系统,可将动态规划与有向无环图比对相结合,用于解决有向无环图比对计算量庞大的问题。
为了解决上述技术问题,本发明提供了一种基于动态规划的有向无环图比对方法,包括:获取预设超参数、DAG文件及节点类型匹配分数文件,所述预设超参数包括输出结果数量、删除节点罚分及统计检验强度,所述DAG文件包括源DAG文件及目标DAG文件,所述节点类型匹配分数文件包括节点类型匹配分数矩阵并用于存储源DAG文件及目标DAG文件中的不同节点类型的所有配对及匹配分数;通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及匹配分数文件,生成所述目标DAG文件与源DAG文件的源比对结果,所述源比对结果包括所述目标DAG文件与源DAG文件的匹配分数;根据所述统计检验强度,随机分叉生成伪DAG文件,通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与伪DAG文件的伪比对结果,所述伪比对结果包括所述目标DAG文件与伪DAG文件的匹配分数;根据所述目标DAG文件与源DAG文件的匹配分数在所述目标DAG文件与伪DAG文件的匹配分数的分布,生成统计显著指标值。
作为上述方案的改进,所述基于动态规划的DAG比对算法的步骤包括:根据节点匹配分数矩阵,沿正向传播方向,计算待比对DAG文件及目标DAG文件中末端节点之间的正向匹配分数,并将所述正向匹配分数输出至初始动态规划分数矩阵中,所述待比对DAG文件为源DAG文件或伪DAG文件;根据所述节点匹配分数矩阵,沿反向传播方向,计算所述待比对DAG文件及目标DAG文件中内部节点之间的反向匹配分数,并将所述反向匹配分数输出至所述初始动态规划分数矩阵中,以构成目标动态规划分数矩阵;根据最低共同祖先原则,提取所述目标动态规划分数矩阵中最大的匹配分数所对应的祖先节点集合;根据所述祖先节点集合,回溯输出子节点的匹配策略,得到比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点;输出所述最大的匹配分数、祖先节点集合、比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点。
作为上述方案的改进,所述沿反向传播方向,计算待比对DAG文件及目标DAG文件中内部节点之间的反向匹配分数的步骤包括:沿反向传播方向,将待比对DAG文件中的内部节点与目标DAG文件中的内部节点进行分组比对;分别求和每组内部节点的比对分数,选择每组的最优内部节点,并根据每组中删除的内部节点数量进行罚分,生成分数比对集合;根据所述分数比对集合中最大的匹配分数,生成并存储每个位置选择的比对策略,所述比对策略包括最大的匹配分数、待比对DAG文件选择的内部节点、目标DAG文件选择的内部节点及待比对DAG文件选择的内部节点与目标DAG文件选择的内部节点之间的对应关系;将所述比对策略中最大的匹配分数作为正向匹配分数。
作为上述方案的改进,所述基于动态规划的有向无环图比对方法还包括:输出目标结果,所述目标结果包括比对分数、统计显著指标值、比对成功的两个DAG文件的祖先节点集合、比对得到的节点匹配关系及需要进行的删除节点操作。
作为上述方案的改进,所述基于动态规划的有向无环图比对方法还包括:平面化展示显示结果,所述显示结果包括比对成功的两个DAG文件的拓扑结构、节点标签、节点匹配关系、删除节点、删除标识、比对分数及统计显著性指标。
相应地,本发明还提供了一种计算模块,包括:正向匹配单元,用于根据节点匹配分数矩阵,沿正向传播方向,计算待比对DAG文件及目标DAG文件中末端节点之间的正向匹配分数,并将所述正向匹配分数输出至初始动态规划分数矩阵中,所述待比对DAG文件为源DAG文件或伪DAG文件;反向匹配单元,用于根据所述节点匹配分数矩阵,沿反向传播方向,计算所述待比对DAG文件及目标DAG文件中内部节点之间的反向匹配分数,并将所述反向匹配分数输出至所述初始动态规划分数矩阵中,以构成目标动态规划分数矩阵;节点提取单元,用于根据最低共同祖先原则,提取所述目标动态规划分数矩阵中最大的匹配分数所对应的祖先节点集合;回溯输出单元,用于根据所述祖先节点集合,回溯输出子节点的匹配策略,得到比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点;结果输出单元,用于输出所述最大的匹配分数、祖先节点集合、比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点。
作为上述方案的改进,所述反向匹配单元包括:比对子单元,用于沿反向传播方向,将待比对DAG文件中的内部节点与目标DAG文件中的内部节点进行分组比对;罚分子单元,用于求和每组内部节点的比对分数,选择每组的最优内部节点,并根据每组中删除的内部节点数量进行罚分,生成分数比对集合;策略子单元,用于根据所述分数比对集合中最大的匹配分数,生成并存储每个位置选择的比对策略,所述比对策略包括最大的匹配分数、待比对DAG文件选择的内部节点、目标DAG文件选择的内部节点及待比对DAG文件选择的内部节点与目标DAG文件选择的内部节点之间的对应关系;输出子单元,用于将所述比对策略中最大的匹配分数作为正向匹配分数,并输出所对应的比对策略。
相应地,本发明还提供了一种基于动态规划的有向无环图比对系统,包括输入模块、统计检验模块及计算模块;所述输入模块用于获取预设超参数、DAG文件及节点类型匹配分数文件,所述预设超参数包括输出结果数量、删除节点罚分及统计检验强度,所述DAG文件包括源DAG文件及目标DAG文件,所述节点类型匹配分数文件包括节点类型匹配分数矩阵并用于存储源DAG文件及目标DAG文件中的不同节点类型的所有配对及匹配分数;所述计算模块用于通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与源DAG文件的源比对结果及所述目标DAG文件与伪DAG文件的伪比对结果,所述源比对结果包括所述目标DAG文件与源DAG文件的匹配分数,所述伪比对结果包括所述目标DAG文件与伪DAG文件的匹配分数;所述统计检验模块用于根据所述统计检验强度,随机分叉生成伪DAG文件,还用于根据所述目标DAG文件与源DAG文件的匹配分数在所述目标DAG文件与伪DAG文件的匹配分数的分布,生成统计显著指标值;
作为上述方案的改进,所述基于动态规划的有向无环图比对系统还包括用于输出目标结果的输出模块,所述目标结果包括比对分数、统计显著指标值、比对成功的两个DAG文件的祖先节点集合、比对得到的节点匹配关系及需要进行的删除节点操作。
作为上述方案的改进,所述基于动态规划的有向无环图比对系统还包括用于平面化展示显示结果的可视化模块,所述显示结果包括比对成功的两个DAG文件的拓扑结构、节点标签、节点匹配关系、删除节点、删除标识、比对分数及统计显著性指标。
本发明将动态规划与有向无环图比对相结合,用于解决有向无环图比对计算量庞大的问题。具体地,实施本发明,有如下有益效果:
本发明可通过接收输入标准的两个有向无环图文件,根据提前设置的超参数,采用经过基于动态规划的DAG比对算法计算,按相似程度输出标准的比对结果文件,并将其平面可视化;本发明还可以通过基于动态规划的DAG比对算法,计算生成不同有向环图的比对分数,推测有向无环图之间的相似性差距,实现对同一对象不同观测下得到的有向无环图的可重复性;
进一步,本发明可以通过输出结果中的删除节点数目和位置、比对结果输出的节点匹配关系,探究产生不同有向无环图条件的影响,从而获得祖先节点产生传播方向上拓扑结构和特征节点分布的根源特性;本发明还可以通过输出结果显示自身相似结构的大小和数量,由此挖掘自身次级结构的重复模式,从而更深度地解析有向无环图的产生机理;本发明还可以通过对输出结果的合并,将多个不完整的有向无环图组装成更趋近于完整的有向无环图本体。
另外,还可将本发明嵌入到更高级、复杂的系统中,通过不断地调整参数优化(如贪婪算法)使两个有向无环图比对产生的分数达到最高,该策略可以用来实现有向无环图不同类型节点匹配关系的无监督聚类,从而挖掘这些分类后面的潜在影响因素。
附图说明
图1是本发明基于动态规划的有向无环图比对方法的实施例流程图;
图2是本发明中基于动态规划的DAG比对算法的实施例流程图;
图3是本发明基于动态规划的有向无环图比对系统的结构示意图;
图4是本发明中计算模块的结构示意图;
图5是本发明中反向匹配单元的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
参见图1,图1显示了本发明基于动态规划的有向无环图比对方法的实施例流程图,其包括:
S101,获取预设超参数、DAG文件及节点类型匹配分数文件。
所述预设超参数包括输出结果数量、删除节点罚分及统计检验强度。
所述DAG文件包括源DAG文件及目标DAG文件;所述源DAG文件及目标DAG文件的文件格式相同,均包含DAG结构及DAG节点信息。
所述节点类型匹配分数文件包括节点类型匹配分数矩阵,并用于存储源DAG文件及目标DAG文件中的不同节点类型的所有配对及匹配分数。
S102,通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与源DAG文件的源比对结果。
所述源比对结果包括所述目标DAG文件与源DAG文件的匹配分数。进一步,所述比对结果还包括比对分数、比对成功的两个DAG文件的祖先节点集合、DAG上所有节点的比对得到的节点匹配关系及DAG比对需要进行的删除节点操作。
也就是说,将所述源DAG文件输入基于动态规划的DAG比对算法后,可计算得到目标DAG文件与源DAG文件的匹配分数。
动态规划(Dynamical Programming,DP)是将复杂问题分解为多个子问题的方法。与现有技术不同的是,本发明将动态规划与有向无环图比对相结合,可以用于解决有向无环图比对计算量庞大的问题。
S103,根据所述统计检验强度,随机分叉生成伪DAG文件,通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与伪DAG文件的伪比对结果。
提取所述统计检验强度,对应随机分叉(random bifurcation)生成n个随机分布的伪DAG文件。
所述伪比对结果包括所述目标DAG文件与伪DAG文件的匹配分数。
将所述伪DAG文件输入基于动态规划的DAG比对算法后,可计算得到目标DAG文件与伪DAG文件的匹配分数。
S104,根据所述目标DAG文件与源DAG文件的匹配分数在所述目标DAG文件与伪DAG文件的匹配分数的分布,生成统计显著指标值。
因此,所述步骤S102及S103通过动态规划算法实现了DAG文件之间的定量比对,而所述步骤S104实现了比对结果的可靠性(显著性)检验,从而解决了有向无环图比对计算量庞大的问题。
进一步,所述基于动态规划的有向无环图比对方法还包括:输出若干条目标结果,所述目标结果包括比对分数、统计显著指标值、比对成功的两个DAG文件的祖先节点集合、DAG上所有节点的比对得到的节点匹配关系及DAG比对需要进行的删除节点操作,但不以此为限制。需要说明的是,所述比对分数、比对成功的两个DAG文件的祖先节点集合、DAG上所有节点的比对得到的节点匹配关系及DAG比对需要进行的删除节点操作等信息,可由步骤S102中通过基于动态规划的DAG比对算法得出。
相应地,所述基于动态规划的有向无环图比对方法还包括:平面化展示显示结果。所述显示结果包括比对成功的两个DAG文件的拓扑结构、节点标签、不同DAG节点之间节点匹配关系、删除节点及删除标识,但不以此为限制。需要说明的是,所述显示结果,可由步骤S102、S103中通过基于动态规划的DAG比对算法得出。因此,通过本发明可实现有向无环图比对结果的可视化处理。
由上可知,本发明可通过接收输入标准的两个有向无环图文件(源DAG文件和目标DAG文件),选择全局/局部两种比对模式,根据提前设置的超参数,采用经过基于动态规划的DAG比对算法计算,按相似程度输出标准的比对结果文件,并将其平面可视化。
参见图2,图2显示了本发明中基于动态规划的DAG比对算法的实施例流程图,一般情况下,所述待比对DAG文件可以为源DAG文件或伪DAG文件,本实施例中,所述待比对DAG文件为源DAG文件。
本实施例中,基于动态规划的DAG比对算法中用到的数学符号包括:
G=(V,E)为DAG文件,其中,V为图中所有的节点集合,E为DAG中所有的节点连接关系,具有方向性;
GQ为源DAG文件,GT为目标DAG文件;
VQ为GQ的节点,VT为GT的节点;
Mi×j为节点匹配分数矩阵,其中,i为GQ的节点类型数量,j为GT的节点类型数量;
Mn×m为动态规划分数矩阵,其中,n为GQ的节点数量,m为GT的节点数量;
s为分数比对集合;
S为比对策略,S=(d,vq,vt,r),其中,d为s中最大的匹配分数,vq为GQ选择的内部节点、vt为GT选择的内部节点、r为vq与vt之间的对应关系;
D为Mn×m中最大的匹配分数;
R为比对关系;
CQ为R中GQ选择的祖先节点,CT为R中GT选择的祖先节点;
SQ为R中GQ选择的子节点,ST为R中GT选择的子节点;
P为删除节点罚分;
O(m×n)为算法的时间复杂度。
如图2所示,本发明中基于动态规划的DAG比对算法的实施例流程图,包括:
S201,根据节点匹配分数矩阵,沿正向传播方向,计算源DAG文件及目标DAG文件中末端节点之间的正向匹配分数,并将所述正向匹配分数输出至初始动态规划分数矩阵中。
根据节点匹配分数矩阵Mi×j,查询并计算出正向传播方向上,源DAG文件GQ和目标DAG文件GT的之间所有末端节点之间的正向匹配分数,并填到动态规划分数矩阵Mn×m对应的位置中。
需要说明的是,所述正向匹配分数为提前定义,其依据往往为现实中的可靠证据和客观现实。
S202,根据所述节点匹配分数矩阵,沿反向传播方向,计算所述源DAG文件及目标DAG文件中内部节点之间的反向匹配分数,并将所述反向匹配分数输出至所述初始动态规划分数矩阵中,以构成目标动态规划分数矩阵。
具体地,所述沿反向传播方向,计算源DAG文件及目标DAG文件中内部节点之间的反向匹配分数的步骤包括:
(1)沿反向传播方向,将源DAG文件中的内部节点与目标DAG文件中的内部节点进行分组比对。
根据目标DAG文件GT和源DAG文件GQ的反向传播方向,进行内部节点的比对。
(2)分别求和每组内部节点的比对分数,选择每组的最优内部节点,并根据每组中删除的内部节点数量进行罚分,生成所有可能的分数比对集合s。
需要说明的是,所述比对分数来源于反向传播的求和操作,而所述罚分操作是在求和操作所得到的总分上减去预设的罚分。
(3)根据所述分数比对集合中最大的匹配分数,生成并存储每个位置选择的比对策略。
根据分数比对集合s中最大的匹配分数d,得到每个位置选择的比对策略S,并存储每个位置选择的比对策略S。
所述比对策略S=(d,vq,vt,r),也就是说,所述比对策略包括最大的匹配分数d、源DAG文件GQ选择的内部节点vq、目标DAG文件GT选择的内部节点vt、及源DAG文件GQ选择的内部节点vq与目标DAG文件GT选择的内部节点vt之间的对应关系r。
(4)将所述比对策略中最大的匹配分数作为正向匹配分数。
将分数比对集合s中挑选的最大的匹配分数d填写到动态规划分数矩阵Mn×m中,构成目标动态规划分数矩阵。
需要说明的是,本发明中将源DAG文件中的内部节点与目标DAG文件中的内部节点进行分组,然后再由步骤(1)-(4)分别对每组内部节点进行比对、罚分、提取等操作,最后,递归类推至全部节点VQ(源DAG文件GQ的节点)和VT(目标DAG文件GT的节点)之间,最终得到完整的动态规划分数矩阵Mn×m(即目标动态规划分数矩阵)。
因此,本发明通过动态规划生成DAG比对的动态规划分数矩阵,实现了动态规划分数矩阵中的每个位置的最优化选择。
S203,根据最低共同祖先原则,提取所述目标动态规划分数矩阵中最大的匹配分数所对应的祖先节点集合。
按照最低共同祖先原则(lowest common ancestor,LCA)挑选动态规划分数矩阵Mn×m中数值最大的匹配分数D所对应的祖先节点集合CQ和CT
S204,根据所述祖先节点集合,回溯输出子节点的匹配策略,得到比对关系、源DAG文件选择的子节点及目标DAG文件选择的子节点。
根据挑选的祖先节点集合CQ和Ct,回溯输出所有子节点的匹配策略,得到最终的比对关系R,比对关系R中源DAG文件GQ选择的子节点SQ,比对关系R中目标DAG文件GT选择的子节点ST
因此,本发明可回溯追踪到所有的DAG拓扑结构和删除节点操作。
S205,输出所述最大的匹配分数、祖先节点集合、比对关系、源DAG文件选择的子节点及目标DAG文件选择的子节点。
将最大的匹配分数D、祖先节点集合CQ和Ct(既是目标动态规划分数矩阵中最大的匹配分数所对应的祖先节点集合,也是比对关系中源DAG文件及目标DAG文件选择的子节点)、比对关系R、源DAG文件GQ选择的子节点SQ及目标DAG文件GT选择的子节点ST作为输出结果进行输出,但不一次为限制,可根据实际情况输出步骤S201-205中产生的中间变量及最终结果。
因此,本发明根据最低共同祖先原则挑选具备最大匹配分数的祖先节点对应关系,并通过反向输出获得最大DAG比对分数和对应的节点匹配关系。
由上可知,本发明可以利用两个不同DAG拓扑结构和节点标签,以寻找尽可能多、尽可能大的相同子图,即可定量化不同DAG之间的全局/局部的相似程度并搜索最符合条件的局部相似结构。同时,本发明还可以通过动态规划计算出不同节点比对分数矩阵,根据拓扑结构回溯输出DAG比对的最佳分数和匹配关系,并进行严格的统计学检验来计算比对结果的可靠性。
需要说明的是,本实施例中展示了“通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与源DAG文件的源比对结果”的步骤。同理,也可以采取本实施例的方式实现“通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与伪DAG文件的伪比对结果”的步骤,在此不再重复描述。
为了更好地实施上述基于动态规划的有向无环图比对方法,本发明还研发了一种基于动态规划的有向无环图比对系统100。
如图3所述,所述基于动态规划的有向无环图比对系统100包括输入模块1、统计检验模块2及计算模块3,具体地:
输入模块1,用于获取预设超参数、DAG文件及节点类型匹配分数文件。所述预设超参数包括输出结果数量、删除节点罚分及统计检验强度;所述DAG文件包括源DAG文件及目标DAG文件,所述源DAG文件及目标DAG文件的文件格式相同,均包含DAG结构及DAG节点信息;所述节点类型匹配分数文件包括节点类型匹配分数矩阵并用于存储源DAG文件及目标DAG文件中的不同节点类型的所有配对及匹配分数。
统计检验模块2,用于根据所述统计检验强度,随机分叉生成伪DAG文件,还用于根据所述目标DAG文件与源DAG文件的匹配分数在所述目标DAG文件与伪DAG文件的匹配分数的分布,生成统计显著指标值。
计算模块3,用于通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与源DAG文件的源比对结果及所述目标DAG文件与伪DAG文件的伪比对结果,所述源比对结果包括所述目标DAG文件与源DAG文件的匹配分数,所述伪比对结果包括所述目标DAG文件与伪DAG文件的匹配分数。
工作时,所述统计检验模块2先提取所述输入模块1中的统计检验强度,对应随机分叉(random bifurcation)生成n个随机分布的伪DAG文件;再由计算模块3将源DAG文件输入基于动态规划的DAG比对算法后,可计算得到所述目标DAG文件与源DAG文件的匹配分数,再将所述伪DAG文件输入基于动态规划的DAG比对算法后,可计算得到目标DAG文件与伪DAG文件的匹配分数;最后,由统计检验模块2根据所述统计检验强度,随机分叉生成伪DAG文件,还用于根据所述目标DAG文件与源DAG文件的匹配分数在所述目标DAG文件与伪DAG文件的匹配分数的分布,生成统计显著指标值。
因此,可先由计算模块3通过动态规划算法实现了DAG文件之间的定量比对,再由统计检验模块2实现了比对结果的可靠性(显著性)检验,从而解决了有向无环图比对计算量庞大的问题。
进一步,所述基于动态规划的有向无环图比对系统100还包括用于输出目标结果的输出模块,所述目标结果包括比对分数、统计显著指标值、比对成功的两个DAG文件的祖先节点集合、比对得到的节点匹配关系及需要进行的删除节点操作。
相应地,所述基于动态规划的有向无环图比对系统还包括用于平面化展示显示结果的可视化模块,所述显示结果包括比对成功的两个DAG文件的拓扑结构、节点标签、节点匹配关系、删除节点、删除标识、比对分数及统计显著性指标。因此,通过可视化模块可实现有向无环图比对结果的可视化处理。
与现有技术不同的是,本发明中的计算模块3将动态规划与有向无环图比对相结合,可以用于解决有向无环图比对计算量庞大的问题。
如图4所示,所述计算模块3包括:
正向匹配单元31,用于根据节点匹配分数矩阵,沿正向传播方向,计算待比对DAG文件及目标DAG文件中末端节点之间的正向匹配分数,并将所述正向匹配分数输出至初始动态规划分数矩阵中。具体地,正向匹配单元31根据节点匹配分数矩阵Mi×j,查询并计算出正向传播方向上,待比对DAG文件GQ和目标DAG文件GT的之间所有末端节点之间的正向匹配分数,并填到动态规划分数矩阵Mn×m对应的位置中。
反向匹配单元32,用于根据所述节点匹配分数矩阵,沿反向传播方向,计算所述待比对DAG文件及目标DAG文件中内部节点之间的反向匹配分数,并将所述反向匹配分数输出至所述初始动态规划分数矩阵中,以构成目标动态规划分数矩阵。
节点提取单元33,用于根据最低共同祖先原则,提取所述目标动态规划分数矩阵中最大的匹配分数所对应的祖先节点集合。具体地,节点提取单元33按照最低共同祖先原则(lowest common ancestor,LCA)挑选动态规划分数矩阵Mn×m中数值最大的匹配分数D所对应的祖先节点集合CQ和CT
回溯输出单元34,用于根据所述祖先节点集合,回溯输出子节点的匹配策略,得到比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点。具体地,回溯输出单元34根据挑选的祖先节点集合CQ和Ct,回溯输出所有子节点的匹配策略,得到最终的比对关系R,比对关系R中待比对DAG文件GQ选择的子节点SQ,比对关系R中目标DAG文件GT选择的子节点ST
结果输出单元35,用于输出所述最大的匹配分数、祖先节点集合、比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点。具体地,结果输出单元35将最大的匹配分数D、祖先节点集合CQ和Ct(既是目标动态规划分数矩阵中最大的匹配分数所对应的祖先节点集合,也是比对关系中待比对DAG文件及目标DAG文件选择的子节点)、比对关系R、待比对DAG文件GQ选择的子节点SQ及目标DAG文件GT选择的子节点ST作为输出结果进行输出。
如图5所示,所述反向匹配单元32包括:
比对子单元321,用于沿反向传播方向,将待比对DAG文件中的内部节点与目标DAG文件中的内部节点进行分组比对。也就是说,比对子单元321根据目标DAG文件GT和待比对DAG文件GQ的反向传播方向,进行内部节点的比对。
罚分子单元322,用于求和每组内部节点的比对分数,选择每组的最优内部节点,并根据每组中删除的内部节点数量进行罚分,生成分数比对集合。
策略子单元323,用于根据所述分数比对集合中最大的匹配分数,生成并存储每个位置选择的比对策略,所述比对策略包括最大的匹配分数、待比对DAG文件选择的节点、目标DAG文件选择的节点及待比对DAG文件选择的节点与目标DAG文件选择的节点之间的对应关系。具体地,所述策略子单元323根据分数比对集合s中最大的匹配分数d,得到每个位置选择的比对策略S,并存储每个位置选择的比对策略S。其中,所述比对策略S=(d,vq,vt,r),也就是说,所述比对策略包括最大的匹配分数d、待比对DAG文件GQ选择的内部节点vq、目标DAG文件GT选择的内部节点vt、及待比对DAG文件GQ选择的内部节点vq与目标DAG文件GT选择的内部节点vt之间的对应关系r。
输出子单元324,用于将所述比对策略中最大的匹配分数作为正向匹配分数。具体地,输出子单元324将分数比对集合s中挑选的最大的匹配分数d填写到动态规划分数矩阵Mn×m中,构成目标动态规划分数矩阵。
由上可知,本发明基于动态规划的有向无环图比对系统将基于动态规划的高效、快速且精准的DAG比对算法,封装成可以跨平台运行的系统,有效地解决可各种DAG比对的问题。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (8)

1.一种基于动态规划的有向无环图比对方法,其特征在于,包括:
获取预设超参数、DAG文件及节点类型匹配分数文件,所述预设超参数包括输出结果数量、删除节点罚分及统计检验强度,所述DAG文件包括源DAG文件及目标DAG文件,所述节点类型匹配分数文件包括节点类型匹配分数矩阵并用于存储源DAG文件及目标DAG文件中的不同节点类型的所有配对及匹配分数;
通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与源DAG文件的源比对结果,所述源比对结果包括所述目标DAG文件与源DAG文件的匹配分数;
根据所述统计检验强度,随机分叉生成伪DAG文件,通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与伪DAG文件的伪比对结果,所述伪比对结果包括所述目标DAG文件与伪DAG文件的匹配分数;
根据所述目标DAG文件与源DAG文件的匹配分数在所述目标DAG文件与伪DAG文件的匹配分数的分布,生成统计显著指标值;
所述基于动态规划的DAG比对算法的步骤包括:根据节点匹配分数矩阵,沿正向传播方向,计算待比对DAG文件及目标DAG文件中末端节点之间的正向匹配分数,并将所述正向匹配分数输出至初始动态规划分数矩阵中,所述待比对DAG文件为源DAG文件或伪DAG文件;根据所述节点匹配分数矩阵,沿反向传播方向,计算所述待比对DAG文件及目标DAG文件中内部节点之间的反向匹配分数,并将所述反向匹配分数输出至所述初始动态规划分数矩阵中,以构成目标动态规划分数矩阵;根据最低共同祖先原则,提取所述目标动态规划分数矩阵中最大的匹配分数所对应的祖先节点集合; 根据所述祖先节点集合,回溯输出子节点的匹配策略,得到比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点;输出所述最大的匹配分数、祖先节点集合、比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点。
2.如权利要求1所述的基于动态规划的有向无环图比对方法,其特征在于,所述沿反向传播方向,计算待比对DAG文件及目标DAG文件中内部节点之间的反向匹配分数的步骤包括:
沿反向传播方向,将待比对DAG文件中的内部节点与目标DAG文件中的内部节点进行分组比对;
分别求和每组内部节点的比对分数,选择每组的最优内部节点,并根据每组中删除的内部节点数量进行罚分,生成分数比对集合;
根据所述分数比对集合中最大的匹配分数,生成并存储每个位置选择的比对策略,所述比对策略包括最大的匹配分数、待比对DAG文件选择的内部节点、目标DAG文件选择的内部节点及待比对DAG文件选择的内部节点与目标DAG文件选择的内部节点之间的对应关系;
将所述比对策略中最大的匹配分数作为正向匹配分数。
3.如权利要求1所述的基于动态规划的有向无环图比对方法,其特征在于,还包括:输出目标结果,所述目标结果包括比对分数、统计显著指标值、比对成功的两个DAG文件的祖先节点集合、比对得到的节点匹配关系及需要进行的删除节点操作。
4.如权利要求1所述的基于动态规划的有向无环图比对方法,其特征在于,还包括:平面化展示显示结果,所述显示结果包括比对成功的两个DAG文件的拓扑结构、节点标签、节点匹配关系、删除节点、删除标识、比对分数及统计显著性指标。
5.一种基于动态规划的有向无环图比对系统,其特征在于,包括输入模块、统计检验模块及计算模块;
所述输入模块用于获取预设超参数、DAG文件及节点类型匹配分数文件,所述预设超参数包括输出结果数量、删除节点罚分及统计检验强度,所述DAG文件包括源DAG文件及目标DAG文件,所述节点类型匹配分数文件包括节点类型匹配分数矩阵并用于存储源DAG文件及目标DAG文件中的不同节点类型的所有配对及匹配分数;
所述计算模块用于通过基于动态规划的DAG比对算法,根据所述预设超参数、DAG文件及节点类型匹配分数文件,生成所述目标DAG文件与源DAG文件的源比对结果及所述目标DAG文件与伪DAG文件的伪比对结果,所述源比对结果包括所述目标DAG文件与源DAG文件的匹配分数,所述伪比对结果包括所述目标DAG文件与伪DAG文件的匹配分数;
所述统计检验模块用于根据所述统计检验强度,随机分叉生成伪DAG文件, 还用于根据所述目标DAG文件与源DAG文件的匹配分数在所述目标DAG文件与伪DAG文件的匹配分数的分布,生成统计显著指标值;
所述计算模块包括:正向匹配单元,用于根据节点匹配分数矩阵,沿正向传播方向,计算待比对DAG文件及目标DAG文件中末端节点之间的正向匹配分数,并将所述正向匹配分数输出至初始动态规划分数矩阵中,所述待比对DAG文件为源DAG文件或伪DAG文件;反向匹配单元,用于根据所述节点匹配分数矩阵,沿反向传播方向,计算所述待比对DAG文件及目标DAG文件中内部节点之间的反向匹配分数,并将所述反向匹配分数输出至所述初始动态规划分数矩阵中,以构成目标动态规划分数矩阵;节点提取单元,用于根据最低共同祖先原则,提取所述目标动态规划分数矩阵中最大的匹配分数所对应的祖先节点集合; 回溯输出单元,用于根据所述祖先节点集合,回溯输出子节点的匹配策略,得到比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点;结果输出单元,用于输出所述最大的匹配分数、祖先节点集合、比对关系、待比对DAG文件选择的子节点及目标DAG文件选择的子节点。
6.如权利要求5所述的基于动态规划的有向无环图比对系统,其特征在于,所述反向匹配单元包括:
比对子单元,用于沿反向传播方向,将待比对DAG文件中的内部节点与目标DAG文件中的内部节点进行分组比对;
罚分子单元,用于求和每组内部节点的比对分数,选择每组的最优内部节点,并根据每组中删除的内部节点数量进行罚分,生成分数比对集合;
策略子单元,用于根据所述分数比对集合中最大的匹配分数,生成并存储每个位置选择的比对策略,所述比对策略包括最大的匹配分数、待比对DAG文件选择的内部节点、目标DAG文件选择的内部节点及待比对DAG文件选择的内部节点与目标DAG文件选择的内部节点之间的对应关系;
输出子单元,用于将所述比对策略中最大的匹配分数作为正向匹配分数,并输出所对应的比对策略。
7.如权利要求5所述的基于动态规划的有向无环图比对系统,其特征在于,还包括用于输出目标结果的输出模块,所述目标结果包括比对分数、统计显著指标值、比对成功的两个DAG文件的祖先节点集合、比对得到的节点匹配关系及需要进行的删除节点操作。
8.如权利要求5所述的基于动态规划的有向无环图比对系统,其特征在于,还包括用于平面化展示显示结果的可视化模块,所述显示结果包括比对成功的两个DAG文件的拓扑结构、节点标签、节点匹配关系、删除节点、删除标识、比对分数及统计显著性指标。
CN202010788535.5A 2020-08-07 2020-08-07 基于动态规划的有向无环图比对方法、模块及系统 Active CN112100448B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010788535.5A CN112100448B (zh) 2020-08-07 2020-08-07 基于动态规划的有向无环图比对方法、模块及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010788535.5A CN112100448B (zh) 2020-08-07 2020-08-07 基于动态规划的有向无环图比对方法、模块及系统

Publications (2)

Publication Number Publication Date
CN112100448A CN112100448A (zh) 2020-12-18
CN112100448B true CN112100448B (zh) 2023-09-26

Family

ID=73752758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010788535.5A Active CN112100448B (zh) 2020-08-07 2020-08-07 基于动态规划的有向无环图比对方法、模块及系统

Country Status (1)

Country Link
CN (1) CN112100448B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115775028B (zh) * 2021-09-06 2024-07-16 本源量子计算科技(合肥)股份有限公司 量子线路优化方法、装置、介质及电子装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399720A (zh) * 2018-12-14 2019-11-01 腾讯科技(深圳)有限公司 一种文件检测的方法以及相关装置
CN111124762A (zh) * 2019-12-30 2020-05-08 航天科工网络信息发展有限公司 一种基于改进粒子群算法的动态副本放置方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399720A (zh) * 2018-12-14 2019-11-01 腾讯科技(深圳)有限公司 一种文件检测的方法以及相关装置
CN111124762A (zh) * 2019-12-30 2020-05-08 航天科工网络信息发展有限公司 一种基于改进粒子群算法的动态副本放置方法

Also Published As

Publication number Publication date
CN112100448A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN110622156B (zh) 用于查询大图的增量图计算方法及设备
Byrka et al. New results on optimizing rooted triplets consistency
Ruan et al. Global robustness evaluation of deep neural networks with provable guarantees for the $ L_0 $ norm
Williams et al. Deterministic search for relational graph matching
Sioutis et al. Consistency of chordal RCC-8 networks
Bastani et al. Machine-assisted map editing
CN105183796A (zh) 一种基于聚类的分布式链路预测方法
CN115034261B (zh) 雷达辐射源信号脉间特征提取方法、设备及存储介质
CN112100448B (zh) 基于动态规划的有向无环图比对方法、模块及系统
Bashir An efficient pattern growth approach for mining fault tolerant frequent itemsets
Sui et al. Learning 3-opt heuristics for traveling salesman problem via deep reinforcement learning
CN113094899B (zh) 一种随机潮流计算方法、装置、电子设备及存储介质
Guan et al. DEMOS: Clustering by pruning a density-boosting cluster tree of density mounts
Takhanov et al. Inference algorithms for pattern-based CRFs on sequence data
CN110554952B (zh) 一种基于搜索的分层回归测试数据生成方法
Morrison et al. Inexact graph matching using a hierarchy of matching processes
Bögeholz et al. In-database connected component analysis
Kochurov et al. Are hyperbolic representations in graphs created equal?
Gillioz et al. Speeding up graph matching by means of systematic graph reductions using centrality measures
Khodaei et al. Geodesics to characterize the phylogenetic landscape
Cao et al. A maximal common subgraph based method for process retrieval
CN112750047A (zh) 行为关系信息提取方法及装置、存储介质、电子设备
Fan et al. Explainable ai for classification using probabilistic logic inference
Silva et al. A multi-neighbor-joining approach for phylogenetic tree reconstruction and visualization
Ferrer et al. On the relation between the median and the maximum common subgraph of a set of graphs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant