并行算法的设计与分析》培训课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
3
1
4
4
5
5
6
8
8
1级交叉比较
(2,2)偶归并
Parallel Algorithms 7 / Ch3
3.1.2 奇偶归并网络
3. 复杂性分析 比较器个数
C O M (m E ,n ) C O M (E m 2 ,n 2 ) C O m M (E m 2 ,n n 2 ) m 2 n 1 m m 1 1 n n
• Knuth ==>
CO M(En,n)O(nlon)g
• 当m=n=2t时,不难推得
CO ME(n,n)2CO ME(n/2,n/2)n122CO ME(n/2,n/2)(n1)12
2CO ME(n/2,n/2)(n1)2(2CO ME(n/4,n/4)n/21)(n1)
22CO ME(n/22,n/22)(n2)(n1)...
m 0或 n= 0
D O M (m E,n)
1
m n1
1mD aO M (x E m /2,n/2)D ,O M (E m /2,n/2) 其他
• 一般地有
D O M ( m E ,n ) 1 D O M ( m E /2 , n /2 )
• 当m=n=2t时,不难推得 D O M(En,n)long1
(1) bi≤cj (1≤i, j≤n) (2) MIN和MAX序列仍是双调的
2020/10/2
Parallel Algorithms 10 / Ch3
3.1.3 双调归并网络
2. 网络构造(依据Batcher定理)
2n个输入的双调序列两两比较形成2个大小为n的MIN和MAX序列
MIN百度文库MAX序列是双调的,可以递归重复进行下去
2020/10/2
Parallel Algorithms 9 / Ch3
3.1.3 双调归并网络
1. 定义及定理
定义3.5: 一个序列a1,a2,…,an是双调序列(Bitonic Sequence),如果: (1)存在一个ak(1≤k≤n), 使得a1≥…≥ak≤…≤an成立;或者 (2)序列能够循环移位满足条件(1)
Parallel Algorithms
Chapter 3 Sorting and Selection on Comparison
Network
2020/10/2
Parallel Algorithms 1 / Ch3
主要内容
3.1 Batcher归并和排序
3.1.1 比较操作和[0, 1]原理 3.1.2 奇偶归并网络 3.1.3 双调归并网络 3.1.4 Batcher排序网络
示例:
序列(1,3,5,7,8,6,4,2,0), (7,8,6,4,2,0,1,3,5)和(1,2,3,4,5,6,7,8)
都是双调序列。
ak
定理3.3(Batcher定理):
设序列a1,…,an,an+1,…, a2n是一个双调序列, 记 bi=min{ai, ai+n} ==> MIN={b1,…,bn}, ci=max{ai, ai+n} ==> MAX={c1,…,cn}, 则
t1
t1
t1
2tCO ME(n/2t,n/2t) (n2i)nCO ME(1,1) n 2i
i0
i0
i0
ntn(n1)nlogn1
2020/10/2
Parallel Algorithms 8 / Ch3
3.1.2 奇偶归并网络
3. 复杂性分析 延迟级数:穿过网络任一路线上的最多比较器数目
0
16
0
43
1
34
2 3
MAX归并
4
5
2020/10/2
3 5
22 55
6 8
两两比较 2个(2,2)双调归并网络
Parallel Algorithms 12 / Ch3
3.1.3 双调归并网络
4. 复杂性分析
比较器数目
MIN比较器数 MAX比较器数 本级两两比较器数 当n=2t时 延迟级数
注:如何推导?
2020/10/2
Parallel Algorithms 13 / Ch3
3.1.3 双调归并网络
MIN MAX
MIN
MIN
双 调
MAX
序
列
MAX
双 调 序 列
2020/10/2
MIN MAX
MIN MAX
Parallel Algorithms 11 / Ch3
3.1.3 双调归并网络
3. 例:双调序列(8,6,4,2,0,1,3,5)的(4,4)双调归并网络
8
80
6
08
MIN归并
0
1
4
61
2
3.2 (m, n)-选择网络
3.2.1 分组选择网络 3.2.2 平衡分组选择网络
2020/10/2
Parallel Algorithms 2 / Ch3
3.1 Batcher归并和排序
3.1.1 比较操作和[0, 1]原理 3.1.2 奇偶归并网络 3.1.3 双调归并网络 3.1.4 Batcher排序网络
2020/10/2
Parallel Algorithms 4 / Ch3
3.1.1 比较操作和[0,1]原理
2. [0, 1]原理(定理3.1):
如果一个n输入的网络能排序所有2n种0,1序列, 那么它也能排序n个数的任意序列。
2020/10/2
Parallel Algorithms 5 / Ch3
2020/10/2
Parallel Algorithms 3 / Ch3
3.1.1 比较操作和[0,1]原理
1. Batcher比较器
• 比较和条件交换操作: CCI • 比较器网络:用Batcher比较器连成的,完成某一功能的网络 • 假定:每次每个元素只能与另一个元素比较 • 比较器网络的参数:比较器数目、延迟级数
Parallel Algorithms 6 / Ch3
3.1.2 奇偶归并网络
2. 例:m=n=4 A=(2,4,6,8) B=(0,1,3,5)
(4, 4)奇偶归并2×(2, 2)奇偶归并+1级交叉比较
2 20
0
0
4 02
2
1
6 63
3
2
(2,2)奇归并
2020/10/2
8 36 0 41 1 14 3 85 5 58
3.1.2 奇偶归并网络
1. 网络构造
有序序列A:a1,a2,…,an B: b1,b2,…,bm
归并思想:
• A, B中奇数号元素进入奇
归并器;
• A, B中偶数号元素进入偶
归并器;
• 再将奇归并器与偶归并器
的输出进行交叉比较 注: (m,n)规模划分为:
m/2,n/2奇 m/2,n/2偶
2020/10/2