算法指导人生?数据家告诉你什么时候结束单身!

2024-02-13 14:20

本文主要是介绍算法指导人生?数据家告诉你什么时候结束单身!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=png

来源:笔记侠(ID:Notesman)

整理者:Lily

内容来源:《万维刚·精英日课》专栏解读和中信出版集团《算法之美》书摘。笔记侠作为出版社合作方,经授权发布。转载请联系笔记侠授权。

本文3450字,建议阅读6分钟

不管是从找伴侣还是找停车位,租房还是买房等日常生活经历,算法都可以引导我们做出明智的选择。

在一天或者一生的时光里,哪些事是我们应该做的,哪些是应该放弃的?


这个看似感性并且难以解决的个性化问题,却在计算机算法当中找到了答案。《算法之美》的作者克里斯汀和格里菲思指出,计算机算法的智慧其实可以转化为人类生活的策略。


不管是从找伴侣还是找停车位,租房还是买房等日常生活经历,算法都可以引导我们做出明智的选择。


去年我家有了第二个孩子,明显觉得原来的房子太小,就想换个大点的。


当时正好有个朋友告诉我,他家附近有些新房。我跟老婆去看了一下,当场就决定买,第二天找了个房产经纪人就签合同了。

 

房产经纪人对我们的快速决定表示了赞赏。


我就问他,跟你买房子的人中,最长的用了多长时间?他说有个人在两年中看了一百多个房子,越往后看,房价越高,他越不想买,整个非常难受。

 

这就引出了一个问题。看见好的就买似乎是有点草率了,但是总下不了决心出手肯定也不对,那么一个科学理性的人,应该怎么办呢?

 

用算法来解决。


一、生活源于算法


用计算机算法指导人类生活听起来感觉怪怪的。

 

因为“算法”这个词看上去是如此神秘莫测,与大数据、大政府、大企业有着密切联系,但其实算法指的就是解决问题的一系列步骤。

 

640?


早在计算机开始使用算法前,人类就已经把算法应用到生活中了:


按照食谱学习烤面包时,食谱上的所有步骤就是一个算法;


按照图样编织毛衣时,这份图样就是一个算法;


使用鹿角的末端连续精确地敲打,使石器形成锋利的刃的过程,也是一个算法,可见算法与我们并不陌生,甚至从石器时代开始,就已经是人类生活的一部分了。

 

而橱柜整理与计算机存储器管理所面临的问题非常相似:

 

空间有限,而目标是节省金钱和时间。


我们和计算机其实都是在进行组织工作,只不过我们组织的是衣橱中的物理对象,而计算机组织的是内部的数字信息。

 

也正是由于问题高度的相似性,使缓存作为计算机科学的解决方案,同样适用于人类的家庭生活。

 

二、37%规则:在不确定中做到最好

 

买房子的问题,与其浑浑噩噩地接受命运安排,不如有点理性决策的精神,把它变成一个数学问题。我们假设这个问题的条件是这样的:

 

1.你随机地遇到各种房子,但是只打算买一个。


2.遇到一个房子,如果你选择买下,这个房子就是你的。


3.如果你选择不买,很快别人就会把它买走 —— 你没有第二次机会。


4.你应该给自己设定一个看房总数的期限,或者一个时间期限 —— 比如说一个月之内一定要买到房子。

 

这些条件可能跟生活中各人实际买房的情况略有不同,但必须这样把问题简化出来,数学家才能计算。

 

数学家的策略是,你要把这一个月的时间分成两个阶段。

 

在第一阶段,你只看不买,就是根据自己的购买能力,了解一下市场上哪些房子你喜欢,哪些你不喜欢。记住在这个阶段内你看到过的最满意的那个房子。

 

等到过了某个时间点 —— 具体说过了你设定期限的37%以后 —— 你就进入第二阶段。


如果预先设定的期限是一个月,那么第二阶段就从第12天开始。

 

从这天开始,你一旦遇到一个比第一阶段那个最好的房子好,或者类似的房子,就毫不犹豫地买下来。

 

分两阶段这个策略,和37%这个数字,都是数学家们好不容易算出来的。

 

实际上这是一个随机选择优化问题,1958年才被解决。现在人们就把这个办法叫做“37%规则”。

 

640?


37%规则并不能保证你一定能买到最好的房子,但是在假定市场上的房子随机出现的情况下,它是能让你买到一个足够好的房子的足够好的办法。


从概率角度,如果你看了不到37%房子就开始买,你将来更可能后悔买早了;如果你看了超过37%的房子开始买,你将来更可能后悔买晚了。

 

我们生活中有很多情况跟买房是类似的,好东西过了这个村就没有这个店,那要还是不要?

 

使用37%规则,是你作为一个理性人在这个不确定世界中所能做到的最好,那你就可以无怨无悔,没有那么多纠结和痛苦了。

 

640?


再举个例子,找结婚对象也可以用37%规则。

 

比如一个女青年,从18岁开始找对象,设定的目标是在40岁之前结婚,那么根据37%规则,她的两阶段分割点是26.1岁。

 

