我很好奇符号计算的当前状态以及未来前景。以下是我想提出的一些问题:
- 符号计算的当前前景如何?
- 它会在不久的将来取代数值计算(甚至有可能)吗?
- 符号计算能胜过数值计算吗?
- 符号计算比数值计算有什么优势,反之亦然?
- 符号计算是否用于任何重要的计算项目(关于规模和重要性)?
我很好奇符号计算的当前状态以及未来前景。以下是我想提出的一些问题:
我想我不能回答所有这些,但我可以根据我所看到的给你一些想法。
我认为符号计算是一个很棒的工具,但它显然对具有分析解决方案和形式的问题最有用。然而,并不是每个问题都以这种方式真正体现出来。所以这就是数值计算可能会被证明是一个更好的选择的地方。
我也不确定您将什么定义为优于数值计算。但是符号算术应该比数字慢,所以它在效率方面并不优于。但是,当您将值替换为符号结果而不是数字结果时,它可能会更准确。
在使用符号数学方面,我们在工作中使用它(我从事导弹算法、模拟、机器学习等工作)。我们通常使用它来预先计算一些密集的代数量,例如 4x4 矩阵的特征向量和特征值,并直接对结果进行编码以加快计算速度(这有助于我们的代码在嵌入式系统上运行)。我们经常用它来做这类事情。但在嵌入式代码之外,我们并没有太多使用它。
在回答太多之前,我想指出一个非常重要的问题,这个问题听起来应该涉及到:数字计算没有符号部分就毫无意义。
除非它是一个非常非常简单的问题,否则您不能只是将您的问题转储到数值求解器上并让它突飞猛进(即便如此,有人花了很多时间在黑板上设计 CPU 中将两个数字相加的部分)。通常,你必须尽可能清楚地提出你的问题,经常使用铅笔,然后让它发酵。你能简化它吗?什么是重要的?有什么会影响准确性的吗?它甚至摆对了吗?如果这是为了工作,值得你花时间吗?有人做过吗?你能做得更好吗?
然后你选择一种方法来解决它。也许你第一次去你会使用一个固定的算法。也许它还有一些不足之处,你开始专攻。也许你的问题在稍微有点尴尬的情况下效果更好,比如约束,然后你必须扩展你的罐头解决方案。
通常,几乎所有的艰苦工作都是由一个拿着铅笔、纸和键盘的人完成的。相比之下,计算机的劳动实际上使它成为现实是值得的。如果不是,那么要么计算非常成功,要么工作很糟糕,要么真的没有太多空间可以做很多象征性的工作(比如机器学习)。
你可能会认为随着计算机的进步,这变得不那么真实了,但我不同意。随着计算机变得越来越强大,我们向它们抛出了更难的问题,这些更难的问题甚至需要更多的人工努力才能尝试解决。这种手动工作是编程的混合,是的,符号操作。
回答: