论文部分内容阅读
图作为一种通用的数据结构,被广泛地用来描述复杂的半结构化或结构化数据,例如:万维网(WWW)、生物信息学、可扩展标记语言(XML)、社会关系网络、软件和数据工程、化合物集合与基因网络等等。随着图这种数据结构不断的在各领域内的成功应用,迅速的累积了大量的图数据。但是,由于图数据本身的复杂性,随着图数据量急剧的增加,不但没有使本文享受获得信息的便利,反而使本文的研究工作与学习更加的难以展开。最近几年,对于累积的大量图数据(即图数据库)如何进行管理,正逐渐地受到研究者们的关注。在大量的数据图的集合中检索出本文所需要的数据图,这些数据图要包含某个给定的数据图。这个给定的数据图就叫做查询图。这种检索包含查询图的算法叫做子图同构计算算法(或者叫子图查询算法)。子图同构计算算法具有很强的现实和实际的意义,其主要包括两种类型:第一种是精确子图同构计算;第二种是相似性子图同构计算。给定一个图数据库D及一个查询图q,精确子图同构计算定义为{g∈D|g′g,其中g′与q是同构图},相似性子图同构计算的定义为{g∈D|g′g,其中g′与q是相似图}。子图同构计算的一个典型应用就是从海量图数据中获取用户所需要的相关知识。子图同构计算与传统的查询技术相比,具有很多的特点或者说是难点。例如:图数据的种类繁多,数据结构复杂多变,对于操作和控制要求比较高;在图查询领域中子图同构的问题是不可规避的最基本操作之一。正是由于这些难点的存在,所以子图同构计算技术的研究充满了挑战。现存的子图同构计算的算法大多都是应用在无向图上的,应用在有向图中的算法很少。因此,本文的目标是开发一种有向图精确性子图同构的计算算法,本文对一个应用在无向图中的子图同构计算算法做出更改,使其可以应用在有向图中。并且在这个基础之上,开发出一种可以进行有向图相似性的子图同构计算算法。通过许多真实和人工合成数据的试验,得出了大量的实验结果,达到了算法设计的预期。