随笔分类 -  游戏开发-继续算法学习(主要lua实现)

摘要:内容来自王晓华老师 这块内容有点硬核,先做了解,主要学习如何使用迭代解决问题的步骤 两种计算数值积分的常用算法,分别是变步长梯形公式法和变步长辛普森公式法。首先从梯形公式入手来推导出复合梯形公式法,在实现复合梯形公式法的基础上,再实现变步长梯形公式法。 同样,变步长辛普森公式法也是从辛普森公式入手的 阅读全文
posted @ 2019-05-31 18:28 orxx 阅读(4406) 评论(1) 推荐(0)
摘要:内容来自王晓华老师 这块内容有点硬核,先做了解,主要学习如何使用迭代解决问题的步骤 两种常用的迭代法求解方程组,分别是雅可比迭代法(Jacobi)和高斯—赛德尔迭代法(Gauss—Seidel) 完整的雅可比迭代算法 高斯-赛德尔迭代法雅可比迭代法每次迭代计算时,将上一次的迭代变量整体带入到迭代关系 阅读全文
posted @ 2019-05-31 18:25 orxx 阅读(1755) 评论(0) 推荐(0)
摘要:内容来自王晓华老师 这块内容有点硬核,先做了解,主要学习如何使用迭代解决问题的步骤 在数值分析领域中,人们通常使用迭代法、逼近法和做图等方法来求解一些复杂问题的近似解,其中迭代法是一类利用递推公式或循环算法通过构造序列来求问题近似解的方法,把这种迭代求解数学问题的方法直接体现在算法中,就可以认为是设 阅读全文
posted @ 2019-05-31 18:23 orxx 阅读(2343) 评论(0) 推荐(0)
摘要:警察抓了 A、B、C、D 四名罪犯,其中一名是小偷,审讯的时候: A说:“我不是小偷。” x !=0B说:“C 是小偷。” x = 2C说:“小偷肯定是 D。” x = 3 D说:“C 是在冤枉人。” x != 3现在已经知道四个人中三个人说的是真话,一个人说了假话,请判断一下到底谁是小偷? 对这个 阅读全文
posted @ 2019-05-30 18:02 orxx 阅读(632) 评论(0) 推荐(0)
摘要:文章内容来自王晓华老师 常用技巧 哨兵位设置哨兵位是程序设计中常用的技巧之一,常用在线性表的处理过程中,比如查找和移动数据操作。哨兵位通常起到两个作用,一个是作为一个临时存储空间使用,另一个是减少不必要的越界判断,简化算法代码复杂度。比如环形链表通常会设置一个表头节点,无论向前或向后遍历,均以这个表 阅读全文
posted @ 2019-05-30 17:38 orxx 阅读(376) 评论(0) 推荐(0)
摘要:文章内容来自王晓华老师 人们提出了很多迭代法来近似求解这类问题,比较常见的有梯度法、最小二乘法和牛顿迭代法,只要问题的解是可收敛的(或者是局部可收敛的),都可以使用迭代法求解。 数学意义上的迭代法是一种不断用变量的旧值递推新值的过程,其对应的迭代算法也是用计算机解决问题的一种基本方法。 迭代法和递推 阅读全文
posted @ 2019-05-30 17:04 orxx 阅读(2059) 评论(0) 推荐(0)
摘要:文章内容来自王晓华老师 穷举法又称穷举搜索法,是一种在问题域的解空间中对所有可能的解穷举搜索,并根据条件选择最优解的方法的总称。数学上也把穷举法称为枚举法,就是在一个由有限个元素构成的集合中,把所有元素一一枚举研究的方法。 使用穷举法解决问题,基本上就是以下两个步骤: • 确定问题的解(或状态)的定 阅读全文
posted @ 2019-05-29 23:44 orxx 阅读(2718) 评论(0) 推荐(0)
摘要:文章内容来自王晓华老师 动态规划(Dynamic Programming)是解决多阶段决策问题常用的最优化理论,动态规划和分治法一样,也是通过定义子问题,先求解子问题,然后在由子问题的解组合出原问题的解。但是它们之间的不同点是分治法的子问题之间是相互独立的,而动态规划的子问题之间存在堆叠关系(递推关 阅读全文
posted @ 2019-05-29 23:37 orxx 阅读(656) 评论(0) 推荐(0)
摘要:文章内容来自王晓华老师 参考书籍 算法的乐趣 分治法的设计思想是将无法着手解决的大问题分解成一系列规模较小的相同问题,然后逐个解决小问题,即所谓分而治之。 分治法产生的子问题与原始问题相同,只是规模减小,反复使用分治方法,可以使得子问题的规模不断减小,直到能够被直接求解为止。 应用分治法,一般出于两 阅读全文
posted @ 2019-05-28 21:32 orxx 阅读(979) 评论(0) 推荐(0)
摘要:文章内容来自王晓华老师 贪心算法,是寻找最优解问题的常用方法这种方法模式一般将求解过程分成若干个步骤,但每个步骤都应用贪心原则,选取当前状态下最好的或最优的选择(局部最有利的选择),并以此希望最后堆叠出的结果也是最好或最优的解。因为不进行回溯处理,贪婪法只在很少的情况下可以得到真正的最优解,比如最短 阅读全文
posted @ 2019-05-28 21:27 orxx 阅读(875) 评论(0) 推荐(0)
摘要:文章内容来自王晓华老师 “玩”算法就是要能够做到以下三点: 对遇到的特殊问题要能够自己设计出算法实现(可能是一个智力游戏题目,也可能是工作中遇到的实际问题); 对于原理公开的知名算法,要能将算法原理翻译成具体的算法代码(如二部图匹配的匈牙利算法、大整数乘法的 Karatsuba 算法); 对已有具体 阅读全文
posted @ 2019-05-28 21:20 orxx 阅读(275) 评论(0) 推荐(0)