6个案例说明ChatGPT可以解决的数学问题
早期ChatGPT的逻辑推理和算数能力一直为人所诟病,但经过OpenAI的多次升级以后,它的算数能力已不可同日而语。ChatGPT4配合Wolfram插件的效果更是令人惊叹。为了深入了解ChatGPT的数学能力,我给它找了6个问题,从简单的加减乘除到复杂的微积分,甚至还有比微积分更高阶的问题。经过测试以后,我总结了它可以解决的数学问题和它存在的一些限制,帮助大家深入了解它的能力从而更好地利用这个工具。
简单的加减乘除
生活当中大家难免会遇到加减乘除问题,让我们来看看交给ChatGPT的效果怎么样。下面是我和ChatGPT4的一段对话,大家来品鉴品鉴。(PS: 用英文来提问效果更好哟:))
我的提问:
假设你正在筹备一个15人的Party(团建)。你预估每个人可以吃2片披萨,而每个披萨有8片。你还要确保每个人都有2瓶苏打水,而苏打水是6瓶一打的。此外,你还要给每个人1个装有3块糖的礼品袋,而糖果是10个1包的。请问:你需要购买多少个披萨饼,多少打苏打水和多少包糖果?
来看看ChatGPT4的回答:
让我们逐项分析一下:
披萨: 如果每个人吃2片,有15个客人,你就需要15个客人*2片/客人=30片。 每个比萨饼有8片,所以你需要30片/8片每个披萨=3.75个披萨。由于你不能买半个披萨,你需要四舍五入到下一个整数。因此,你需要4个披萨饼。
苏打水: 如果每个人喝2瓶,有15个客人,你需要15个客人*2瓶/客人=30瓶。 苏打水是6瓶装的,所以你需要30瓶/6瓶没打=5打。这里,你有一个整数,所以不需要四舍五入。你将需要5打苏打水。
糖果: 如果每个人有3块,总共15个客人,你就需要15个客人*3块/客人=45块。 糖果是10块一包的,所以你需要45块/10块每包=4.5包。同样,你不能买半包糖果,所以你要四舍五入到下一个整数。你将需要5包糖果。
所以,你总共需要买4个披萨,5打苏打水和5包糖果。
它的回答还不错吧,结构清楚,条例清晰。
指数、根、三角函数
加减乘除在日常生活中的使用场景很广泛,你可以很方便地打开Siri,激活ChatGPT,通过语音把问题交给移动端的ChatGPT。在很多情况下,应该要比打开计算器更方便快捷吧。而且我认为这样操作也很有趣。
相比与加减乘除来说,指数、根和三角函数是数学里面更高阶的内容,我们通常会在初高中遇到它们。
指数是我们在阅读各种新闻中经常提到的词汇,比如某某公司的市值呈指数增长。如果说乘法是更快速的加法,比如5乘以3就相当于把5加了三次;那么指数就是更快速的乘法,比如5的三次方就是把5乘了三次—5x5x5。
指数在很多领域的应用很广泛,比如在金融领域,复利就是用指数来计算的。你把赚取的利润再投资,随着时间的推移,你的回报会以指数增长。
让我们来看下ChatGPT能否解指数方程式。下面是我给ChatGPT的问题:
解下列方程:
ChatGPT的回答:
给出方程:
6^(2x) = 6^(1 – 3x)
方程两边的基数是一样的(也就是6),所以我们可以把指数设为相等的:
2x = 1 – 3x
接下来,求解x:
2x + 3x = 1 5x = 1
最后,两边都除以5,得到:
x = 1/5
所以,方程的解是x=1/5。
可以看到,ChatGPT不仅给出了答案,而且对每一步都有合乎逻辑的过程解答。这里我用的是LaTeX格式来提交公式,这个例子说明ChatGPT是可以理解这种复杂而精确的数学排版格式的。当然你也可以用更自然的语言,比如6^(2x)=6^(1 – 3x)来描述这个公式。
如果说指数是更快速的乘法,那么根则与之相反。比如当你看到平方根符号√后面跟着9的时候,你应该这样问自己:“我应该用哪个数乘以自己可以得到9”。答案是3,因为3乘以自己等于9。这个就是根里面的平方根。
我们来看下ChatGPT能否理解数学里的根运算。再给它一个公式:
已知,求y。
ChatGPT的回答:
让我们一步一步地简化给定的方程:
√(y² + 13) = 7
为了去掉平方根,我们可以对方程的两边进行平方。将√(y²+13)平方,就可以得到y²+13,而将7平方,就可以得到49。
所以,y²+13=49
从两边减去13,就可以得到y²:
y² = 49 – 13 y² = 36
用两边的平方根来解决y的问题,可以得到:
y = √36
这就产生了两个解决方案,因为y可能是36的正方根或负方根:
y=6或y=-6
因此,原方程所对应的y值是y=6和y=-6。
有人可能会觉得输入LaTeX很麻烦,其实也可以用很通俗的语言来提问,效果是一样的:
这里ChatGPT还是用自然语言给出了解答步骤和最终答案,那么它能否输入漂亮的公式呢?
答案是肯定的,只要你装了Wolfram这个插件。
下面的回答是装了Wolfram的ChatGPT回答的:
可以看到输出的是漂亮的公式而非自然语言。它直接给出了正确答案,虽然没有包含具体的计算步骤。
上图的黑色文本框是点击“Used Wolfram”右边的下拉箭头打开的,它展示了Wolfram计算的过程。打开最底部的链接,可以进入WolframAlpha的页面,如下图所示。
打开网页之后我并没有做什么就直接得到了图中的答案和漂亮的函数曲线。其实当我把问题抛给ChatGPT以后,ChatGPT和Wolfram之间进行了交流,然后Wolfram把问题转化成Wolfram可以理解的Wolfram语言进行计算—solve sqrt(y^2 + 13) = 7 for y。
Wolfram语言也是一种计算机编程语言,在数学领域它不仅可以处理复杂的方程式,还可以求微积分,处理统计学、图论等其他问题。虽然它很强大,而且非常直观,语法很接近自然语言,但是对于不涉及数学、数据分析或机器学习的人来说,掌握它的机会成本还是挺大的。
ChatGPT的出现大大降低了使用Wolfram语言的门槛。有了Wolfram这个插件,ChatGPT就可以帮你调用强大的Wolfram语言,你可以随心所欲地提出各种非常复杂的数学问题。
至于三角函数,就有点复杂了。它就像一个处理三角形及其角度的特殊工具箱。你知道在一个直角三角形中,有一个角是90度,对吗?那么,三角学可以让你根据一些信息计算出边的长度或其他角的大小。它在很多专业领域,如工程或建筑,都非常有用。
我们来看这个三角函数问题:
已知,,求,,和。
让我们来看看ChatGPT的答案:
考虑到sin α = 5/13和α位于第二象限(π/2 < α < π),我们可以用勾股定理来求cos α。
勾股定理是 sin² α + cos² α = 1。
如果我们求解cos α,我们可以得到:
cos α = ± sqrt(1 – sin² α)
将sin α的值代入:
cos α = ± sqrt(1 – (5/13) ²) cos α = ± sqrt(1 – 25/169) cos α = ± sqrt(144/169) cos α = ± 12/13
然而,由于α位于余弦为负数的第二象限,我们只取其负根:
cos α = -12/13
接下来,我们用tan α = sin α / cos α这一特性来求tan α:
tan α = (5/13) / (-12/13) = -5/12
最后,我们用cot α = 1 / tan α的关系求出cot α:
cot α = 1 / tan α = 1 / (-5/12) = -12/5
所以,如果sin α = 5/13,π/2 < α < π,那么cos α = -12/13,tan α = -5/12,而cot α = -12/5。
解答的步骤还是很清晰的,看起来也没有问题,最终的答案是否正确呢?我们来看看装备了Wolfram的ChatGPT给出的答案:
图中我们可以看到,ChatGPT首先根据自己的理解给出了大致的解决方案,然后把具体的一步一步的计算交给Wolfram去处理,最终得到了答案。这个答案和没有用Wolfram插件得到的答案是一样的。
微积分和其他更高阶的数学问题
微积分研究的是变化和运动。它主要分为两个部分,微分和积分。微分处理的是变化率,比如速度是位置的变化率。它让我们真正仔细观察事物的瞬间变化。积分处理的是累积,比如把你走过的各小段的距离加起来算出你总体的移动距离。它让我们把很多微小的东西加总起来从而了解整体。
微积分的应用范围也很广泛,比如在物理学中用来计算火箭的飞行轨迹,在经济学中研究怎样把利润最大化或者成本最小话,在生物学中可以模拟物种的增长。
我们来给ChatGPT出一道微积分问题:
求不定积分:
让我们来看看ChatGPT的回答:
让我们用置换法来处理这个积分。
让我们设定:
那么,u相对于x的导数是:
两边都乘以dx,就可以得到:
从原始积分中,我们可以看到分子(4x^5 – 1)与我们得出的du有一点偏差。为了解决这个问题,我们可以将积分中的分子重写如下:
4x^5 – 1 = 4(x^5 + x + 1) – 4(x + 1)$
现在,将替换为,将积分中的替换为:
现在,这个积分可以被分解成两个独立的积分:
第一个积分可以直接解决,因为它现在是4/u的积分,但是第二个积分仍然包含x$,这需要处理一下。
不幸的是,如果没有进一步的信息或背景,第二个积分不能用基本函数求解,因为它涉及两个不同的变量(和)。看来,这个积分的表述可能是错误的,或者需要额外的信息才能继续。
可以看到,虽然ChatGPT知道微积分的一些基本解法,但是具体执行起来还是挺吃力的,而且无法显示公式看起来也不直观。当然这并不表示ChatGPT无法解决任何微积分问题,也许换个问题它就行了。
来看看我激活了Wolfram插件以后ChatGPT的回答:
ChatGPT只调用了一次就得到了正确答案。
我们也可以去WolframApha并输入上图里的Wolfram语言“Integrate[(4*x^5 – 1) / (x^5 + x + 1)^2, x]”让Wolfram直接帮我们进行计算。
我们再来看看比微积分更高阶的问题—微分方程。如果把微积分比作游戏的话,那么微分方程就是打Boss的环节。微积分在数学中已经相当高级了,它涉及变化率和数量的累计。继续提高级别,到达微分方程时,处理的不仅仅是静态的变化率,而且是基于其他变量的变化率的方程,可以为当前变化率影响未来行为的系统建模。比如预测疾病(新冠)的传播,模拟气候变化等等。
来看看这个交给ChatGPT的问题:
将代入以求得特定解。
ChatGPT这样回答:
给出微分方程和解的形式,我们可以按以下方法找到特定的解:
首先,计算相对于t的导数:
将和代入微分方程:
简化方程的左边:
接下来,两边都除以:
因此,微分方程的一个特定解是。
ChatGPT的思路很清晰,并给出了答案。我们来用Wolfram插件验证一下:
可以看到两个答案是一致的,并且也都是正确答案!
我们再来看点特别的—抽象代数。如果说微分方程像微积分游戏里的打Boss环节,那么抽象代数就像是游戏里秘密的奖励关卡。 抽象代数不是直接处理数字,而是关注数字背后的结构和模式。因此,虽然它可能看起来更抽象(因此得名),但它有一些令人惊讶的实际应用。例如,在计算机科学中,它被用于数据结构和代码调试等方面。它也被用于密码学—所以每次你在网上进行安全交易时,你都间接地使用了抽象代数!
我找了一个加州大学伯克利分校出的题目:
已知定义为
请证明是一个重排/置换(permutation) 并描述它的轨道(orbit)。
来看看ChatGPT的回答:
如果一个函数是一个双射函数(bijective),也就是说它既是单射(injective),又是满射函数(surjective)或射向(onto),那么它就是一个重排/置换(permutation)。
函数σ的定义是从集合{0,…,15}到它本身,并分成两种情况:
- 当x<12时,σ(x)=x+4。这里,x的每一个值从0到11都会被映射到4到15的一个唯一值,涵盖了12个不同的值。
- 当x≥12时,σ(x)=x-12。这里,x的每个值从12到15都被映射到0到3的唯一值,涵盖了4个不同的值。
由于域{0,…,15}中的每个元素都被映射到同一集合中的唯一元素,并且集合中的所有元素都被考虑在内,所以σ是一种双射,因而也是一种置换。
σ的轨道是在重复应用σ的情况下相互映射的元素集合。
- 对于[0,4,8]中的x,反复应用σ将导致这些数字之间的循环。因此,一个轨道是{0,4,8}。
- 对于[1,5,9]中的x,重复应用σ将导致这些数字之间的循环。所以,另一个轨道是{1,5,9}。
- 对于[2,6,10]中的x,重复应用σ将导致这些数字之间的循环。因此,另一个轨道是{2,6,10}。
- 对于[3,7,11]中的x,重复应用σ将导致这些数字之间的一个循环。因此,另一个轨道是{3,7,11}。
- 对于[12,0]中的x,反复应用σ将导致这些数字之间的一个循环。因此,另一个轨道是{12,0}。
- 6.对于[13,1]中的x,反复应用σ将导致这些数字之间的循环。因此,另一个轨道是{13,1}。
- 7.对于[14,2]中的x,反复应用σ将导致这些数字之间的循环。因此,另一个轨道是{14,2}。
- 8.对于[15,3]中的x,重复应用σ将导致这些数字之间的循环。因此,另一个轨道是{15,3}。
所以,σ的轨道是{0,4,8},{1,5,9},{2,6,10},{3,7,11},{12,0},{13,1},{14,2},和{15,3}。
虽然ChatGPT的推理很有条理,但是并没有给出正确答案,下图才是正确的解答。
我们来看看装了Wolfram插件的ChatGPT能否正确解答这个问题:
如果一个函数是一个双射函数(bijective),也就是说它既是单射(injective),又是满射函数(surjective)或射向(onto),那么它就是一个重排/置换(permutation)。
函数定义为是一个置换,因为:
- 它是单射的: 对于域中任何两个不同的输入和,它们的输出和都不同。这是因为该函数要么加4(如果),要么减12(如果),这两种方法都能保持输出的唯一性。
- 它是满射的: 陪域中的每个元素都是域的一些输入的输出。 这是因为该函数覆盖了陪域中所有可能的输出。
一个置换的轨道是置换产生的循环(cycle)。在这种情况下,函数(σ)每16步就循环一次,因为它把映射自身。
为了找到轨道,我们可以将函数重复应用于域的每个元素,直到我们返回到起点。让我们来计算轨道。
很抱歉,我耽误了时间。让我们手动计算一下轨道。
从0开始,我们有:
所以一个轨道是{0,4,8,12}。
如果我们从1开始,我们有:
所以另一个轨道是{1,5,9,13}。
继续这个过程,我们发现剩下的轨道是{2, 6, 10, 14}和{3, 7, 11, 15}。
所以排列组合的轨道是{0, 4, 8, 12}, {1, 5, 9, 13}, {2, 6, 10, 14}, 和{3, 7, 11, 15}。
这个答案是正确的。
虽然ChatGPT在解决高阶的数学问题方面有些吃力,但是借助于Wolfram这个插件,它还是游刃有余的。
ChatGPT结合Wolfram可以解决哪些数学问题
ChatGPT结合Wolfram强大到可以解决广泛的数学问题。这个综合系统将利用ChatGPT的语言理解和解决问题的能力与Wolfram Alpha的计算能力和数学能力。
它可以解决如下数学问题:
- 算术计算和代数方程: 该系统可以解决基本的算术问题和复杂的代数方程。Wolfram Alpha的计算能力确保了解决方案的准确性,而ChatGPT在很多情况下可以提供清晰的步骤。
- 微积分: 该组合系统可以处理微积分问题,包括导数、积分、极限和微分方程。Wolfram Alpha可以快速准确地计算这些问题,而ChatGPT在很多情况下可以解释这个过程和每个步骤背后的意义。
- 线性代数: 涉及矩阵运算、行列式、特征向量和特征值的问题可以得到解决。Wolfram Alpha可以处理这些计算,而ChatGPT在很多情况下可以以一种可理解的方式展示解决方案。
- 三角函数: 该系统可以简化三角函数表达式,解决三角函数方程,并解释各种三角函数原理的使用。
- 离散数学: 可以解决与数论、组合学和图论有关的问题。这包括质因数化、模块化算术、排列组合和图论。
- 概率论和统计学: 该系统可以处理与概率分布、假设检验、回归分析和贝叶斯推断有关的问题。Wolfram Alpha可以提供精确的计算,而ChatGPT在很多情况下可以将复杂的统计概念分解成可理解的解释。
- 几何学: 它可以解决与点、线、图形和实体有关的问题,包括寻找面积、体积和解决几何证明。
- 微分方程: 可以处理常微分方程和偏微分方程。
- 逻辑和集合理论: 该系统可以处理命题逻辑、谓词逻辑和集合运算。
ChatGPT+Wolfram在解决一些数学问题的限制
之前案例相比大家都看到了,虽然ChatGPT和Wolfram在解决数学问题上是一个很理想的组合,但还是存在一些限制。数学是一个讲究精确度的科学,因此了解ChatGPT的能力和限制就变得很重要。深入的了解可以帮你得出更多正确的答案,避免一些不必要的错误。
下面是它存在的一些限制:
- 语境理解: 即使集成了Wolfram Alpha,在某些情况下,它仍然无法准确地理解上下文,它仍然需要你给他一些必要地提示词。
- 不完美组合:虽然Wolfram Alpha可以提供分步骤的解决方案,ChatGPT也可以生成详细的解释,但其质量、准确性可能有所不同,导致两者在某些情况下无法很好地协同。
- 复杂问题的解决: ChatGPT极端地复杂问题上有些吃力,而Wolfram Alpha在抽象数学上有些限制。两者的结合在处理高级理论问题、多步骤问题和提供严格的证明方面可能会有困难。
- 有限的计算能力: 对于特别复杂的系统性的计算或大型方程系统,如果计算量过大,系统可能难以提供答案。
- 访问限制: 有时候它只能提供粗略的答案,更完善的答案需要访问Wolfram Alpha网站。要使用某些高级功能需要订阅专业版。
- 有限的的专业度: 虽然ChatGPT调用Wolfram Alpha可以进行详细的计算,但对于某些复杂的方程式或关键的应用,生成的结果应该由人类专家来验证。
- 有限的视觉处理能力: 由于这两个工具在处理视觉数据方面的局限性,在某些情况下无法解释和处理数学问题中的图形信息。
- 对互联网的依赖性: ChatGPT和Wolfram Alpha都是在线工具,所以它们需要 才行。