Mathematicaの中身

数学の研究は、紙と鉛筆と人間の頭脳だけで進められていると思いがちだけど、
最近は、数式処理を行うソフトウェアを活用する例も多いらしい。

特にWolfram Mathematicaは秀逸で、大学などでも広く使われている。

Mathematicaのオンライン版とも言える、Wolfram Alphaについては、これまでにも本ブログで何回か紹介した。
Wolfram Alpha http://www.wolframalpha.com/

関連エントリ
数学:Wolfram Alpha
数学: Walfram MathWorld
数学の学習: Walfram Demonstrations Project
Wolfram Alpha で積分の問題を解く

では、このような数式処理は、どのようにして実現されているのだろう。
コンピュータを使って、1+2×3÷7 というような数値計算ができるのは、あまり不思議に感じないが、
x^2 + ax + bx + ab = (x + a)(x + b)のような数式処理(記号処理)が行えるのはとても不思議に思える。人工知能のようなものが無いとできないような気がする。

このような数式処理とは、ざっと言ってしまえば、膨大なパターンマッチングである。
与えられた式が、予め準備された公式のどれに適合するか調べ、そのルールに従って式を変形するというもの。

つまり、定められたルールに従って記号処理を行う、機械的な手続きに過ぎないと言うことができる。「知能」と呼ばれるようなものが組み込まれているわけではないのだ。(それでも、我々からすると、まるで素晴らしい知能を持っているかのように見えてしまう。)

Mathematicaの内部がどのように実現されているかについては、次のWebページで公開されている。
内部実装について (Wolfram Mathematica ドキュメントセンター)

超 面白くて眠れなくなる数学

超 面白くて眠れなくなる数学