Math 如何定量测量数学表达式的简化程度

Math 如何定量测量数学表达式的简化程度,math,symbolic-math,Math,Symbolic Math,我正在寻找一种简单的方法来为数学表达式指定一个数字,比如说0到1之间的数字,它可以表达该表达式的简化程度(完全简化为1)。例如: eval('x+1')应返回1 eval('1+x+1+x+x-5')应该返回一些小于1的值,因为它远不是简单的(即可以进一步简化) eval()的参数可以是字符串或抽象语法树(AST) 我想到的一个简单的想法是计算操作符的数量(?) 编辑:让简化的方法等效于系统距离问题解决方案的距离。例如,给定一个代数问题(即极限、导数、积分等),它应该指定一个数字来说明它与

我正在寻找一种简单的方法来为数学表达式指定一个数字,比如说0到1之间的数字,它可以表达该表达式的简化程度(完全简化为1)。例如:

  • eval('x+1')
    应返回1

  • eval('1+x+1+x+x-5')
    应该返回一些小于1的值,因为它远不是简单的(即可以进一步简化)

eval()
的参数可以是字符串或抽象语法树(AST)

我想到的一个简单的想法是计算操作符的数量(?)


编辑:让简化的方法等效于系统距离问题解决方案的距离。例如,给定一个代数问题(即极限、导数、积分等),它应该指定一个数字来说明它与解的接近程度


我能想到的最贴切的比喻是数学教授如何看待一个不完整的问题,并从心理上对其进行评估,从而告诉学生离解决方案有多近。就像在数学考试中,学生没有完成一道值20分的题,但教授在20分中分配了8分。为什么他会提出8/20,我们可以编程这样的东西吗?

我要打破堆栈溢出规则,把它作为一个答案而不是一个评论发布,因为我非常确定答案是,你不能(至少,不是你想象的那样),而且我相信它在一定程度上是有教育意义的

让我们假设可以建立一个简单性标准(类似于a)。在我看来,你们很快就要解决一个类似于或的问题了。我怀疑在一个典型代数所需的复杂规则系统中,你是否能找到一种方法,在不实际执行的情况下,对一系列项缩减的步数(当然是任意长度计算)给出正确和明确的答案。这样的回答意味着提前知道这样的计算是否可以终止,这与自动定理证明对于任何能够表示算术的足够强大的逻辑来说都是一种错误的事实相矛盾

在给定的例子中,教师实际上要么在心里进行计算(一步一步地,应用自己的规则序列),要么根据自己的经验进行估计。但是,没有一种通用算法可以保证他的步骤序列是最简单的,也没有一种通用算法可以保证他的结果表达式是最简单的(除了琐碎的表达式),因此任何对解的“距离”的量化都是毫无意义的

所有这些都是真的吗?你的问题很简单:你知道步骤的数量,你知道到目前为止你已经走了多少步,你把后者除以前者;-)

现在,回到简单性的标准,我也建议你们,特别寻找一个“简单性的标准,或者某些证明的最大简单性的证明”,以及稍微相关的。如果你在哲学上倾向于进一步理解这些主题,我建议你阅读经典



<强>进一步注释:< /强>理解为什么,考虑一个众所周知的数学伪像。通过确定任何特定

c
的方程
z(n+1)=z(n)^2+c
的解是否有界来计算每个像素颜色,即,“如果从
z(0)=0开始并重复应用迭代时,
z(n)的绝对值为复数
c
,则复数
c
是Mandelbrot集的一部分
保持有界,无论
n
变得多大。“尽管等式非常简单(你知道,求一个数的平方和一个常数的和),但如果不实际执行无限次迭代或找到一个循环,绝对无法知道它是否保持有界(忽略复杂的启发式)。从这个意义上说,每个分形都有一个粗略近似值,通常使用逃逸时间算法作为启发式,提供有根据的猜测解是否有界。

你说的“简化”是什么意思在什么系统中?根据什么规则?在数学表达式中没有什么作为“简单”的绝对量度。你认为哪一个更简单?<代码> 3(X+ 5)
3x+15
?两者的操作数相同;如果在树中表示这些项,则节点和边的数量完全相同。您可以通过某种算法对其进行简化,然后测量它们之间的差异,或计算简化所需的步数。这也将有助于您定义ex实际上你所说的“更简单”.@HugoSFerreira该方法可以为这些输入返回相同的值。好的,我将编辑我的问题。@Andrewpiler我已经制作了一个简化数学表达式的算法,但我希望它能够在不执行步骤的情况下估计它与解的接近程度。也许你可以检查第一个表达式和simpli之间的计算时间你的回答让我大吃一惊,它告诉我我还有很多东西要学。我刚刚意识到,在这位老师的例子中,他以前大部分时间都解决了问题,然后他知道计算将终止,并且或多或少需要多少步。难的是要估计bas基于经验。如果我们不需要找到确定的步数,只需要一个有一定误差的近似值呢?这仍然是不可能的?或者它仍然没有帮助?@gab06:你打算如何给计算机以直觉?:-)除了搜索空间对于相对简单的算术以外的任何东西都是难以处理的,你仍然有