我想制作一个程序,当给出一个公式时,它可以操纵公式来使公式的主题产生任何值(或在同时公式的情况下,一个公共值)。
例如,如果给定:
a + b = c
d + b = c
因此,该计划应该说:
b = c - a, d = c - b etc.
当我将原始公式作为输入时,我不确定java是否可以自动执行此操作。我对解决方程并得到每个变量的结果并不感兴趣,我只想回归一个被操纵的公式。
如果我需要为此制作算法,请告诉我,如果是,我将如何进行此操作。此外,如果您有任何有用的链接,请发布。
此致
答案 0 :(得分:1)
答案 1 :(得分:1)
我读了道格拉斯·霍夫施塔特(Douglas Hofstadter)的一本名为Fluid Concepts and Creative Analogies
的书,他谈到了这种代数操作,它会以其他方式自动重写方程式,试图将方程式连接到其他方程式,给出规则的无限(但有限制)方式。这是试图通过暴力证明尚未证实的定理/证据。
http://en.wikipedia.org/wiki/Fluid_Concepts_and_Creative_Analogies
Douglas Hofstadter的Numbo计划试图做你想做的事。他没有给你消息来源,只描述了它的工作原理。
听起来你想要一个程序来做高中学生在解决代数问题时所做的事情,从你知道某事的位置移动,修改它并将其与其他方程结合起来,以证明以前未知的东西。这需要强大的人工智能。这样做的大脑部分是Neo Cortex,它是科学的,它的工作原理尚未被理解。
如果你想要一些大学生在微积分中操纵方程式时会做的事情,你就必须建立一个相当强大的人工智能。
http://en.wikipedia.org/wiki/Neocortex
当我们可以对人类新皮质进行全脑仿真时,我会在这里发布答案。
答案 2 :(得分:1)
不确定你到底发生了什么,但是这个问题很难解决。很难。
事实上,给定一组“公式”(公理)和演绎规则(数学等价运算),我们无法推断给定公式是否正确。这个问题实际上是undecideable。
这个问题首先由希尔伯特解决Entscheidungsproblem
答案 3 :(得分:1)
是的,你需要编写一些算法来做这种计算机代数。至少