首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设计处理器之间的一对一通信算法?

如何设计处理器之间的一对一通信算法?
EN

Stack Overflow用户
提问于 2013-06-04 17:47:30
回答 1查看 84关注 0票数 2

让我给你看一个例子来说明我的问题。我有4个处理器1-4。他们中的任何两个人都必须进行一些交流。因此,为了节省时间,我们可以按如下步骤进行。

时间1:(1,2)(3,4)

时间2:(1,3)(2,4)

时间3:(1,4)(2,3)

所以我们可以看到,对于偶数n,我们可以在n-1次内完成这种通信。但当处理器数量n变得很大时,要找到一种算法来确保每次都没有空闲的处理器并不是一件容易的事情。

如果n等于6,下面不是一个好的选择:

时间1:(1,2)(3,4)(5,6)

时间2:(1,3)(2,4) .(5和6已经相互通信,所以它们在时间2是空闲的)。

尽管我的专业是电磁学,我还是查了很多关于组合学的书。但我还是找不到答案。有没有人能把我引向正确的方向?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-04 19:50:45

这个问题等价于顶点数为偶数的完全图的边着色问题。每个顶点对应于某个“处理器”,每个颜色对应于原始问题的“时间”。

对于这种情况,Wikipedia article on edge coloring提出了一个简单的算法:

将n个点放置在正则(n个−1)-sided多边形的顶点和中心。对于每个颜色类,包括从中心到其中一个多边形顶点的一条边,以及连接成对多边形顶点的所有垂直边。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16914654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档