图匹配问题的应用和研究 - 首页-中国计算机学会信息网
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
祝园园 秦 璐 于 旭香港中文大学
图匹配问题的应用和研究
图结构被广泛应用于多种领域,以描述事物之间的复杂关系,如万维网、社交网络、蛋白质交互网络、化学分子结构、电力网、公路网、图像处理中的属性图和生态系统中的食物链等。随着这些领域的发展和数据的增加,图的大小和数量也在不断增长。例如,典型蛋白质交互网络已有上万个节点,随着研究对象从低等生物(如细菌)向高等生物(如人类)的转移,节点将会急剧增长,预计可达到30万个。在PubChem 数据库中,已有超过3000万个化学分子结构,并且仍在不断增加。如何在大量积累的图上进行高效的图匹配(graph matching )操作,已成为学术界和工业界关注的新的研究内容。图匹配的总体目标是确定两个图的顶点对应关系,使其满足某些限制条件或者目标函数,尽可能地保留两个图的共同部分。
应用领域
在许多应用领域,图匹配都是一个必要的基本操作手段,起着至关重要的作用。相关领域包括:
生物学 在大多数生物进程
中,蛋白质交互(protein-protein interaction ,PPI )网络起着非常重要的作用。其中,图的每个顶点对应一个蛋白质,每条边表示两个蛋白质间的相互作用关系。如果对
来自不同物种的蛋白质交互网络关键词:近似图匹配 子图同构 最大公共子图
进行比较分析,我们可识别出它们的共存功能成分(conserved functional component ),并能够在体系层次上深刻阐述物种间的相似及差别。图匹配可以被有效地应用于蛋白质交互网络的分析比较,以最大限度地识别出不同物种间的同源蛋白质对(pairs of homologous proteins ),且保留蛋白质间的相互作用关系[1~3]。
生物化学 一个物种的基因组(genome )可
以表示为图结构。基因之间的序列关系由基因上的核苷酸(nucleotide )在一条链上的起始位置和互补链上的终止位置决定。基因序列中的每个基因均可以表示为顶点,染色体(chromosome )上相邻的两个基因相连成一条边。因此一个双链环状(double-stranded circular )DNA 基因组可以表示为一个带环图。类似地,代谢途径(metabolic pathway )也可以用图结构表示。图的顶点表示酶(enzymes
),
图1 蛋白质交互网络
若两个酶能催化逐次反应步骤(successive reaction steps),就在二者之间建立一条边。每条边表示一个特定的化学物质(specific chemical compound),它既是上一个反应步骤的产物(product),也是下一个反应步骤的底物(substrate)。对这两种具有不同结构和含义的图进行匹配,将有助于我们识别功能相关的酶簇(functionally related enzyme clus-ters,FRECs)[4]。
医学 在医学领域,脑电图(electroencepha-logram,EEG)信号记录了神经元(neuron)的活动过程,用来描述快速的大脑活动(brain activ-ity),也可以转化为图结构。我们从脑电波的时频图(time-frequency map)中提取能量脉冲(energy burst),将其表示为图的顶点。若某个脉冲与前一个或下一个脉冲的时间间隔在一定范围内,就用边将它们连接起来。对这样的两个图进行匹配,可以比较脑电图信号在延迟性(latency)、频率(fre-quency)、能量(energy)以及活跃区域(activated areas)等方面的差异,进而比较两个大脑皮层的活动(cortical activity)[5]。
图像和视频 在图像和视频处理领域,每个图像或者视频中的每个帧(frame)都可以用图结构表示。在图像中,用户感兴趣的对象可以用边界框(bounding box)表示。对象之间有多种空间关系(spatial relation),如重叠(overlap)、包含(contain)和相接(meet)等。在二维空间上,这种空间关系高达169种。对于每个图像,我们可以构建一个区域邻接图(region adjacency graph,RAG),图中每个点表示一个对象,边表示对象间的空间关系。对两个区域邻接图进行匹配,可以帮助我们提取多个图片或一系列视频镜头集合中的相似对象[6,7]。
模式匹配 在数据集成(data integration)和服务互操作性(service interoperability)研究中,模式匹配(schema matching)起着非常重要的作用。它主要用来识别元数据(metadata)或模型的对应关系。例如,国内外很多大型的比较购物网站(comparison shopping website),如雅虎、Shop-ping、BizRate、一淘网和比购网等,可以从多个独立的在线商店(online store)中整合商品信息,为用户提供价格比较和评价分析功能。每一个独立在线商店的商品目录以及层次关系都可以用图结构表示,图匹配算法可以用来解决对不同在线商店进行信息整合时出现的模式匹配问题[8]。
研究进展
在图匹配问题中,我们希望能找到两个图的顶点的对应关系,且尽可能保留顶点之间边的对应关系。换言之,如果一个图中的两个顶点之间存在一条边,那么在与之匹配的另外一个图上的对应顶点之间也应存在一条边。根据约束条件的不同,接下来介绍几种问题定义及相关研究工作。
(子)图同构算法
图匹配问题中最严格的定义是图同构(graph isomorphism),即两个图的顶点存在一个双射关系,使得图中的两个顶点相连的充分必要条件是它们在另一个图上的映射顶点相连。另一约束条件较弱的定义是子图同构(subgraph isomorphism),即两个图的顶点存在一个单射关系,若子图中两个顶点相连,它们在另一个图上的映射顶点也一定相连。子图同构问题被证明是NP完全问题[9]。经典的子图同构算法通常采用带有回溯的树搜索技术,如Ullmann算法[10]。VF算法[11]及后来的VF2算法[12]都采用了树搜索技术,并采用了一个能够快速计算的启发式规则进行剪枝,在性能上比Ullmann算法有了显著提升。此外,还有未采用树搜索技术的算法,比如用以解决图同构问题的Nauty算法[13],现被大多数学者认为是迄今最快的图同构判定算法。
最大公共子图算法
对于既不满足图同构也不满足子图同构的两个图,研究者致力于寻找他们的最大公共子图(maximum common subgraph,MCS)。现有的大部分研究工作致力于求解基于点的最大公共诱导子