Batcher归并网络

✍ dations ◷ 2025-10-19 06:23:09 #并发计算

Batcher排序网络是由一系列Batcher比较器(Batcher's Comparator)组成的。Batcher比较器是指在两个输入端给定输入x,y,再在两个输出端输出最大值max{x,y}和最小值min{x,y}。

比较器网络是用Batcher比较器连成的完成某一功能的网络。

所谓双调序列(Bitonic Sequence)是指由一个非严格增序列X和非严格减序列Y(其中X的最小元素正好是Y的最大元素)构成的序列,比如序列(23,10,8,3,5,7,11,78)。

定义:一个序列a1,a2,…,an是双调序列(Bitonic Sequence),如果:

输入两个已排好序的序列,对这两个序列进行归并排序,在串行算法中的时间复杂度为O(n)。在并行计算中可以用奇偶归并算法来实现的。以输入的两个4元素有序序列为A和B为例,首先将这两个序列进行逆洗牌(Unshuffle)得到两个序列:其中一个是由A,B中奇数号元素组成的序列,记作奇序列OM,另一个则是由A,B中偶数号元素组成的序列,记作偶序列序列EM。接着将OM送入(2,2)奇归并器中,将EM送入(2,2)偶归并器中。于是得到一组有序的奇序列和一组有序偶序列。最后除了奇序列一个元素之外将这两个序列进行洗牌(Shuffle)比较操作即可得到一个有序序列。

算法的递归性:一个n阶的归并器是由两个n/2阶的归并器加一个洗牌比较网络构成的。比如上面的两个(2,2)归并器和最后的洗牌比较网络就构成了一个(4,4)的归并器。

一个四阶奇偶归并的例子:假设归并前的的序列是(1,5,7,6)和(2,3,4,9),那么第一次操作就将(1,2,7,4)送入(2,2)归并器中归并,得到结果为(1,2,4,7);(5,3,6,9)送入(2,2)归并器中归并,得到结果为(3,5,6,9),接着将这两个排号序的序列进行洗牌比较:(1,3<->2,5<->4,6<->7,9)=>(1,2,3,4,5,6,7,9)。

可以证明这个算法是正确的,我们要用到高德纳(Donald Ervin Knuth)的0-1原理,我们发现,对于输入的任意两个有序的0,1序列,奇序列与偶序列正好相差0个,1个或2个0。由于奇序列的第一个元素不参与最后的洗牌比较,所以参与比较的0,1数偶只有0个或1个,所以对0,1序列一定能够得到正确的排序。故而对任意的序列,奇偶归并网络可以产生正确的排序。

双调归并网络是基于Batcher定理而构建的。Batcher定理是说将任意一个长为2n的双调序列A分为等长的两半X和Y,将X中的元素与Y中的元素一一按原序比较,即 a i {\displaystyle a_{i}} a i + n ( i n ) {\displaystyle a_{i+n}(i\leq n)} 比较,将较大者放入MAX序列,较小者放入MIN序列。则得到的MAX和MIN序列仍然是双调序列,并且MAX序列中的任意一个元素不小于MIN序列中的任意一个元素。

根据这个原理,我们可以将一个输入的n元素双调序列首先通过洗牌比较操作得到一个MAX序列和一个MIN序列,然后通过两个n/2阶双调归并器处理就可以得到一个有序序列。

这个算法也是递归的,因为n阶的双调归并器是由一个洗牌比较网络两个n/2阶的双调归并器组成的。

相关

  • 花柳性淋巴肉芽肿花柳性淋巴肉芽肿,是一种由砂眼披衣菌引起的性病,特别盛行于亚、热带地区。其男性患者远多于女性患者。淋巴肉芽肿症状经过1-3周的潜伏期后,受感染患处(通常是性器官)会出现一个
  • 亚伊采坐标:44°20′24.91″N 17°15′26.04″E / 44.3402528°N 17.2572333°E / 44.3402528; 17.2572333亚伊采(波斯尼亚语:Jajce、克罗地亚语:Jajce、塞尔维亚语:Јајце)是波斯尼
  • Fe(ClOsub3/sub)sub3/sub氯酸铁是一种无机化合物,化学式为Fe(ClO3)3。它可由氯酸铵水溶液和氢氧化铁的反应制得。氯酸铁易溶于水,形成红黄色溶液。其碱式盐难溶于水。
  • 陈火泉陈火泉(1908年-1999年5月20日),台湾彰化县鹿港镇人,台北州立台北工业学院(现今台北科技大学之前身)毕业,曾任于台湾制脑株式会社、台湾总督府专卖局、林务局,退休后专事写作。陈火泉
  • 保罗·塞尔瓦保罗·约瑟夫·塞尔瓦(英语:Paul Joseph Selva),美国空军上将,现为第10任美国参谋长联席会议副主席,之前曾任美国运输司令部司令,2015年7月31日就任现职。
  • 维面在几何学中,维面(Facet)又称为超面(hyperface)是指几何形状的组成元素中,比该几何形状所在维度少一个维度的元素。也是任何多胞形的边界。而若在维面前加一个整数则代表几何形状的
  • 喀麦隆慈丽鱼喀麦隆慈丽鱼,为辐鳍鱼纲鲈形目隆头鱼亚目慈鲷科的一个种,被IUCN列为濒危保育类动物,分布于非洲喀麦隆山区的淡水流域,体长可达7.3公分,栖息在中底层水域,生活习性不明。 维基物
  • A-JAXA-JAX(韩语:에이젝스,日语:エイジャックス)是 DSP媒体于2012年推出的男子七人团体,2016年成员变动后,改以五人体制活动。出道时由成员导怄、在亨、智厚、允永、成民、升辰、承烨组
  • KARDKARD(韩语:카드),是韩国DSP媒体于2016年推出的混声企划团体,以“King”、“Ace”、“jokeR”、“hiDden”等四种扑克牌卡片为概念,由兼具作词、作曲、编舞等才华的练习生组成团体,
  • 玛丽亚·安娜 (萨伏伊)萨伏依的玛丽亚·安娜(意大利语:Maria Anna di Savoia,1803年9月19日-1884年5月4日)是奥地利皇后和意大利萨丁尼亚王国公主。她的丈夫是奥地利皇帝斐迪南一世。她有一名双胞姐姐