【算法】猴子理论

10月1日,我校信息组于杭州进行培训过程中,不仅%了来自全国各地大佬的,而且还学会了猴子理论。本人对此高深理论深深地感到敬佩,于是决定要在此将我对猴子理论的理解写在这。

猴子理论是基于薛定谔不确定原理和海森堡测不准原理而提出的,可见其理论的坚实基础。猴子理论发展于OI算法,同时却又能渗透各个行业各个领域,可见其广泛性与真实性。

有一个举世闻名的实验——薛定谔的猫。这个实验是指将一只猫关在装有少量镭和氰化物的密闭容器里。镭的衰变存在几率,如果镭发生衰变,会触发机关打碎装有氰化物的瓶子,猫就会死;如果镭不发生衰变,猫就存活。根据量子力学理论,由于放射性的镭处于衰变和没有衰变两种状态的叠加,猫就理应处于死猫和活猫的叠加状态。这只既死又活的猫就是所谓的“薛定谔猫”。(百度百科)

猴子理论的提出首先就离不开猴子排序,众所周知,猴子排序是排序算法中最具有概率性的算法。根据量子力学理论,在规定时间成功排序和超时成功排序对于猴子排序算法都是有可能的,超时与不超时就是一对叠加状态,如果超时就是TLE,没超时就是AC,所以OIer也处于AC与TLE两种叠加状态,也就是说 ,写出这个算法的OIer既AC又TLE,但是实际上,我们只有一种状态,根据墨菲定律——有概率发生的事一定会发生,所以只要我们多次提交代码,总会AC。猴子排序的巧妙就在此,它不能保证你AC,但它能保证你总会AC。

对于海森堡测不准原理,这个理论是说,你不可能同时知道一个粒子的位置和它的速度,粒子位置的不确定性,必然大于或等于普朗克常数(Planck constant)除于4π(ΔxΔp≥h/4π),这表明微观世界的粒子行为与宏观物质很不一样。此外,不确定原理涉及很多深刻的哲学问题,用海森堡自己的话说:“在因果律的陈述中,即‘若确切地知道现在,就能预见未来’,所得出的并不是结论,而是前提。我们不能知道现在的所有细节,是一种原则性的事情。”(百度百科)

综合来说,海森堡的理论即我们不能预测未来,我们也不能完全知道现在的一切细节。那么我们将会有一个推论:即使使用随机数提交代码,我们也不能完全确定自己会WA。

根据无限猴子定理,使可观测宇宙中充满了猴子一直不停地打字,能够打出一部哈姆雷特的概率仍然少于。(可见其概率之低)。但是只要我们缩小随机答案的范围,我们就能缩小WA的概率。

由猴子定理,我们可以得知爬山算法,模拟退火之类的算法也是有一定正确性的。假设我们所在的世界线最终会引领我们WA,但是模拟退火就能缩小wa的概率,于是我们终会走向AC的世界线。

猜你喜欢

转载自www.cnblogs.com/markia/p/11699637.html