【总结】【随机化算法】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34454069/article/details/88650102

前言

考试就像一盒巧克力,你永远不知道你恶心了两个小时的T1是不是随机化算法


简介

作为一种算法,更不如说是一类套路,这类套路又大致可分为三大类:
1、有错误概率,但经过数次操作后,每次都错的概率极低。(此类大多为最优性问题)
2、时间不确定,但经过数次操作后,仍未出解的概率极低。(此类大多为存在性问题)
3、精度要求不高,可以通过其他模型大致推断解的范围。(例如多边形面积≈点打在多边形内的概率*打点范围面积)

常规套路

一些具体的套路有:
1、把n个元素平分为两组(也可能“选”或“不选”这两组)。
这时可以随机钦定某个元素在某一组,求总贡献。之后再钦定它不属于这一组,继续随机。

这时,一个数在错误的集合的概率为 1 2 \frac 1 2 ,经过若干次(30~100次左右),还未达到最优解的概率即可以忽略不计 ( ( 1 2 ) n ) ({(\frac 1 2)}^n)

2、从n个元素中选出m个,组成最优答案。(要求m极小)

这时,可以把n个元素随机映射到m种,然后每种内部视为相同,求最优解(例如https://blog.csdn.net/qq_34454069/article/details/88359212)

这种情况下,最优方案的m个元素恰好分在不同组的概率为 m ! m m \frac {m!} {m^m} 。多做几次求最优解,正确的概率就相当大了。

3、根据题目给的一些性质,就随机选。。。。
这似乎不算套路。。。

比如:类完全图存在哈密尔顿回路的概率很大。。。。

如果读者还有其他方法,请务必留言

猜你喜欢

转载自blog.csdn.net/qq_34454069/article/details/88650102