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

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

相关文章

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核