当前位置: 编码机 >> 编码机优势 >> 陶哲轩用大模型解决数学问题生成代码编辑
机器之心报道
编辑:小舟
数学研究工具可以随AI模型的进展更新一波了。
几个月来,数学家陶哲轩多次尝试使用ChatGPT辅助解决数学问题,并与大家分享他的试验结果。网友在围观的同时还会和陶哲轩进行一些交流,或者给出ChatGPT的使用技巧建议。
今天,陶哲轩又尝试用ChatGPT生成可采用LaTeX表达式的程序代码,并最终得到了一段可用的VSCode代码。
陶哲轩表示ChatGPT能够生成涉及正则表达式的复杂代码片段,并且很有效。
具体来说,他想要一个可以采用LaTeX表达式(例如(x+y=z))的代码片段,并将\left和\right作为分隔符(例如\left(x+y=z\right)。
为了解决这个问题,ChatGPT进行了两次尝试,并且是以「多轮对话」的形式完成的。首先,陶哲轩详细描述了一个关于(x+y=z)的编码需求:
ChatGPT首先根据要匹配的文本格式给出了正则表达式,并且对正则表达式的每一部分给出了详细的解释,最后给出了一段VSCode代码:
ChatGPT给出的第一段代码具体如下:
{"Add\\leftand\\right":{"prefix":"leftright","body":["{TM_SELECTED_TEXT/\\(([^)]+)\\)
\\[([^]]+)\\]
\\\\{([^}]+)\\\\}/\\left0123\\right0/g}"],"description":"Add\\leftand\\righttoselectedtext"}}
然而,这段代码存在错误,陶哲轩给ChatGPT指出了这个错误,然后ChatGPT就重新对原问题给出了一个正确的解答,生成了一段VScodeJSON格式的代码:
ChatGPT给出的第二段代码具体如下:
{"Add\\leftand\\right":{"prefix":"leftright","body":["{TM_SELECTED_TEXT/(\\()([^)]+)(\\))
(\\[)([^]]+)(\\])
(\\\\{)([^}]+)(\\\\})/\\left{1}{4}{7}{2}{5}{8}\\right{3}{6}{9}/g}"],"description":"Add\\leftand\\righttoselectedtext"}}
除了日常使用AI工具辅助解决数学问题,陶哲轩最近还表示自己在一篇即将发表的论文中,使用了AI工具来编辑排版数学公式,具体来说是使用了VSCode+TeXLive+LaTeXworkshop+GithubCopilot。
值得一提的是,这个「神器组合」是来源于一位网友的建议。
前几天,陶哲轩尝试使用ChatGPT写Python代码来计算Phi非递减序列的数学问题,结果ChatGPT生成了一个非常聪明的程序来计算totient函数,但部分地方存在计算偏差。
在讨论中,陶哲轩提到:「完整正确的Python代码对解决数学问题有很大帮助,但他不常用Python编写代码,GPT提供的代码有些许错误,需要手动改正。」有网友随即建议将GitHubCopilot和VSCode结合使用:
陶哲轩表示从20世纪90年代开始,每隔五到十年,他就会尝试更新公式编辑器,已经过数次迭代。陶哲轩也分享了他最新采用的VSCode+TeXLive+LaTeXworkshop+GithubCopilot的使用效果。
他在VSCode中设置了一个触发词「cor」,以创建推论环境:
GithubCopilot则在填写代码片段方面起到了很大的作用:
相比于ChatGPT,GithubCopilot是专门为生成代码而构建的AI工具,因此生成的代码准确性更高,效率也更高。
看来,AI工具,特别是大模型将对数学研究起到十分重要的作用,还有很多应用潜力待研究者们发掘。
参考链接: