《未来算法》:炒鸡蛋里也有计算机思维?
提到计算机相关的书籍,有些人会有一定的刻板印象,觉得它阅读的门槛高,大概率充斥着大量的计算机专业名词使得内容晦涩难懂。
就像我大学时期,第一次专业地接触计算机专业课,看着那些熟悉的单词排列组合成为编码,总会提不起兴趣而昏昏欲睡。临近大学生计算机二级考试,图书馆里也会坐满了备考的学生,甚至有些学生会一而再,再而三地无法通过这场考试,对计算机知识充满了恐惧和抗拒之心。
或许当时的我只是为了尽快地通过考试,好将自己的精力投入到其他领域,而并没有真正地静下心来想要去了解它背后的计算机思维。
2016年阿尔法狗和李世石的对弈,再到近期的影视作品《真实的人类》等等,给计算机人工智能都披上了令人恐慌的面纱。
其实计算机算法在我们的身边随处可见。当我近期在淘宝上浏览过一件打算入手的商品,之后淘宝的推送都会是与这件商品相类似或相关的物品;当我的B站大会员账号借给其他人使用过,我的首页推荐就会出现其他使用者感兴趣的视频而并非只有我关注的类型;
这背后就是计算机算法。众所周知,计算机是机器,机器是死板的,计算机能够懂得的指令都是非常简单的,只是凭借着它超快的运行速度才能做到普通人类做不到的事情。
就像我使用B站,它能够识别一个账号浏览过哪些视频,试图理解这个账号用户的喜好,但是它没有办法判断,这个账号使用者是不是同一个人。
这么一想,是不是计算机也有点“傻傻”的?
即使我们生活中已经处处离不开计算机,享受着计算机带给我们的便利,但是真正要人去了解计算机相关的知识,还是会让一部分人打起了退堂鼓,觉得这可能是程序员才需要去了解的领域,其他人只需要享用它的成果就好了。
排序算法、分类算法、搜索算法、递归算法、数据结构、模式识别、抽象及优化,这些计算机思维听起来是不是有点特别专业,让人不禁想退缩?
炒鸡蛋、短视频推荐、办婚礼、抓牌、开学典礼、微博热搜、选购汽车、洋葱的面积、人气网红、扫地机器人、电梯的按钮、清理房间、找对象等等,这些日常相关的事物是不是又非常的接地气?
诸葛越博士的《未来算法》用通俗易懂的语言,将上述的计算机专业名词和日常生活中的事物结合了起来,让没有计算机专业知识作为基础的读者,也能读得津津有味,不会一知半解。
以计算机思维中看似最简单但其实最强大的概念——分解问题为例。
学习和工作生活中,是不是有时会遇到一大堆的任务如排山倒海之势向你袭来,抓耳挠腮地不知道如何下手?
所谓分解问题,就是把复杂的大事情分解成多个简单的小事情,把一个大问题分解成若干小问题,然后逐个击破。
就像一道菜,我们为什么需要菜谱?因为菜谱把做菜的步骤一一细化了:准备原材料、炒蛋、盛到盘子里。这三个步骤的顺序是不能颠倒的,也就是顺序执行,计算机语言里的串行。那我们在炒蛋的同时,把盛菜的盘子准备好,在同一时间里完成了两件事,那就是并行。
简单如炒鸡蛋也不是一步而就,也是需要分解为一个个步骤的,如果再进一步分解,那就是炒蛋这一步里,我们需要放多少油、放多少盐等等。这样看来,计算机思维是不是也没有那么晦涩了?
具体的算法同样用了幽默风趣的日常事件来进行介绍,希望感兴趣的小伙伴可以去诸葛越博士的书中,去寻找答案。
关于未来算法与人类之间的关系,计算机占据了我们生活中不可或缺的部分。python办公自动化的广告早已铺天盖地,似乎你无法使用python进行Excel处理,你就不是一个合格的跟上时代潮流的高效文员。小学生编程课程也在教育市场上如雨后春笋般生长,在各大商业中心拥有了一席之地。
或许,未来我们需要如同读书写字一样跟计算机技术为主导的世界打交道。无论此时此刻的你,是否计划着去掌握一门计算机技术,但是掌握计算机思维、了解未来算法,都将成为你的有力助手,让你在任何行业脱颖而出。