π-演算中并行计算复杂度类型分析
1. 定理与推论
存在定理:设 $P$ 为带注释的进程,$m$ 为其全局并行复杂度。对于类型 $\varphi; Φ; Γ ⊢P ◁K$,有 $\varphi; Φ ⊨K ≥m$。通过代入引理和并行组合规则可得到推论 1。
2. 双调排序示例
双调排序是一种常见的并行算法,其并行复杂度为 $O(log(n)^2)$。下面将展示如何使用类型系统推导该算法的复杂度界限。
2.1 双调序列与算法思路
- 双调序列:由递增序列后接递减序列组成的序列(如 $[2, 7, 23, 19, 8, 5]$),或此类序列的循环旋转(如 $[8, 5, 2, 7, 23, 19]$)。
- 算法主要函数:
-
bmerge:接收双调序列并递归排序。假设 $s = [a_0, …, a_{n - 1}]$ 是双调序列,$[a_0, …, a_{n/2 - 1}]$ 递增,$[a_{n/2}, …, a_{n - 1}]$ 递减,计算 $s_1 = [min(a_0, a_{n/2}), min(a_1, a_{n/2 + 1}), …, min(a_{n/2 - 1}, a_{n - 1})]$ 和 $s_2 = [max(a_0, a_{n/2}), max(a_1, a_{n/2 + 1}), …, max(a_{n/2 - 1}, a_{n - 1})]$。$s_1$ 和 $s_2$ 为双调序列,且 $\forall x \in s_1, \forall y \in s_2, x ≤ y$,然后递归应用bmer
-
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



