0%

策略游戏-重复选择的最优解


介绍一个在概率上让我们的选择上达到最优的模型,一直想写对它的文章,以我的理解.

结论:

  • 让游戏尽可能重复重复:尽力去构建能让你重复试错的环境.当你只能选择一次,或者只有一条路走的时候,你的试错代价就太高了
  • 建立你的观察区间: 在你的资源(时间,金钱)是有限的,在前景不明朗的时候,到底应该押注多少? 你需要一个观察区间作为你的基准

原题解答

概率基础教程 的原题和解答是这样的(感觉大部分人会跳过这一段):

这才是人看的翻译

问题可以这样来理解:

你即将面对 N 个奖品,它们会依次出现在你面前.
面对每一个奖品,我们有两种选择: 第一种是选择接受,这样游戏就结束了,你带着你的奖品回家.第二种是你选择放弃面前这个奖品,让下一个奖品出现在你面前.注意一点,你放弃的奖品无法回头再次选择.

这道题难点在于:

首先我们当然是想赢得最大的那个奖品,但每一次,面对眼前的这个奖品,我们永远不知道这是最大的,还是下一个会更大(所以这是薛定谔的奖品).

一个合理的策略是:

先观察,再选择

  1. 既然我们不知道哪个是最好的,我也不希望错过最大的,那我首先拿前面几个当做观察对象, 无论他们有多好,我都不出手.等过了观察期,剩下的只要出现一个个比前面最大的还要大,那我就选择它.
  2. 那问题来了,观察的数量应该是多少合适? 观察数量太多会导致你使你最后能选择的余地减少,最糟糕的是你拿 N-1个对象来观察并通通拒绝,最后只能无可奈何接受最后一个.当然要是观察对象少了,就起不到参照的作用.

** 这个模型告诉你最合适的观察数目是**:

N/e 个 (e 是自然对数,约等于2.71,N是我们前面提到的奖品数目).

例如当奖品数目N是100的时候, 模型建议你将前面 37个(100/2.71) 当做观察对象,在这个过程建立你的基准,从第38个开始,有比前面合适的就出手.这样你获得最大奖品的概率是 1/e ,约37%. 我把我的证明放在最后了,下面说说我觉得这个模型有意思的地方,也是如何应用

应用

这个模型最有意思的地方有两个,一个是它的前提条件: 你要能重复选择 N 次; 另一个是它对观察数目的确定:在前景毫不确定的情况下,我们到底应该花费我们多少时间金钱精力去尝试一件事情.

前提: 重复性

我看到的文章说的最多是它的选择策略,拿多少作为观察,后面在选择, balabala, 然后又告诉你模型是有局限的 balabala,更有甚者,还莫名其妙推导出 follow your hear 这个鬼结论. 在说模型的局限性的时候,我在想,能不能想把它的前提讲清楚. 而这一点却是现在给我感受最深的.说回游戏中的例子,游戏一开始你就知道你玩玩几轮,最多进行几次选择.(在这个游戏, N 是别人告诉你的). 每一次选择的结果反馈都是实时的,对于你来说,要么选择,要么放弃;同时当前的选择,你已经不知不觉更新你心目中对最大奖品的期望(要么不变,要么更大).

映射到我们实际的选择中,会是怎么样的呢?

  • 首先你一定要确定你的 N.

我们应该花多少时间去找到适合我们的工作,爱人呢? 有人的假设是这样的:

我们能活到75岁左右,那么我应该在28岁(75/e)之前尝试更多的工作,谈更多的恋爱,以此做我的基准. 28岁之后就是确认期了.

但有人对 N 有另外的看法:

有一些年龄段是应该剔除的,例如一个3岁小孩连工作谈对象的概念都没有,不该在考虑范围.可以这样算. 初恋算早恋15岁,即使能活到75岁,能谈恋爱顶多到50岁. (50-15)/e 约为12年,恋爱的观察期应该在27岁.工作也类似.

这只是我的一个例子,这里的 N 决定权在于个人.

  • 接下来是重复性: 有一篇很有意思的文章, 观点两句话解决.

“我有10年工作经验” “不,你只是把1年经验用了10年”

