师彼长技以助己(6)递归思维

师彼长技以助己(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 信息安全:个人隐私被窃取,被不法分子利用,更甚者自动驾驶被入侵?智能家居被入侵?想想都可能让大家不寒而栗。

所以成为好的工程师先成为一个好人,否则就成了有文化的流氓了。所以希望大家不要破坏我们这个世界的美好,这个世界已经存在太多不幸,不是嘛?

好了本次工程思维就介绍这了,下一篇我将介绍产品思维和工程思维之间如何互相促进,做到师彼长技以助已。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/711204.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

固态u盘长期不用会丢数据吗?u盘数据丢失怎么恢复需要多久

在数字化时代,U盘作为便携存储设备,广泛应用于我们的日常生活和工作中。然而,关于固态U盘长期不使用是否会导致数据丢失的问题,以及数据丢失后如何恢复和所需的时间,常常让人感到困惑。本文将针对这些问题进行深入探讨…

汽车IVI中控开发入门及进阶(二十八):视频SERDES芯片

前言: SerDes不是很常见,SerDes是将Ser和Des两种产品组合在一起的名称。Ser是Serializer或“并串转换器”的缩写,Des是Deserializer或“串并转换器”的简写。 Serdes是不是必须的?上一节介绍了camera,上上节也研究了video decoder,那么带摄像头的应用应该具体选哪个方案…

建筑电工精选最新模拟试题(含答案)

一、填空题 1、我国安全生产的基本方针是 安全 第一,预防 为主,综合治理。 2、特种作业人员,必须积极主动参加培训与考核 。既是法律法规的规定,也是自身工作,生产及生命安全 的需要 3、触电急救&#x…

修改SubVI的LabVIEW默认搜索路径

在启动顶级VI后&#xff0c;LabVIEW可能会遇到找不到subVI的情况。这通常是由于subVI的路径发生了变化或没有被正确配置。 LabVIEW默认搜索路径 默认情况下&#xff0c;LabVIEW会按以下顺序搜索文件位置&#xff08;*表示LabVIEW将搜索子目录&#xff09;&#xff1a; <t…

锐尔15 锐尔文档扫描影像处理系统

锐尔文档扫描影像处理系统是一款全中文操作界面的文件、档案扫描及影像优化处理软件&#xff0c;是目前国内档案数字化行业里专业且优秀的影像优化处理软件&#xff0c;在档案数字化业内有广泛的影响且广受好评。 无论是从纸质文件制作高质量的影像文件&#xff0c;或是检查已经…

OpenDevin 环境配置及踩坑指南

不惧怕任何环境配置 首先 clone 项目&#xff0c;然后查看开发者文档&#xff1a;https://github.com/OpenDevin/OpenDevin/blob/main/Development.md make setup-config 自定义 LLM 配置 首先这个 devin 写的是支持自定义的 LLM 配置&#xff0c;并且提供了交互式命令供我们…

【Matlab编程学习】 | matlab语言编程基础:常用图形绘制基础学习

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

【仪器仪表/电源专题】浮地信号的测试的四种方案对比

接地信号和浮地信号区别 所有的电压测量都是差分测量&#xff0c;差分测量定义为两点之间的电压差。所以会分成两类&#xff1a; 1.参考地电平测量&#xff08;有时也叫接地信号&#xff09; 2.非参考地电平测量&#xff08;也称为浮地测量&#xff09; 测试信号可以分为接地信…

leetcode 56合并区间

思路 合并就是首先应该按照left左边界排序&#xff0c;排完序以后&#xff0c;如果i的左边界小于等于i-1的右边界&#xff0c;说明有重合&#xff0c;此时这两个可以合并&#xff0c;右边界应该取最大值。 代码 排序 我是定义了一个类,存储左右边界&#xff0c;先将数组转化…

【计算机视觉】人脸算法之图像处理基础知识(五)

图像的几何变换 3.图像的旋转 图像的旋转就是让图像按照某一点旋转到指定的角度。需要确定3个参数&#xff1a;图像的旋转中心、旋转角度和缩放因子。在openv中通过getRotationMatrix2D()函数来实现图像的旋转。 import cv2 import numpy as npimgpath "images/img1.j…

logTrick

贴一下灵神的题解里面的解释~ 就是一种优化策略&#xff0c;logtrick class Solution { public:int minimumDifference(vector<int>& nums, int k) {int res 0x3f3f3f3f;int n nums.size();for(int i0;i<n;i){res min(res,abs(nums[i]-k));for(int j i-1;j&g…

视频转换器在线哪个好?让视频播放不受格式限制

在日常的视频观看中&#xff0c;我们可能会遇到视频格式与设备不兼容的问题&#xff0c;导致无法顺畅播放。这就像是缺少了播放的钥匙&#xff0c;让人无法享受视频内容。 面对视频格式不兼容的挑战&#xff0c;选择合适的转换工具至关重要。但不用担心&#xff0c;本文将分享…

OpenGL3.3_C++_Windows(10)

最终演示 ​ demo演示 Assimp模型渲染 模型导入库Assimp&#xff1a;导入很多种不同的模型文件格式&#xff0c;加载至Assimp的通用数据结构&#xff08;树形&#xff09;中&#xff0c;不论导入的是什么种类的文件格式&#xff0c;用同一种方式访问我们需要的数据。 Assimp库…

从开源EPR产品Odoo学习

前言 一个先进、敏捷、经济高效、可快速扩展的Odoo免费开源企业信息化解决方案,让企业获得适应未来发展的长期创新和增长能力。 Odoo 的免费开源模式 让我们可利用无数开发人员和业务专家,在短短数年内,打造数百款应用。凭借强大的技术基础,Odoo 的框架是非常独特且优秀的…

0614,表达式,语句

题目一&#xff1a; 许多简单的交互式程序都是基于菜单的&#xff1a;它们向用户显示可供选择的命令列表&#xff1b;一旦用户选择了某条命令&#xff0c;程序就执行相应的操作&#xff0c;然后提示用户输入下一条命令&#xff1b;这个过程一直会持续到用户选择 "退出&qu…

图论(一)之概念介绍与图形#matlab

图论&#xff08;一&#xff09;之概念介绍与图形目录 前言 一、图论介绍 二、基本概念 2.1图的概念 2.2图形分类 2.3邻接矩阵 2.3.1无向图 2.3.2有向图 2.3.3有向赋权图 2.4出度&#xff08;Outdegree&#xff09; 2.5入度&#xff08;Indegree&#xff09; 3.四种…

Apollo9.0 PNC源码学习之Control模块(五)—— 基于LQR的横向控制

前面文章&#xff1a; Apollo9.0 PNC源码学习之Control模块&#xff08;一&#xff09; Apollo9.0 PNC源码学习之Control模块&#xff08;二&#xff09; Apollo9.0 PNC源码学习之Control模块&#xff08;三&#xff09; Apollo9.0 PNC源码学习之Control模块&#xff08;四&…

GenICam标准(六)

系列文章目录 GenICam标准&#xff08;一&#xff09; GenICam标准&#xff08;二&#xff09; GenICam标准&#xff08;三&#xff09; GenICam标准&#xff08;四&#xff09; GenICam标准&#xff08;五&#xff09; GenICam标准&#xff08;六&#xff09; 文章目录 系列文…

鸿蒙用 BuilderParam 实现同一个布局不同内容组件

面通过一个案例展示BuilderParam的具体用法&#xff0c;例如&#xff0c;现需要实现一个通用的卡片组件&#xff0c;如下图所示 卡片中显示的内容不固定&#xff0c;例如 具体实现代码如下&#xff1a; Entry Component struct BuildParamDemo {build() {Column(){Card() {imag…

C++:STL容器-->set

使用set容器时需要导入头文件&#xff1a;#include <set> set和multiset区别&#xff1a; set不允许容器中有重复的元素 multiset允许容器中有重复的元素 1. 构造函数 set<T> st; set s(const &st); void printSet(set<int>& s) {for (set<int>…