数模常用算法简介

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例子:快速排序、合并排序、FFT、汉诺塔、矩阵 相乘
基本算法
贪婪算法
顾名思义,贪心算法总是做出在当前看来最好的选 择。因此,他做出的选择往往只是在某种意义下 (即贪婪准则)的局部最优选择。对于很多问题贪 婪算法得到的局部最优解就是全局最优解。举例: Dijkstra、Prim、 Kruskal、Huffman编码。即便得 到的仅仅是局部最优,通常也是很好的近似解。 NP类问题的首选求解方法。
核心问题:找到最优子结构
基本算法
回溯法
有“通用的解题法”之称。在包含问题的所有解空 间书中按照深度优先的策略,从根节点出发搜索解 空间树。配以合理的定界估计,可有效缩小全局最 优解可能存在的解空间。优点:通用,易实现,一 定找到全局最优解,即便中止能得到近似解。缺点: 算法的执行时间很大程度取决于找到的头几个可行 解。最糟糕的情况下与穷举法复杂度相同。
人工神经网络
工程上应用已经很普遍
蚁群算法(不了解)
核心问题:定界函数以及解空间的划分
基本算法
分支定界法
与回溯法类似,但分支定界法通常得到的第一个可 行解就是全局最优解。搜索策略为广度&最优存在 可能优先。优点:不依赖初始解,可求得全局最优。 缺点:最糟糕的情况下时间及空间复杂度都非常大, 此外,如果中止算法,你啥也得不到。
核心问题:对可行解的“定界”估计函数
核心问题:构造合理的贪婪准则
基本算法
动态规划算法
与分治法类似,其基本思想也是将带求解问题分解 成若干个子问题,先求解子问题,再从子问题得到 原问题的解,与分治法不同的是,适用该方法的问 题,经分解后的子问题往往不是相互独立的。注意: 并不是动态规划问题才可以用动态规划算法解!举 例:01背包问题百度文库
数模常用算法简介
基本算法
穷举法与直接法
顾名思义,就是从所有可行解中筛选最优解的方法。 该方法最大的优点是取得的解一定是全局最优解,而且 可以筛选出多个等价的全局最优解。
需要注意的两个方面:
▪ 能否在理论上决定所求解问题的全部可行解集 。亦即所有可 行解是否可以用一致的算法列举出来。
▪ 在运算规模上是否能够接受,很多问题用穷举的复杂度上界 都是阶数的指数函数,对于这种问题一定要慎用穷举法。
基本算法
概率算法
通常也称之为计算机模拟。构造一个概率问题,让 某个统计量的数学期望等于所求问题的解。
基本算法
线性规划与网络流
这个大家都是行家
现代算法
模拟退火法(不推荐) 禁忌搜索 遗传算法(推荐)
优点:任何优化问题都可以用之求解 缺点:没有统一的形式,对于每一类问题都几乎得
从头构造生成、变异、交叉算法。当最优解在解空 间的边界附近时比较头疼。
基本算法
递归与分治策略
分治法的基本思想是将一个规模为n的问题分解为k 个规模小于n的较小的子问题,这些子问题相互独 立且与原问题相同。递归地求解子问题,然后用各 子问题的解合并到原问题的解。
核心在于将原问题分解,如果可以做到,则问题的 复杂度将比用穷举法下降很多。如果是这样的问题, 不妨在论文里多写点算法相关的东西。
相关文档
最新文档