概率算法:从随机序列生成到RSA密码系统
1. 概率算法基础与相关练习
在概率算法的领域中,有一系列有趣的算法和问题值得探讨。首先,我们来看几个相关的练习。
- 练习7.16 :分析算法RP,假设素性测试由一个错误概率至多为ϵ的“大西洋城”算法实现。
- 练习7.17 :考虑以下概率算法,输入为正整数M:
S ← ∅
repeat
n ← R {1, ..., M}
S ← S ∪ {n}
until |S| = M
可以证明该算法主循环的期望迭代次数约为M log M。这是因为每次随机选择一个数加入集合S,随着集合S元素的增多,选择到未出现过的数的概率逐渐减小,经过数学推导可以得出期望迭代次数的结果。
- 练习7.18 :考虑以下无输入的算法:
j ← 1
repeat
j ← j + 1
n ← R {0, ..., j - 1}
until n = 0
该算法以概率1停止,但期望运行时间不存在。每次循环中,j不断增加,n在更大的范围内随机选择,虽然最终一定会选到0从而停止算法,但由于选择范围的不断扩大,导致期望运行时间无法收敛。
- 练习7.19 :
超级会员免费看
订阅专栏 解锁全文
575

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



