如果你读过《Algorithms to live by》就知道本质上这就是一个“最优停止问题”,答案很简单,就是37% ( 限制条件: 为此,妹子可以这样做: 这个观察期的停止最优解就是37%,也就是你观察100 * 37% = 37,妹子只考察前37个求婚者,只打分不接受求婚。从第38个人开始,如果得分大于等于前37个人中的最大值,就接受她的求婚。 我们遇到这类问题之所以头疼是因为我们的人生只有一次。但如果这个世界存在平行宇宙,拥有多个平行宇宙的你,这个问题是不是就好解决了? 这样你就产生了100000个平行宇宙,在每个宇宙中妹子会遇到100个求婚者,每个求婚者的得分是随机生成的,范围为0~1 是时候放大招了,我们要在100000个平行宇宙,求最优解了,这个时候咱们就不用什么数学证明了,直接用蒙特卡洛算法的思路去解决就好了。 蒙特卡洛算法就是通过构建大量的随机值去模拟现实中的数据,并猜测最优解的过程。 我们先来完成核心的check函数。 接下来就遍历100000个平行宇宙,在每个宇宙去,去尝试不同的stop值,也就是设置不同的观察期。 输出success_count数组的最大值,正好是37。这意味着你用这个停止条件,获得的最大值最多(也就是挑选到合适人选的次数)。 当然如果你的平行宇宙个数和求婚者个数和我不一样,结果可能会有差距,但应该是在37%的位置左右。 做一个可视化,让结果更好观察 这种在观察阶段冒着与优秀的人选失之交臂的策略,到底值不值呢? 晚餐吃的很愉快,席间好好的给女友的闺蜜普及了一下”37%”最优解。 晚上回家,女友问我她是我的第几个女朋友,是不是最优解?520 我用算法帮女朋友的闺蜜选男友
我用算法帮女朋友的闺蜜选男友
用算法拯救她闺蜜
下班前收到女友的电话,说晚上要和她的网红闺蜜一起吃个饭。
“what?这不是鸿门宴吧?”
“你想什么呢?她最近处的一个男朋友像她求婚了,不知道要不要答应。你不是搞数据分析的吗?想让你帮忙理性分析一下!”
要说女朋友的闺蜜,条件是真不错,中产家庭,高等学历,当然最关键的颜值很能打,要不然也不能当网红。可惜遇人不淑,有几段失败的感情经历,也算是受了情伤。自古美女遇渣男,也算是常态。是时候用算法来拯救妹子了。本质上是最优解问题
1/e)。
我们来把这个问题说的更清晰一点:
问题描述:
我们假设网红妹子在一生中有可能会遇到100个求婚的男人,妹子要答应第几个男人才是最优的呢?
现在头疼的是如何把妹子讲明白呢?用平行宇宙解释
想象一下你拥有了《十二大战》中老鼠的异能。当然你没有也没有关系,你可以用计算机来帮你实现。np.random.seed(100) lifes = np.random.uniform(0,1, size=(100000, 100))
蒙特卡洛算法求解
把每一个平行宇宙的数据传给check,如果我们选到了最大值返回True,否则返回False。def check(life, stop): max_in_saw = max(life[:stop]) select = 0 for i in range(stop, len(life)): if life[i] >= max_in_saw: select = life[i] break maxall = max(life) if select == maxall: return True else: return False
success_count = np.zeros(100) for stop in range(1, 100): for life in lifes: if check(life, stop): success_count[stop] += 1
print(success_count.argmax()) #输出值为37
x_axis = np.arange(1,100) y_axis = success_count[1:100] plt.plot(x_axis, y_axis, 'ro-', linewidth=2.0) plt.show()
所有的前任只是前戏
我们简单的思考一下,在100个中候选者中,我们随机选一个人,他是最优解的概率是1%。
而在我们刚才示例的100000个平行宇宙中,如果我们使用stop为37的策略,我们将在37131.0个平行宇宙中获得最优解。
在就把获得最优解的概率提高到了37.131%。这真是巨大的提升,这就是算法的力量。
所有的前任只是前戏,只有最优解才是高潮!**每天只想和你做四件事——一日三餐
“你看假设你打算38岁之前把自己嫁出去,从18-38这20年间,你每年遇到一个求婚者也就是20个!”
你的观察期最优解为20*37%= 7.4 也就是你先观察7个求婚者,你现在男朋友正好是第8个,从你描述你对他的评价比之前那7个人都高。所以从概率上来说,你选择他是你的最优解!”
图文并茂很是让女友的闺蜜信服,收获了无数崇拜的小星星!
我肯定的回答,你就是我的最优解。
我计划38岁结婚,从18~38,这20年间我在28岁遇到你,你不是我的最优解,谁是?
以后:“每天只想和你做四件事——一日三餐”
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算