The present invention discloses a distributed graph coloring algorithm based on Pregel, which includes the following steps: assigning a random number to all points in figure G as a weight value; for a vertex with a degree of 0, that is to assign a color value of 1 to a vertex that is not connected to the other vertices, and initializes the current color value of 1; and the application of Pregel The model looks for the independent set S, including three schemes; for any vertex v of the independent set, assign it the current color value; remove the colored vertex from the figure G, increase the color value by 1; repeat step 4) to step 6) until all points in figure G are colored. The invention improves the efficiency of the parallel graph coloring algorithm by using the Pregel model to fit the characteristics of large-scale graph computation. Based on the idea of finding the maximum independent set, the image coloring process for large scale graph data is processed, and the optimization strategy introduced to reduce the time of the graph coloring algorithm and the number of colors required for coloring.
【技术实现步骤摘要】
一种基于Pregel的分布式图着色算法
本专利技术涉及面向大规模图数据的图着色算法领域,具体为基于Pregel的分布式图着色算法。
技术介绍
近来,由于以RDF为代表的图数据量日益增加,图数据管理开始受到越来越多的关注。如何有效地对RDF图数据进行加载、存储和查询成为现在研究的一个热点问题。目前,已经有很多工作对如何有效管理RDF图数据进行了研究,并提出了很多有效的解决方案。其中DB2RDF是一种将RDF图存储到关系数据库的有效方法,但由于RDF图数据规模的不断增长,单机版本的DB2RDF的数据加载和存储方案的性能受到限制,因此需要一种分布式的加载和存储方案来提高已有方案的性能。同时,DB2RDF需要使用图着色算法进行RDF图存储模式的构建,因此使用相对应的分布式图着色算法来获得可伸展的RDF图数据装载性能成为需要解决的问题。图着色问题是最著名的NP-完全问题之一,其的最简单形式是顶点着色问题,即为图中的每个顶点分配一个颜色,以保证任何相邻的顶点不具有相同的颜色。图着色算法可以应用于很多实际问题中,包括频道分配问题、任务调度问题、安全装箱问题等。由于图着色问题是N ...
【技术保护点】
一种基于Pregel的分布式图着色算法,其特征在于,包括以下步骤:1)对于图G中的所有点,分别分配一个随机数作为权值;2)对于度数为0的顶点,即与其他顶点没有边相连的顶点,给其分配颜色值1;3)初始化当前颜色值为1;4)应用Pregel模型寻找独立集S,包括三种方案;5)对于独立集中的任一顶点v,给其分配当前颜色值;6)将已着色顶点从图G中删除,将颜色值增加1;7)重复步骤4)到步骤6),直到图G中的所有点都被着色。
【技术特征摘要】
1.一种基于Pregel的分布式图着色算法,其特征在于,包括以下步骤:1)对于图G中的所有点,分别分配一个随机数作为权值;2)对于度数为0的顶点,即与其他顶点没有边相连的顶点,给其分配颜色值1;3)初始化当前颜色值为1;4)应用Pregel模型寻找独立集S,包括三种方案;5)对于独立集中的任一顶点v,给其分配当前颜色值;6)将已着色顶点从图G中删除,将颜色值增加1;7)重复步骤4)到步骤6),直到图G中的所有点都被着色。2.根据权利要求1所述基于Pregel的分布式图着色算法,其特征在于,步骤4)中第一种方案为寻找最大独立集后以便着色;首先比较预分配的权值,其次将本地最大的权值的顶点加入最大独立集中并将其所有邻居顶点加入到非独立集合中,重复此过程,直到所有顶点均被放入最大独立集或非独立集中,具体分为发送消息阶段、合并消息阶段和本地计算阶段。3.根据权利要求2所述基于Pregel的分布式图着色算法,其特征在于,所述的发送消息阶段、合并消息阶段和本地计算阶段具体如下:1)发送消息阶段下包括三种情况:第一种情况即接受消息的点既没有被着色,也没有被加入到最大独立集或者非独立集中,该情况下,满足条件的点将向其所有邻居顶点发送自己的权值;第二种情况即当发送消息的顶点已被加入到最大独立集合中,该情况下发送消息的顶点将把自己在最大独立集中的状态告知它的所有邻居顶点,接收到此消息的顶点将被加入到非独立集中;最后一种情况是当接收消息的顶点已经被加入到最大独立集或者非独立集中,该情况下将不发送消息;2)合并消息阶段下,前一阶段顶点收到的消息将会被合并,每个顶点将比较自己收到的消息中的权值的大小,并保留最大的权值;3)本地计算阶段下,每个顶点将根据收到的信息以及自身的属性完成自己的计算任务;首先该顶点会比较自身具有的权值是否大于其消息中的邻居点最大权值:若该顶点的权值大于其邻居点最...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。