换到这里的意思是: 在你的观察期里面,每一次的放弃都是要付出了代价的,你不能白白浪费.在游戏里面,每一次的放弃至少更新了你对最大值的认知, 这还比较简单.但换在你所处的实际环境里面,你又更新了哪些认知呢? 要是在在观察期里面,你的每一次尝试只是简单重复上一次的策略,那怎么能期待它能为你后面的选择提出指导意见? 拿恋爱当比方,你每一次都只跟处女座的约会,怎么能体会到天蝎座的可爱(不是黑星座,这里想不到好的比喻了); 拿程序员的工作打比方,每一次跳槽,除了薪资变了,工作基本没变化,或者说只是换了一种语言写 helloworld, 那你基本是白跳了.

** 重复次数 N 的确定,每一次选择信息的更新, 有了这样的大前提,观察期才是有意义的! **

观察期

讲完我理解完的前提,观察期这一部分就容易理解多了.

鸡汤文总是会鼓励我们应该多去尝试,去突破自己的能力界限.但是花多少时间和精力去尝试呢?不好意思,实用性不是鸡汤文的特征.你要是 AllIn, 成了,人们会歌颂你有魄力,但大多时候是你死了连退路都没有.

下面举例子吧

  • 异类跟你说,你可以花一万个小时成为行业的专家.但更理智的做法是建议你先花一年37%的学习时间看看能不能达到这个行业的入门水平,而不是一开始决定要自己坚持1w 个小时.(有时候你就不是这块料,还给自己那么大的心理负担,闹啥)

  • 虽然说我们只有一个人生,但我们可以刻意的把我们的人生划分成几个阶段.想想你的观察期应该什么时候结束,在这之前,是否还有勇气继续去尝试.

  • 炒股,什么时候买什么时候卖? 自己先设定一个周期, 例如一个星期,前几天作为观察期; 或者一天,将上午作为观察期,然后决定之后是否出手.我自己的体验是,这个策略最大的用处是让你不用一天都盯着盘,减少了很多焦虑.至于怎么赚钱,不在本篇讨论范围.

  • 关于爱情,你确定要听一个光棍讨论这个问题? 很明显我会把它变成一个数学问题然后压根不打算给你任何实际性的建议.ye~~

我理解的证明

下面是按我的理解给出这道题的证明,知道不是大多数人的菜,所以放在最后了.

  1. 明确影响结果的3个变量: k,i,n
    序列值像这样: 1,2,3,4,5…k…i…n ,其中:
  • k 是我们要求的最佳观测值
  • i 是最大值出现的位置.
  • n 是总数
  1. 有以下事件

P(i): 最优值出现在序列 1~n 的概率

P(k)是当我们的观测值为 k时,获取到最大值 i 的概率最大.

P(策略下最优解| i): 当最优值的位置确定,策略下获取到最优解的概率是多少? 这个值明显跟最优值所处的位置 i 和我们选取的观测数目 k 相关.

  1. 有以下结论:

3.1 i > k.

因为按照我们的策略,在观测阶段我们都是不行动的.所以要是 i<=k ,即最大值落在观测区间,这时候我们是不可能选出最佳.

3.2 最大值出现的位置,在概率上是1/n

由于整个序列是随机的,也就意味着最大值 i 出现在1~N 中每一个位置都是等可能的.所以 P(i) = 1/n ;

3.3 序列 1,2,3,4..k…i 中第二大的数字应该出现在1~k中

按照我们的假设, i 是我们的最优解.假设一种情况,第二大的数字落在 ki之间,由于1k 中都比第二大的小(想想,不然它就不是第二大了).按照我们的策略,导致的后果就是我们还没等到 i 就选择了它.那怎么避免这样的情况呢,很简单,让第二大的数字落在1k 之间.这样 ki 之间的数字都不会比第二大的大,这样我们就可以如愿以偿等到 i 的出现.

3.4 结论3的概率是k/(i-1)

有 i-1 个数字,其中最大的数字要出现在1k 里面.也就是说,1k 个位置都是等可能的.概率上值就是 k/i-1

所以,按照条件概率,也就是

到了这里,我们就推导出和上面图片的求和公式.接下来的问题就是当 k 值为多少的时候,概率值可以最大.相当于一个高中求最大值问题(求导,导数为零,原函数取极值)

欢迎用Dogecoin支持我不断记录