Reading Club | 算法和人生抉择:午饭到底吃什么?

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

午饭吃什么?去拔草楼下新开的餐厅,还是去对面那家常去的小馆子?

这可能是很多人每天面临的亘古选择题,也是我们每一天都在做一类特定的选择:选择已知的最爱还是未知的可能?

如何平衡这个选择不仅是我们纠结的日常,也是计算机学家半个世纪以来的研究对象。

春节前,大数据文摘启动了最新音频栏目——Data Reading Club,我们为大家推荐的书籍是Algorithm to Live by(生活中的算法),上一期我们跟大家探讨了算法与人生伴侣的选择——神奇的37%法则。

本周,我们继续聊聊【选择】这个人生中的重大话题。由来自杜克大学美女主播段天霖与大家分享:在选择时,如何衡量“坚守已知(exploit)”或者“探索未知(explore)”。

就像读书会小蒋所说:对于计算机来说,explore代表收集信息,而exploit是运用这些信息来达到一个确定的理想结果;在生活中,explore是我们对未知世界的探索,而exploit是享受已知的美好。

从这个意义上讲,认识一个新朋友、听一首新歌是explore,与家人团聚、听一首循环无数次的老歌就是exploit。仔细想想,生活中这两者总是共存的,但他们之间的平衡却是因人而异的。那么从算法的角度,这个命题是否存在一种最佳解法呢?

要回答这个问题,我们还是要从它的起源说起。

虽然,计算机科学家对于午饭吃什么有种有啥吃啥的佛系心态,但是,他们对于幻想怎么在赌场赚最多的银子倒是有极大的热情。

假设赌场中有一排未知预期收益的老虎机,只能靠投钱来以身试法,你要花多久时间来收集信息,又该在什么时候锁定目标发家致富呢,这就是Explore-Exploit的最经典案例,multi-armed bandit,多臂老虎机问题。

让我们从这个经典案例说起,看看历史上,不同科学家是如何选择的。

36fbc05fa388d7b6d8d72b5b0e6b309db1d2cc56

Win-Stay逻辑

也许你可以随机挑选一台老虎机,只要你在赢就一直盯住它,一旦输了就转投另一台,以此循环。

这是由哥伦比亚大学的数学家Herbert Robbins针对多臂老虎机问题提出的第一个解法: Win-Stay Lose-Shift。

这个解法中Win-Stay的逻辑很直观:如果你已经选择一台机器,那么如果它让你赢了,那只会让你更有可能继续选择这台机器;但Lose-Shift就有待推敲了:试想你认准的机器让你连赢10次,但在第11次输了,你真的会因为这一次的结果而彻底改换一个尝试对象吗?

就像你最爱的那家餐厅,你真的会因为某一次的某道菜没有那么好吃就不再去了吗?

抓住时机

假设我们考虑的时间是一个有限的区间,探索的价值是逐日递减的,且不说你新发现的选项到底是不是比你目前的最爱更好,就算你找到了新的最爱,已经用来explore的时间也意味着起码这一次留给你exploit的时间没有多少了。

反过来,有限时间里exploit的价值却是递增的。你截止这个月为止最爱的餐厅by definition就一定和你上个月之前所尝试过的餐厅一样好或更好。

所以时间的维度决定了我们的策略应当根据剩余时间而定:如果你还有大把的时间去explore或者exploit,那么尽情探索吧。

基廷斯系数

现在我们知道了interval是平衡explore/exploit的关键,同时它并不一定是一个具象甚至有界的期限,那么我们该如何将这种对于interval的认知融合到算法中呢?

Gittins Index回答了这个问题。

要理解Gittins Index 基廷斯系数,我们要先介绍一个经济学中常见的概念:time discounting,Gittins认为这种单位回报是呈几何递减的。

以选择餐厅为例,如果你认为你有1%的可能性某天会离开这座城市,那么一顿第二天晚餐的价值就应该是今天晚餐价值的0.99,依次递推。基于目前所收集的信息,Gittins Index为每一种情况都赋予了一个系数。

因此,你的众多选择瞬间变成一个明确的定量比较——谁系数高就选谁。

后悔值和最优值

1985年,提出Win-Stay Lose-Shift的那位哥大数学家Robbins时隔多年又带着加强版解法归来了。

这一次他提供了另一个看待这类问题的思路:在你做一个选择时,你不必纠结任何一个选项会给你带来什么,而是扪心自问,如果不做某个决定,你会有多后悔?

Robbins的新算法所做的将后悔量化,定义为实施某一特定策略所得到的回报与最大可能的回报之间的差值,就是选择那个将你的后悔值最小化的策略。

如何平衡?

不过人和机器终究还是不同的,我们并不会、也不需要总按照最佳策略生活。

6bc81d87eac4a3b60c2d76a2fc40599430a6dbae

面对这变幻不息的世界,我们能从这些算法中学到的,或许并不只是某一种策略,而更是一种新的看待选择与变化的方式:

