数值方法与算法方法

Numerical vs. algorithmic methods

提问人:Marlon Brando 提问时间:10/22/2023 最后编辑:Marlon Brando 更新时间:10/22/2023 访问量:63

问:

在我目前正在阅读的书中,确定性数值方法(例如基于梯度的方法:牛顿方法,无梯度的方法:Nelder-Mead)和算法方法(例如精确方法:穷举搜索,启发式方法:贪婪搜索)之间是有区别的。

我真的无法理解已经做出的改变。如果您被赋予一种新方法,并希望将其归类为数字或算法方法,那么您在寻找什么来对其进行分类?

在文献的早期,粗略地定义为算法=解决问题的分步指令。难道不是每种数值方法都是如此吗?它们最终不也是算法吗?也许粗略的定义在这里遗漏了一些重要的点......

我感兴趣的是计算机科学家如何看待它以及如何进行区分。

算法 优化 数值方法

评论

2赞 sascha 10/22/2023
对我来说,它是模糊的,上下文/背景可能很重要:一个是关于数值的推理(通常是像实数一样的无限基数)。另一个是关于离散/可数实体。恕我直言,这涉及连续优化与离散优化。当需要类似 if-else 的决策时,通常需要后者。算法可以遵循以下方法:例如线性规划。基于内点方法的 lp 求解器是一种数值方法,因为它完全是关于连续空间中基于 hessian 的步骤。单纯形算法是算法/*组合算法*,因为它具有一些 if-else 特性。
1赞 Bergi 10/22/2023
@sascha请回答这个问题
0赞 pjs 10/22/2023
我投票结束这个问题,因为它不涉及特定/具体的编程问题。看起来 cs.stackexchange.com 会更合适。

答:

0赞 JimOfAllTrades 10/22/2023 #1

数值方法肯定也是算法的一类。即使是像蒙特卡洛近似这样的随机方法,也只使用一堆随机样本,最终也是算法。

据我所知,传统的区别在于数值方法和分析方法,例如,参见本问题:https://math.stackexchange.com/questions/935405/what-s-the-difference-between-analytical-and-numerical-approaches-to-problems