题目内容

在研究并行计算的基本算法时,有以下简单模型问题:
用计算机求n个不同的数v1,v2,…,vn的和.计算开始前,n个数存贮在n台由网络连接的计算机中,每台机器存一个数,计算开始后,在一个单位时间内,每台机器至多到一台其他机器中读数据,并与自己原有数据相加得到新的数据,各台机器可同时完成上述工作.为了用尽可能少的单位时间,使各台机器都得到这n个数的和,需要设计一种读和加的方法.比如n=2时,一个单位时间即可完成计算,方法可用下表表示:
机器号初始时第一单位时间第二单位时间第三单位时间
被读机号结  果被读机号结  果被读机号结  果
1v12v1+v2    
2v21v2+v1    
(Ⅰ)当n=4时,至少需要多少个单位时间可完成计算?把你设计的方法填入下表
机器号初始时第一单位时间第二单位时间第三单位时间
被读机号结  果被读机号结  果被读机号结  果
1v1      
2v2      
3v3      
4v4      
(Ⅱ)当n=128时,要使所有机器都得到,至少需要多少个单位时间可完成计算?(结论不要求证明)
【答案】分析:(1)由题意可知,第一个单位时间内可以完成两个数的和,并储存在每一个机器中;那么第二个单位时间内可以完成上一步两个数的和,即四个数的和,并储存在每一个机器中;由此可得当n=4时,至少需要多少个单位时间可完成计算;
(2)因n=2时,一个单位时间即可完成计算,n=4时,二个单位时间即可完成计算,依此类推,当n=128=27时,至少需要7个单位时间才能完成计算.
解答:解:(Ⅰ)当n=4时,只用2个单位时间即可完成计算.方法之一如下:
机器号初始时第一单位时间第二单位时间第三单位时间
被读机号结 果被读机号结 果被读机号结 果
1v12v1+v23v1+v2+v3+v4
2v21v2+v14v2+v1+v4+v3
3v34v3+v41v3+v4+v1+v2
4v43v4+v32v4+v3+v2+v1
(Ⅱ)当n=128=27时,至少需要7个单位时间才能完成计算.
点评:本小题主要考查运用数学思想方法,分析和解决科学问题的能力.
练习册系列答案
相关题目

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网