师彼长技以助己(6)递归思维
递归思维-小游戏
思维小游戏
思维 小游戏:1 玩一个从1或2开始往上加的游戏,谁加到20就赢
如何保证一定赢呢?我们倒推,要先到20的话,谁先到17就赢,如此依次类推20 — 17— 14 —11— 8 — 5 — 2,最后是2,所以关键是2,如果你懂这个游戏规则,谁先到2谁就一定赢
这个小游戏的诀窍就是利用了递归思维,也是接下来我要介绍的最后一个工程思维
递归思维
递归思维与人类思维最大不同在于:做好顶层设计,不断简单重复自己
递推和递归
什么是递推?就是一个个往下推,比如1,2,3…;那递归呢?反过来:…3,2,1;我们人类喜欢递推,从小的开始逐渐增大,而计算机擅长从大的开始往回递归
经典八皇后问题
我们看一个经典的八皇后问题,人类思考方式:放1个,检查,再放一个,检查,再放…所以即便是伟大的数学家高斯按照这样的方法,也只找到了76种(总共有4万多种摆法)。那如果计算机利用递归思想:几毫秒就能找出全部的答案92钟。具体步骤如下:
- 1 假设已经放好了7个,只剩最后1个了,那就在最后一行或一列按个试一遍就行
- 2 利用这个思想处理前面7个逻辑
- 3 当棋盘空的时候,从第1行开始一个个位置试
最后留个思考题,如果游戏规则改成抢40,每次可加的数为1-4
递归应用
公司中管理授权
每一级的领导只要管理好自己的下属即可,至于自己下属如何管理他们的下属,上级不用关心 。只有层层授权才能构建出一个比较大的组织结构。大家知道管理上最糟糕的管理是什么吗?是微观管理,上级规定下级做事的每一个细节(手把手教人写代码,项目负责人为了衡量某员工的工作成果自己去了解项目需求的每一个细节然后来指导员工,接到需求不喜欢用脑子做设计先写程序)
AI自然语言处理的语法分析
今年杭州XX公司的营业额比去年增加了三成。计算机是如何处理的呢?
人的习惯是从最小的语法单元开始学习的,先认字,再组词,然后造句。但是计算分析时候是自顶向下的,它的语法规则常常是这样的: 句子 = 主语 + 谓语部分;主语 = 定语 + 名词短语;定语 = 名词短语/形容词短语;名词短语 = 形容词 + 名词;谓语部分 = 谓语 + 宾语/状语 …
其它应用场景:
- WBS分解和项目工期估算问题
- 网络爬虫问题
- 类似树形菜单具有父子关系数据遍历
- 模拟科学实验
从善如登从恶如崩
俗话说的好:流氓不可怕,就流氓有文化。技术也是如此,技术是没有好坏之分,主要看使用它的人。核技术可以用来造武器毁灭世界,也可以造核电站造福人类。
目前流行的互联网技术也没有好坏之分,主要看使用它的人,但是有区别的是,我们大多数人掌握的技术不足以像核技术那么强大。但是如果没有写好程序或利用做些小恶还是可能的:
-
1写bug : 一个bug引起蝴蝶效应:系统奔溃,客户丢失,公司利润下降,裁员,同事失业,家庭支离破碎。社会动荡不安…(一个bug蝴蝶效应可能过于夸张,但是直接导致公司利益受损,部门努力白费还是有的)一个bug导致火箭发射失败,飞机故障,损失的是他人的生命(历史上就发生过多起)想象下,让你写的航天系统,你自己敢坐上去吗?所以希望工程师们不要被人贴上:写bug你是专业的标签。
-
2大数据善与恶:大数据作用很明显,让人工智能散发出了第二春,还可以帮助政府抓罪犯(用电量分析抓地下毒贩)。但是确实也存在一些人性之恶的地方:比如有些商家可以根据用户的行为来行有条件选择发假货,高仿还是正品;还有机票、商品价格都是分类对待的,一人一价(本人深刻体会到瑞幸咖啡打折券策略)
-
3机器道德观:最典型的自动驾驶汽车为了保护驾驶员,撞死行人怎么解决?相信以后除了自动驾驶,包含医疗诊断、个人护理等方面都会存在道德上的讨论。
-
4 信息安全:个人隐私被窃取,被不法分子利用,更甚者自动驾驶被入侵?智能家居被入侵?想想都可能让大家不寒而栗。
所以成为好的工程师先成为一个好人,否则就成了有文化的流氓了。所以希望大家不要破坏我们这个世界的美好,这个世界已经存在太多不幸,不是嘛?
好了本次工程思维就介绍这了,下一篇我将介绍产品思维和工程思维之间如何互相促进,做到师彼长技以助已。