查看原文
其他

如何利用算法让你的运气爆棚 | 5分钟育儿学堂(33)

刘润 刘润 2019-07-10

点击蓝字关注, 回复“1”领取今日锦囊和抽奖福利


关注刘润公众号,ID:runliu-pub

这是刘润公众号的第249篇原创文章


5分钟育儿学堂(33)

我经常出差。但只要在家,都会坚持送我的儿子小米上学,路程大概5分钟。因为我可以在这段时间里,跟他沟通和传授一些观点,教给他一些概念。我称之为:5分钟育儿学堂。


小米正在学编程,因为我觉得学编程特别重要。 


我之前说过,非常建议所有的家长,不管文科理科,都可以考虑让小孩子从幼儿园、最晚从小学开始,学习围棋以及编程。


学围棋,可以训练面对未来的博弈思维,这是一种加上时间轴的战略思考能力。


学编程,可以训练搭建系统架构的能力,这是一种基于信仰规律的系统思考能力。


我自己是从小学三年级开始学编程,那时候9岁。小米比我更早,小米大概是在幼儿园就已经开始学编程了。到小学四年级的时候,已经开始要参加信息奥林匹克竞赛了。


他的编程已经从画画,到中间用些简单的语言,到现在真的用C++来编程了,所以是一个真正的编程学习者。


1.随机数是怎么生成的?


有一天,我陪小米去上学的时候,他说,我在学编程的时候遇到一个问题,就是有个函数叫random(),英文的意思就是随机。


用这个random()函数去生成随机数,可是随机数到底是怎么生成的呀?


他能这么想,我觉得眼前一亮。


我跟他说太好了,这个问题其实我在小学学编程的时候也遇到过。


我甚至做过一些测试,当时计算机很老旧,两台计算机如果把它关机再开机,如果用random()这个函数,它生出来的确实是一组看上去很随机的数字。


但是这两台计算机生成的随机数的顺序是完全一样的。


也就意味着它生成的其实并不是随机数,而是你看上去毫无关系的一组数字。


它们的背后一定有逻辑,一定有规律,一定不是随机的。


为什么?


你单从一台电脑上看,以为是随机数,而两台电脑生成的数字,它从第一个跟第一个相同,第二个跟第二个相同,到第三个跟第三个相同,是完全一样的。


所以不是随机数。


为什么会这样?


因为计算机它并不真的能生成随机数,计算机生成的随机数的算法,它跟上帝不同,它跟掷骰子不同。


骰子或者说抛硬币,正反两面几乎完全是随机的。


但是计算机它没有掷骰子,没有抛硬币的过程,它其实是用一个函数,来生成的“随机数”。


2.看上去随机就是真随机吗?


什么意思? 


我就给他举了个例子。


比如说我们怎么去生成随机数?我们如果写个随机函数,我们可以怎么写呢? 


假如我们拿今天此时此刻的时分秒,再加上毫秒,就是千分位的那个秒来做实验的话。


那么在任何时候你拿到的一个时分秒和千分位的秒,那个数字都是不一样的。


然后你用一个函数,所谓的函数就是一种算法。比如说把当前的这个时间数字,乘上3586,再除上4477,再减去32等,做一个算法之后,你发现算出来的一个数字很随机。


你再算加了下一个毫秒的数字,再取当时的时间再算也很随机。


你看,其实你不断拿到毫秒级的时间来算,算出来的数字,都是很随机的。


但是如果你知道这背后是一个确定的算法,你就知道这个数字其实并不随机。


3.是不是真随机真的重要吗?


那小米就问了,说这个既然看上去很随机,那它是不是真的随机重要吗?


当然重要! 


如果你知道这个算法本身,你知道它不是随机的,你就可以预测到后面的数字了。


拿银行密码来举个例子。


银行为了防止你的账户被别人盗用,当你在网上去登录账号和密码的时候,同时会发给你一个小的验证器。


