目录
- 一、背景介绍
- 三、过程
- 1.那是什么样的一个数学题?
- 2.动态规划是个啥?
- 3.为啥联系到动态规划了?
- 4.拿01背包算法做个小例子练练手吧
- 5.感受
- 四、总结
一、背景介绍
小编发烧+并发症一周了,这一周从最开始的轻飘飘找不到灵魂在哪里——>水深火热细胞大战斗——>如获新生;这段时间细胞一定再生了很多。
趁着新细胞还没被应试传统细胞感染;挤时间在我们2.0平台上畅游《一年级数学上册》,从最初的认识开始从零起步去弥补曾经欠下的思维逻辑债。
这不最近就发现了一个有意思的题目,竟然让我和动态规划联系到一起了;算是从新细胞开始对动态规划的一个初探吧,偷偷先夸我一个见微知著。
2013年-2017年,四年的时间我到底是如何变过来的?通过2018年-2020年的参与以及2021年-2023年三年的深化有了一定的理解,于是开启《踏雪无痕的痕》系列文章;通过系列文章想要做到:
- 1.将教育最高境界中踏雪无痕的痕明示出来,寻找自己的归路
- 2.自己也可以做到踏雪无痕
- 3.可以通过踏雪无痕让自己的孩子在未来大学毕业的时候,可以超过当初我计算机系阶段毕业的社会认可度
- 4.让中国万万家庭都可以做到成本很低的达到教育新阶梯
三、过程
1.那是什么样的一个数学题?
如下图:你可以列出那些算式?请你思考5秒再往下滑。
小编的思考放到3为啥联系到动态规划了?去一起说这道数学题。
2.动态规划是个啥?
动态规划(Dynamic Programming,简称DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构特性的问题。
- 最优子结构:一个问题的最优解包含其子问题的最优解。这意味着我们可以通过解决子问题来构建原问题的最优解。
- 重叠子问题:在使用递归方法解决问题时,相同的子问题可能会被重复计算多次。动态规划通过存储和复用子问题的解来避免这种重复计算,从而提高效率。
动态规划的应用非常广泛,包括最短路径问题、背包问题、资源分配问题、序列比对(如生物信息学中的DNA或蛋白质序列比对)等。它也可以用于优化和控制理论,以及强化学习等领域。
动态规划的基本步骤通常包括:
- 定义状态:确定问题的子问题,并为每个子问题定义一个状态。
- 转移方程:定义如何从一个状态转移到另一个状态,并计算转移过程中的代价或收益。
- 边界条件:确定问题的初始状态和结束状态。
- 求解:使用上述定义的状态、转移方程和边界条件,通过迭代或递归的方式求解问题。
虽然动态规划主要用于求解以时间划分阶段的动态过程的优化问题,但是一些与时间无关的静态规划问题,也可以通过引入时间因素,将其视为多阶段决策过程,然后使用动态规划方法求解。
3.为啥联系到动态规划了?
首先说那是一道一年级上册数学题;从一年级学生的角度,他们刚学了1-7的数,以及对应的加减法;
故:小学生可以给出的结果是:4+2=6、2+4=6、6-4=2、6-2=4;这个结果是为了训练学生
- 3.1.加法:4+2 从左到右的合并思维(局部到全局)
- 3.2.加法:2+4 从右到左的合并思维(局部到全局)
- 3.3.减法:6-4 从左到右的拆分思维(全局到局部)
- 3.4.减法:6-2 从右到左的合并思维(全局到局部)
有了对这个数学题的基本理解;再结合上面动态规划介绍的基本思想;其实就能联系到全局到局部&局部最优到全局最优的思路。
4.拿01背包算法做个小例子练练手吧
5.感受
见微知著,还是从这个词说起来吧。
就好比每年的诺贝尔奖论文用看似简单的篇幅看似很多人都能明白那些原理?,以及那些简单易懂的大道理像"一万小时定律"、“奥卡姆剃刀原则”、"高效能人士的七个习惯"等,听着简单做起来难,因为背后蕴含着很多的逻辑学问呢。
从一年级数学开始;摒弃了自我的恐惧、降低了自己的姿态、避免了灯下黑、从最原始开始入手、窥探自己思维逻辑和认知中需要训练的东西。
昨晚凌晨,恍然对于计算机的底层那些重要的东西突然意识到真的是那么重要,就好比小学课本中为啥要先教1-5再教0一样重要。
曾经为了看到效果,先从上层应用开始,简单易懂,后面想要把断层的知识补起来,就得一点点的从最底层开始梳理,例如:计算机组成原理。
四、总结
将自己的成长、后代的成长、现在的生活、工作、曾经的那个雪痕;全都聚焦到一个方向上,这是一件多么酷的事情。
如果小时候我多一些科学思维培养,少一些填鸭;也许现在…
好了,该去真正的做梦了。
未来你我的孩子呢?