人生的旅程中,刚刚启程的孩子正该尽情探索属于他们的无限可能,而年纪渐长的父母老人在我们眼里的固执己见,又何尝不是一种看过更多人生风景后的积累与沉淀。

二月已过、三月将来,新春伊始,不如就从今天起将这些新的体会付诸实践:探索一家新的餐厅,也挑战踏出你的舒适圈,或许渐渐你会发现,生活真的一天比一天更美好。

以上就是Algorithm to Live by第二章的内容主要内容,点击阅读原文收听大数据文摘喜马拉雅专栏音频《生活中的算法》

在这个崭新的专栏中,我们将陆续探讨这些你在生活中将要用到的算法。这些算法和观点将主要来自一本算法书籍Algorithm to Live by(生活中的算法),这本书被称为“the computer science of human decisions(人生抉择中的计算机科学)”。主播段天霖告诉我们,在杜克大学和斯坦福大学等学府的统计学和计算机系,这本书几乎人手一本,是一本难得引人深思的好书。

45336204b8aac4865a8100daad3141da9064600f

在这个新的栏目里,我们将从这本书出发,探讨算法和人生的关系。当然,其中所涉及的并不只是计算机科学,它与数学、工程学、认知科学、心理学、经济学都通通相关。

本书的两位作者除了本专业,也都在这些方面各有建树:Brian Christian是位布朗大学计算机与哲学双学位毕业的作家和诗人,Tom Griffith则是斯坦福统计与心理学毕业的加州伯克利教授,专攻computational cognitive science,计算认知科学。

ca211af3a18b8d48402837ce563ee9e13cef766b

不仅如此,这两位大神还专门找到当初设计这些计算机算法的科学家们,了解这些算法背后的故事。接下来的一段时间,我们将在这个新栏目中,跟随他们的脚步,探讨一些人类和计算机所共同面临的难题:

如何分配有限的空间、时间、注意力;如何应对不完整的信息和无限的未知......我们将了解到计算机是如何尝试优化这些问题的,而我们作为人类可以如何借鉴,又面临着哪些独特的挑战。

最后,希望这本书的旅程能让你我都能有所收获,并带着一种新的视角来审视取舍与抉择,这个人生中永恒的主题。 

当然,我们也欢迎对这本书和我们的栏目感兴趣的读者,加入我们的reading club,和我们一同阅读本书,发表你的评论,探讨相关话题。


原文发布时间为:2018-02-28

本文作者:文摘菌

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
存储 算法 数据挖掘
技术分享:从雪花算法生成订单ID的抉择与反思
【8月更文挑战第17天】在软件开发的浩瀚征途中,技术选型如同航海中的罗盘,指引着项目前进的方向。今天,我想与大家分享一段关于“用雪花算法生成订单ID,现在我有点后悔了”的亲身经历,希望通过这段故事,为大家在技术选型时提供一些参考与启示。
87 0
|
4月前
|
存储 算法 搜索推荐
告别低效编程!Python算法设计与分析中,时间复杂度与空间复杂度的智慧抉择!
【7月更文挑战第22天】在编程中,时间复杂度和空间复杂度是评估算法效率的关键。时间复杂度衡量执行时间随数据量增加的趋势,空间复杂度关注算法所需的内存。在实际应用中,开发者需权衡两者,根据场景选择合适算法,如快速排序(平均O(n log n),最坏O(n^2),空间复杂度O(log n)至O(n))适合大规模数据,而归并排序(稳定O(n log n),空间复杂度O(n))在内存受限或稳定性要求高时更有利。通过优化,如改进基准选择或减少复制,可平衡这两者。理解并智慧地选择算法是提升代码效率的关键。
67 1
|
15天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
1天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
2天前
|
存储 算法 决策智能
基于免疫算法的TSP问题求解matlab仿真
旅行商问题(TSP)是一个经典的组合优化问题,目标是寻找经过每个城市恰好一次并返回起点的最短回路。本文介绍了一种基于免疫算法(IA)的解决方案,该算法模拟生物免疫系统的运作机制,通过克隆选择、变异和免疫记忆等步骤,有效解决了TSP问题。程序使用MATLAB 2022a版本运行,展示了良好的优化效果。
|
1天前
|
机器学习/深度学习 算法 芯片
基于GSP工具箱的NILM算法matlab仿真
基于GSP工具箱的NILM算法Matlab仿真,利用图信号处理技术解析家庭或建筑内各电器的独立功耗。GSPBox通过图的节点、边和权重矩阵表示电气系统,实现对未知数据的有效分类。系统使用MATLAB2022a版本,通过滤波或分解技术从全局能耗信号中提取子设备的功耗信息。
|
1天前
|
机器学习/深度学习 算法 5G
基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真
基于MIMO系统的SDR-AltMin混合预编码算法通过结合半定松弛和交替最小化技术,优化大规模MIMO系统的预编码矩阵,提高信号质量。Matlab 2022a仿真结果显示,该算法能有效提升系统性能并降低计算复杂度。核心程序包括预编码和接收矩阵的设计,以及不同信噪比下的性能评估。
10 3
|
12天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。