每十秒钟,小的验证器上面会出现六个数字,每十秒钟这六个数字就会被换掉。


这个数字为什么会这样?这个数字是怎么来的?它其实是个随机数。 


你只有在输入用户名和密码的同时,在此时此刻你拿起那个小的验证器,输入上面的六个数字。比如说786354,好,你把这个验证码786354一输,你才能登陆进去。


如果你当时没有验证器在手边,你就登录不进去。


所以验证器它是用来保证只有拿着验证器的人才能登录进去,所以它上面的数字是很重要的随机数。


如果那个随机数的算法是可以被你知道的,那你就可以直接算出来这个数字了,那验证器产生的验证码就没用了。


所以说这个数字是不是真随机还是非常非常重要的。


如果你不是真随机而是看上去随机,那么你的银行账号的安全性,甚至银行的安全性都会受到特别大的一个影响。


我再举个例子。


比如说还有什么办法来生成一个假随机数呢?


我就以股市为例,我用下午2:34的股市大盘上的一个数字,用这个数字再用个算法,比如乘上34,减去55,然后再除上377,你看算出来数字看上去很随机。


但是如果你知道我的算法是这个算法,那么在明天的此时此刻,你就可以算出来我得到的数字是什么。


它就不是真随机了。


所以这个随机数它是真随机还是假随机,真的非常非常重要。


4.什么是真随机?


那么我们就引申到什么?


既然你问到随机数,我们就引申到其实这个世界上我们看到的很多的一些随机的东西,比如说抛一个硬币,或掷一个骰子,得到的结果是六是三还是五,这个过程是受很多很多因素影响的。


比如扔上去的力度,当时空气的阻力,骰子大小,骰子形状,油漆深浅,落下来之后,这个地方是不是坑坑洼洼,往哪个方向有那么一点点微弱的力,它是不是弹起来了等等。


所有这些因素都能很微妙的影响这个结果。


所以掷骰子最后得到的是哪个数字,我们几乎是无法控制的。


也就是说掷骰子,我们把它理解为一个算法。


这个算法几乎是不可模拟的,那这个算法所产生的结果就几乎是不可预测的,不可控制的。


所以掷骰子是个真随机。


刚才我们讲的那个时间和股市数字的例子,那些算法都是特别简单的算法,结果是可以被预测,可以被控制的。它是假随机,而掷骰子是真随机。


5.运气是个真随机数吗?


那我们对应到人生上面,对应到我们平常生活上面是什么道理呢? 


当你理解了真随机假随机的概念之后,你就知道,很多时候我们看到别人获得了成功或别人做对了一件事儿,他靠的是运气。


运气它的本质,若我们去掉情绪化的话,就是概率。所以运气就是带有正向情绪的概率。


我们说他靠的是运气,那你想一想他得到运气的过程或者说算法,是一个简单的算法还是复杂的算法?


如果是简单的算法,那倘若我们也这么做,也是可以得到好运气这个结果的。


而如果完全都是他自己都不可控制的复杂算法的话,那就真叫做运气了。


所以说我们去看别人的时候,我们一定要明白他是真运气还是假运气。  


什么叫真运气?


就是他所成功的要素是他完全无法控制的。


倘若他是通过了一些策略,甚至一些努力,甚至一些资源而获得的成功。


这背后就有算法,那就是假运气,真努力。


所以我们在看别人成功的时候,一定要明白他是真运气还是真努力,他背后是不是有我们可以学习的一个算法。


因此我们所谓要获得成功,就是找到运气背后的那个真正的算法是什么。


这叫做概率思维。


- End -


PS:本期是我们《刘润 · 5分钟育儿学堂》的第33期。


公众号后台回复关键词“育儿学堂”,查看往期所有育儿学堂内容。


关注"刘润"公众号:runliu-pub,看最近精彩内容☟




1分钟商业锦囊


▲长按二维码关注,回复“1”领取今日锦囊和抽奖福利


点击阅读原文加入刘润社群。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存