在数学家看来,这个女青年的最佳择偶策略是这样的。


26.1岁之前是观察期,她应该只交往不结婚,但是必须要记住在交往的男生中间,自己最喜欢的是哪个。

 

26.1岁之后是决策期,再结交新的对象,一旦遇到一个比那个人还好,或者和那个人差不多一样好的男人,就应该马上把他拿下,和他结婚。

 

当然具体到择偶的话,这个数学模型还可以更复杂一点。

 

37%规则是假设你向谁求婚,那个人马上就会答应,主动权全在你手里。 


但如果主动权不在你手里,你向人求婚,有被拒绝的可能性 ,那么分割点就不是37%了。

 

数学家计算,假设你每次被拒的可能性是50%,那我们就要把37%变成25%。


也就说条件不好的人应该缩短观察期,仍然从18岁开始算的话,过了23.5岁之后你就赶紧开始发offer。

 

看谁好就向谁求婚,他要是同意你就达成目标,他要是拒绝你就再看下一个。

 

还有一点,37%规则是在假设无法回头的条件下成立的,也就是说如果你在第一阶段错过一个人,他可能就和别人结婚了。

 

可是如果你条件非常好,就算一开始错过了一个人,过了一段时间回去找他,他还有可能答应你的话,你的观察期就应该延长。

 

具体来说,数学家计算,假如在观察期内已经被你拒绝了的人,你回头他还有50%的可能性会同意,那么这种情况下,你可以把观察期从37%延长到61%。

 

条件好的就多等等,不要急于决定;条件差的就赶紧行动。数学家的计算结果,跟我们的常识还是符合的。

 

640?


当然,这些计算都是数学家把人们找对象的过程给理性化、模型化了。

 

这个模型里没有“命中注定的真爱”这个概念,似乎缺少了一点浪漫元素。


你可能会说我一定要找到真爱才能结婚,可什么是真爱?

 

在数学家看来,你一看到A觉得不错,但是错过了,那么再找到一个和A差不多的人,也就可以了。如果你非得说只有A才是真爱!那就不对了。

 

如果你说找对象跟买房子不一样,我一定要寻找命中注定的真爱,那么数学家告诉你,你大概会有两种可能结局:


或者后悔自己没有早早结婚被剩下了,或者后悔自己结婚太早。

 

理性的人,应该知道什么时候停止。


三、将数学模型嵌入你的生活

 

在面临一连串选择时如何做出决定的难题,最优抉择问题经常会改头换面,以不同的形式出现在我们的生活当中。


比如,在驶入停车位之前,需要绕整个停车场多少圈?在商业风险中何时套现脱身?在择偶上,何时观望,何时步入婚姻殿堂?


当你再次面对这类问题时,至少可以通过数学方法来解决。

 

借助并不繁复的算法,我们不仅可以解决找房子的问题,生活中遭遇的所有最优停止问题都可以被妥善处理。

 

从本质上讲,我们身边经常出现因为租房子、停车、求婚而感到苦恼的人,这些人其实就是在自寻烦恼。


他们需要的不是治疗师,而是一种算法。治疗师告诉他们要在冲动与多虑之间找到一个正确的平衡点。

 

算法告诉他们这个平衡点就是37%。


如果我们拥有数学精神,就不用长吁短叹地感慨人生无常了。

 

640?


但需要强调的是,算法不是算命。

 

也许女青年到头来发现他的高中同学才是最佳结婚对象,也许十拿九稳的抢劫犯第一次作案就失手了 —— 这并不等于算法不对。


这些算法,说的是面对一个不确定的世界,你根本不知道命运会怎样的情况下,所能采取的最佳策略。

 

如果找足够多的人试验足够多次,你就会发现这些策略比别的策略好 ——更比没有策略好。

 

我们成年以后在生活中运用到复杂数学的机会太少了。如果你不搞技术,可能就连在工作中用到数学的机会都不多。


我们生活中用到的数学,大都停留在小学生水平,比如购物算账。

 

而事实上,一个现代人如果能习惯性地用数学模型去思考问题的话,你可能会发现机会还有很多。数学模型和计算机算法可以帮助你决策。


知识清单


1.生活源于算法:

算法指的就是解决问题的一系列步骤,早在计算机开始使用算法前,人类就已经把算法应用到生活中。


2.最优解:37%

在这个不确定世界中,使用37%规则,使你作为一个理性人能将选择做到的最好。


3.将数学模型嵌入到你的生活

善用数学和算法思维,会挖掘出更多机会。


640?wx_fmt=jpeg


本文来源:公众号 @笔记侠。中国最大的新商业知识笔记共享平台,微信价值排行榜总榜前十,独家笔记支持湖畔大学、混沌大学、青腾大学、高山大学、中欧创业营、京东商学院、北大国发院等顶尖商学院课程,BAT、TMD、小米、华为、网易等知名企业,丁磊、傅盛、李善友等知名人士,60万企业决策及管理层都在看。


640?wx_fmt=png640?wx_fmt=jpeg

这篇关于算法指导人生?数据家告诉你什么时候结束单身!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/705755

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解