常见算法


常见算法

Hash,音译为哈希,是一个典型的利用空间换取时间的算法,把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。贪心算法(又称贪婪算法)是指在对问题求解时,总是做出在当前看来是最好的选择。博弈/博弈论,又称为对策论(Game Theory)、赛局理论等,既是现代数学的一个新分支,也是运筹学的一个重要学科。

哈希算法

  1. 把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。

动态规划

  1. 态规划的基本思想是:问题的最优解如果可以由子问题的最优解推导得到,则可以先求解子问题的最优解,在构造原问题的最优解;若子问题有较多的重复出现,则可以自底向上从最终子问题向原问题逐步求解。

  2. 动态规划的特点:

    a) 把原始问题划分成一系列子问题;

    b) 求解每个子问题仅一次,并将其结果保存在一个表中,以后用到时直接存取,不重复计算,节省计算时间

    c) 自底向上地计算。

    d) 整体问题最优解取决于子问题的最优解(状态转移方程)(将子问题称为状态,最终状态的求解归结为其他状态的求解)

  3. 线性动规,区域动规,树形动规,背包动规。

  4. 最大不下降子序列

贪心算法

  1. 在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。

  2. 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

  3. 贪心算法的思想如下:

    a)建立数学模型来描述问题;

    b)把求解的问题分成若干个子问题;

    c)对每一子问题求解,得到子问题的局部最优解;

    d)把子问题的解局部最优解合成原来解问题的一个解。

博弈算法

  1. 博弈论主要研究公式化了的激励结构间的相互作用,是研究具有斗争或竞争性质现象的数学理论和方法,博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。

  2. 博弈问题的特点

    a) 博弈模型为两人轮流决策的非合作博弈。即两人轮流进行决策,并且两人都使用最优策略来获取胜利

    b) 博弈是有限的。即无论两人怎样决策,都会在有限步后决出胜负

    c) 公平博弈。即两人进行决策所遵循的规则相同

  3. 几种常用的博弈论模型有:巴什博弈,威佐夫博弈,斐波那契博弈,尼姆博弈


文章作者: nusqx
文章链接: https://nusqx.top
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 nusqx !
评论
  目录