拉斯维加斯算法
拉斯维加斯算法的一个显著特征是它所作的随机性决策有可能导致算法找不到所需的解。


对于n后问题的任何一个解而言,每一个皇后在棋盘上的位置无任何规律,不具有系统性,而更象是随机放置的。由此容易想到下面的拉斯维加斯算法。
在棋盘上相继的各行中随机地放置皇后,并注意使新放置的皇后与已放置的皇后互不攻击,直至n个皇后已相容地放置好,或已没有下一个皇后的可放置位置时为止。

如果将上述随机放置策略与回溯法相结合,可能会获得更好的效果。可以先在棋盘的若干行中随机地放置皇后,然后在后继行中用回溯法继续放置,直至找到一个解或宣告失败。随机放置的皇后越多,后继回溯搜索所需的时间就越少,但失败的概率也就越大。

设n>1是一个整数。关于整数n的因子分解问题是找出n的如下形式的唯一分解式:
其中,p1<p2<…<pk是k个素数,m1,m2,…,mk是k个正整数。如果n是一个合数,则n必有一个非平凡因子x,1<x<n,使得x可以整除n。给定一个合数n,求n的一个非平凡因子的问题称为整数n的因子分割问题。
事实上,算法split(n)是对范围在1~x的所有整数进行了试除而得到范围在
的任一整数的因子分割。
在开始时选取0~n-1范围内的随机数,然后递归地由
产生无穷序列
对于
,以及,算法计算出xj-xi与n的最大公因子d=gcd(xj-xi,n)。如果d是n的非平凡因子,则实现对n的一次分割,算法输出n的因子d。对Pollard算法更深入的分析可知,执行算法的while循环约
次后,Pollard算法会输出n的一个因子p。由于n的最小素因子,故Pollard算法可在时间内找到n的一个素因子。
)








