《未来算法》 | 读完这本书,想对“算法”说一句,“对不起,误解你了”

你知道37%是个该做决定的神奇分界线吗?

比如找餐厅,你面前有10家餐厅可以选择,那么前面4家(接近37%),你可以看看而不要进去;从第5家开始,只要看着比前面的都好,你就选择这家,这可能就是你的最优选择。

关于这个37%的理论,我在某个播客节目听到过一次,当时讨论的是“找对象”的话题,觉得挺有意思。

而在《未来算法》一书中再次看到这个37%,才知道这叫“最佳停止问题”;而这个问题和答案,被誉为计算机领域优化算法里最完美的算法之一。

《未来算法》的作者是诸葛越,曾入选福布斯中国2020科技女性榜。

她是美国斯坦福大学计算机系硕士与博士;是夸克星辰科技创始人兼CEO;她也曾任Hulu公司全球研发副总裁,中国研发中心总经理;雅虎北京研发中心资深产品总监;微软北京研发中心项目总经理。

《未来算法》从基石、架构和未来三个部分,结合贴近我们生活的例子,去讲解算法的一些基础知识,让没有专业背景的人也能去了解和培养计算思维。

01 算法思维运用到日常

在书的第一部“基石”中,介绍了分解问题的思维方法和四种基础算法—排序、分类、搜索和递归。就拿我最感兴趣的“分类”来说吧。

我们在很小的时候就开始学习“分类”,比如区分动物和植物、区分不同形状,区分不同颜色,接着会到复杂一些的分类,比如动物里再分类—哺乳类、鱼类、爬行类等等。

分类在互联网的运用更是普遍。打开某个购物网站,你就能看到不同商品按照使用场景进行了分类;打开新闻类网站,也有分不同领域的新闻内容。

书中告诉我们,人脸识别也是一个分类问题。比如手机解锁,把新的人脸特征与手机里存的做对比,根据差值是否小于100(假设值)分为两类,在“是”的那一类人脸就能打开手机。

那分类思维怎么运用到日常生活中呢?我们假设一个场景,你的衣服太多,衣柜塞不下了,打算进行清理;这个时候,你就需要用到分类思维,去给衣服定个分类标准。如果你追求新潮,可能会分为“是否是一年之内买的”;如果你崇尚使用,可能会分为“是否在一年之内穿过”。

关于分类,我还联想到研究生的时候做关于老年人步行的研究。一开始对于老年人的分类是按性别和年龄来;随着研究慢慢深入,发现年龄可能特别大的影响因素,于是开始分类为健康老人和移动困难老人,而移动困难老人里又可以再细化,比如步行缓慢、介助、介护或者失能、失智。分类的开始往往是发现问题,而随着研究问题的深入,分类就会慢慢细化。

分类无论运用在算法还是日常生活,其实都是一种“洞察”,目标是为了解决某一类问题。

02 优化是寻求“平衡”

第二部分的“架构”中,作者科普了数据结构、模式识别、抽象和优化。我对”优化“这部分最感兴趣,这可能和自己从事的设计行业有关,总在不停地调整、优化方案。

优化,是一个动词,是把解决方案不断变好的过程。优化可能导致最优解出现,但很多时候,只是找到一个可以接受的比较好的解。

优化的精髓是要在有限的时间内,用有限的资源找到针对一个问题的可以接受的解决方案。


我喜欢书中提到的这个“优化”概念,优化不代表着最优,而是在时间和空间特定限制条件下的一种平衡。

我们家的空间布置就一直处于“优化”之中,一开始的书房因为有了孩子变成了一半是书房一半是玩具房;孩子渐渐长大,需要自己的房间,书房又变成了她的独立房间,而书房空间变成了在客厅和卧室增加书桌。这种家庭住房功能空间的调整,也寻求一种时间和空间的平衡,以解决当下的问题。




我原本对算法这件事情不太感兴趣,甚至有点抵触。第一是因为各平台采用算法推荐,容易造成信息茧房;第二是铺天盖地的少儿编程推荐,让我对它有了一些抵触情绪。

直到遇见这本《未来算法》,我才发觉自己对算法是有偏见的。 应该会用更开放的心态来面对算法,面对“计算思维”,毕竟在生活各个方面都有在运用,选餐厅、整理衣柜、规划日程等等。

我们都在“寻找简单有效的解决方案可以达到最佳效果”。

推荐阅读更多精彩内容