Benes置换网络证明

时间:2014-01-29 22:19:00

标签: algorithm networking

我有一个这样的问题:什么是网络的最小深度(级别),n个输入实现了移位,例如。 输入1,2,3,4 ....,n - >输出n,1,2,3 ....,n-1

部分回答我自己的问题,这是log n,但为什么会这样呢?我知道这种输入/输出是一种特殊的排列情况。

可以提出不同的问题:为什么log n是Benes网络的最小尺寸?

此处描述了Benes网络: http://csc.lsu.edu/sensor_web/final%20papers/KRBenes.pdf

2 个答案:

答案 0 :(得分:1)

如果您将简单的开关排列在矩形中,则有一个简单的参数,即宽度至少为log N.

考虑任何给定输入的N个可能输出。每个开关都接受一位控制。如果要在特定输入的N个可能目的地之间进行选择,则必须至少接收log N位控制,这意味着每个输出必须至少通过log N基本开关,这将给出宽度为log N.

这是另一种看待它的方式。假设您修剪了一个特定输入无法访问的所有行和开关。这将为您提供一些可以减少到树的东西。它的根对应于左边的单个输入,其叶子对应于该输入可到达的N个可能输出。它是二叉树,因为每个开关只有两个输出。如果你有一个深度为d的二叉树,它最多可以有2 ^ d个叶子,所以你的带有N个叶子的二叉树的高度必须至少为log N - 所以从中得到它的原始网络包括至少长度的路径记录N,所以如果它看起来像一个像Benes这样的矩形布局的网络,它的宽度必须至少为log N.

答案 1 :(得分:0)

现在我看到它是必要的,因为如果我们的logn级别低于logn级别,我们就无法达到n个输出。

好的,另一个问题怎么样:

如何建立一个网络,如果你想建立一个网络,你可以实现,对于每一个k,正好是k的循环移位,它的最小可能深度是logn?