靠掷骰子的解法
贪心里你挑的是眼前最好的。可有些解法干脆掷骰子。要选什么,随机来定。听着古怪,但有时它更快更简单。把事情交给运气,怎么会有帮助呢?
靠骰子来挑
有些解法
下一步做什么,
靠掷骰子来定。
不是想好了再挑,
而是交给运气。
每按一次,
骰子就掷一回。
会出几点,
事先没法知道。
一按,骰子就掷。(下一点事先不知道)
为什么要故意交给运气?
要是总用同一种挑法,
有人就能盯着这习惯,
故意把事情弄难。
随机来挑,
就能躲开这种算计。
下一步,
看看它真正的用处。
用随机基准
在快速的排序里,
有一种是定一个基准,
比它小的放左边,
比它大的放右边,
这样来分。
可要是总拿最末的值
当基准,
碰上已经排好的输入,
分法就全偏向一边,
变得很慢。
总用末值基准 vs 随机基准,比比要分几次。(偏向一边 = 慢)
随机挑基准,
不管来什么输入,
全偏向一边的事
几乎不会发生。
冲着坏输入设的
陷阱也失灵了。
所以平均下来
分得均匀,
排序就更快。
多撒几下来估
随机也能用来估。
在正方形里
画一个圆。
往里头乱撒点。
看落进圆里的点
跟全部点的比例,
就能估出
圆占了多大面积。
一个一个把点撒下去。
点越多,比例越靠近真值。(圆内点 / 全部点)
点少的时候,
估值忽上忽下。
可点撒得越多,
比例就紧贴真值。
一两次的运气信不过,
但无数次投掷的平均
靠得住。
这就是多撒几下
来估答案的办法。
拿确定性换速度
随机解法不是白来的。
又快又简单,
可代价是
不能保证每回答案都一样。
运气差的时候,
偶尔也会慢。
得到什么、
让出什么,
两边都按一按比比看。
按一按,比比得与失。(快·简单 vs 不保证一样的答案)
所以随机
并不总是好,
而是有它合适的位置。
当又快又简单
比一点不确定
更值的时候,
就用它。
让出一点确定性,
换回速度和简单。
一眼来总结
把随机解法
一眼汇起来。
靠骰子来挑,
用随机基准躲陷阱,
多撒几下估答案,
拿确定性换速度。
依次点要点,
自己来总结一遍。
依次点四个要点。(骰子 · 随机基准 · 多撒估值 · 互换)
说交给运气,
看着像不靠谱,
可用得好,随机
是又快又稳的工具。
往后数据多到吓人的
地方,
这个多撒几下来估的想法,
会用得更大。
那是下回的事。