1 / 15
文档名称:

图论.doc

格式:doc   页数:15
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

图论.doc

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

图论.doc

文档介绍

文档介绍:3 图论
图论在计算机科学、信息科学、人工智能、网络理论、系统工程、控制论、运筹学和经济管理等领域有着广泛的应用。但很多图论问题虽易表达,却难以求解,其中有相当多的图论问题均属NP完全问题。本章主要介绍工程实用简单图论问题的并行算法及其MPI编程实现,包括传递闭包、连通分量、最短路径和最小生成树等。
传递闭包
设A是一个含N个顶点的有向图G的布尔邻接矩阵(Boolean Adjacent Matrix),即元素aij=1当且仅当从顶点i到j有一条有向边。所谓A的传递闭包(Transitive Closure),记为A+,是一个N×N的布尔矩阵,其元素bij=1当且仅当:①i=j;或②从i出发存在有向路径到j,又称为顶点i到j可达。从G的布尔邻接矩阵A求出G的传递闭包,就称为传递闭包问题。
传递闭包问题有很强的应用背景,在科学计算中广泛存在。传递闭包问题的经典解法之一就是利用布尔矩阵的乘法来求解。本节将把这一算法分别在串行和并行机上实现。
传递闭包串行算法
利用布尔矩阵相乘求解传递闭包问题的原理为:对于布尔矩阵(A+I)k中的任一元素bij,bij=1表示从i到j存在长度小于等于k的可达路径,否则,bij=0。显然对于k=1,(A+I)1中bij=1当且仅当从i到j路径长度为0(i=j)或为1(从i到j存在有向边);(A+I)2中,bij=1当且仅当从i到j路径长度小于等于2;((A+I)2) 2中,bij=1当且仅当从i到j路径长度小于等于4,等等。因为任意两点间如果存在可达路径,长度最多为N-1,所以k≥N-1时,(A+I)k就是所求的传递闭包A+。于是(A+I)矩阵的㏒N次自乘之后所得的矩阵就是所求的传递闭包。
根据前面的叙述,,其时间复杂度为O(N3㏒N)。
算法
输入:图G的布尔邻接矩阵A
输出:A的传递闭包M
procedure closure
Begin
读入矩阵A
/* 以下作A = A+I的运算*/
for i=0 to N-1 do
a(i, i) = 1
endfor
/* 以下是A矩阵的㏒N次自乘,结果放入M矩阵;每次乘后,结果写回A矩阵*/
for k=1 to ㏒N do
()for i=0 to N-1 do
for j=0 to N-1 do
s=0
while (s<N) and (a(i,s)=0 or a(s,j)=0) do
s = s+1
endwhile
if s<N then m(i,j)=1 else m(i,j)=0
endfor
endfor
/* 计算结果从M写回A */
()for i=0 to N-1 do
for j=0 to N-1 do
a(i, j) = m(i, j)
endfor
endfor
endfor
End
传递闭包并行算法
本小节将把上一小节里的算法并行化。在图论问题的并行化求解中,经常使用将N个顶点(或连通分量)平均分配给p个处理器并行处理的基本思想。其中每个处理器分配到n个顶点,即n=N/p。无法整除时,一般的策略是在尽量均分的前提下,给最后一个处理器分配较少的顶点。为了使算法简明,在本章中,仅在算法的MPI实现中才考虑不能整除的情况。在以后的几节中,N、p、n都具有上面约定的意义,不再多说。
为了并行处理,这里将矩阵(A+I)进行划分,分别交给p个处理器。在每次矩阵乘法的计算中,将N×N的结果矩阵(A+I)2均匀划分成p×p个子块,每块大小为n×n。处理器i负责计算位于第i子块行上的p个子块。对整个子块行的计算由p次循环完成,每次计算一个子块。每个处理器为了计算一个n×n大小的子块,需要用到源矩阵(A+I)中对应的连续n行(局部数据a)和连续n列的数据(局部数据b)。计算完成后,各处理器循环交换局部数据b,就可以进行下一个子块的计算了。
于是,总体算法由2层循环构成,外层是矩阵M=A+I的㏒N次自乘,每次首先完成矩阵M的一次自乘,然后将结果写回M;内层是p个子块的计算,每次首先完成各自独立的计算,然后处理器间循环交换局部数据b。算法运行期间,矩阵M的数据作为全局数据由处理器0维护。
根据以上思想,,使用了p个处理器,其时间复杂度为O(N3/p㏒N)。其中myid是处理器编号,下同。
算法
输入:图G的布尔邻接矩阵A
输出:A的传递闭包M
procedure closure-parallel
Begin
/* 由处理器0读入矩阵A到M中,并进行M=M+I运算
对应源程序中readmatri

最近更新

2023年三峡旅游职业技术学院单招职业技能考试.. 39页

2026年全民阅读大会主题活动策划 45页

2023年上海商学院单招职业适应性考试题库新版.. 39页

2023年上海市单招职业适应性考试题库最新 42页

2023年上海戏剧学院单招职业技能考试题库推荐.. 39页

2023年丽水职业技术学院单招职业适应性考试题.. 40页

2023年九州职业技术学院单招综合素质考试题库.. 39页

2023年云南交通职业技术学院单招职业倾向性考.. 42页

2023年云南省临沧地区单招职业倾向性测试题库.. 39页

2023年云南省昆明市单招职业适应性考试模拟测.. 40页

2026年入职安全培训方案 23页

2026年入党积极分子培训心得体会总结 11页

2023年兰州石化职业技术大学单招职业技能考试.. 40页

2023年内蒙古北方职业技术学院单招职业技能考.. 41页

2023年内蒙古美术职业学院单招职业适应性考试.. 40页

2023年包头职业技术学院单招职业适应性考试题.. 39页

2023年北京戏曲艺术职业学院单招职业倾向性考.. 42页

2023年南京城市职业学院单招职业技能考试题库.. 41页

2023年南充科技职业学院单招职业技能测试模拟.. 40页

2023年南通师范高等专科学校单招职业倾向性考.. 39页

2023年南阳工艺美术职业学院单招职业适应性考.. 38页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页

九年级家长会课件PPT下载(初三2班) 25页

山东科技版小学英语五年级下册词汇表带音标 4页

年产3000万片硝苯地平缓释片车间设计 40页

DB61∕T 926-2014 火灾高危单位消防安全管理与.. 45页

AQ 7011-2018《高温熔融金属吊运安全规程》 11页

保洁外包单位月度考评表 3页

基于 ABAQUS 的切削残余应力仿真说明书 43页