前言
考試就像一盒巧克力,你永遠不知道你噁心了兩個小時的T1是不是隨機化算法
簡介
作爲一種算法,更不如說是一類套路,這類套路又大致可分爲三大類:
1、有錯誤概率,但經過數次操作後,每次都錯的概率極低。(此類大多爲最優性問題)
2、時間不確定,但經過數次操作後,仍未出解的概率極低。(此類大多爲存在性問題)
3、精度要求不高,可以通過其他模型大致推斷解的範圍。(例如多邊形面積≈點打在多邊形內的概率*打點範圍面積)
常規套路
一些具體的套路有:
1、把n個元素平分爲兩組(也可能“選”或“不選”這兩組)。
這時可以隨機欽定某個元素在某一組,求總貢獻。之後再欽定它不屬於這一組,繼續隨機。
這時,一個數在錯誤的集合的概率爲,經過若干次(30~100次左右),還未達到最優解的概率即可以忽略不計
2、從n個元素中選出m個,組成最優答案。(要求m極小)
這時,可以把n個元素隨機映射到m種,然後每種內部視爲相同,求最優解(例如https://blog.csdn.net/qq_34454069/article/details/88359212)
這種情況下,最優方案的m個元素恰好分在不同組的概率爲。多做幾次求最優解,正確的概率就相當大了。
3、根據題目給的一些性質,就隨機選。。。。
這似乎不算套路。。。
比如:類完全圖存在哈密爾頓迴路的概率很大。。。。
如果讀者還有其他方法,請務必留言