Macsyma(マクシマ)とは
Macsymaとは、数式を数値に置き換えずに記号のまま扱い、積分や式の簡単化などを行うコンピュータのプログラム(数式処理システム)です。米マサチューセッツ工科大学(MIT)で1968年の秋に構想が始まり、1969年7月から本格的に開発されました。AIの研究で作られた積分のプログラムから生まれ、1970年代にはネットワーク越しに全米の研究者が使ったのが特徴です。
英語表記:MACSYMA(Project MAC’s SYmbolic MAnipulator)
なぜ、数式のプログラムがAIの歴史に出てくるの?
始まりは、MITのマービン・ミンスキー氏のもとで1961年に博士論文を書いた、ジェームズ・スレイグル氏の積分のプログラム「SAINT」です。大学1年生の微積分の積分問題を、経験則(ヒューリスティック)を使って解くもので、スレイグル氏は、問題を小さな問題に分けて木の形に広げながら探す、という問題解決の考え方を試していました。
ジョエル・モーゼス氏は、SAINTが小さな問題を作りすぎることに気づき、1967年に積分のプログラム「SIN」を完成させます。実際に出会う問題のおよそ8割を占める簡単な問題を先に片づけ、次に式の形から決まった解き方を呼び出し、最後に一般的だが遅い方法を使う、という3段階の作りです。SAINTは場合によっては探索を際限なく続けましたが、SINは必ず計算が終わるようにできていました。2025年の計算機代数の歴史の論文は、AIで探索の量に頼るより、知識を使って解く方式を推し進めた仕事と位置づけています。SINという名前は、Symbolic Integratorの略で、SAINT(聖人)に対する「罪」のしゃれ。モーゼス氏自身が回想録で明かしています。
1968年の秋、モーゼス氏は、ウィリアム・マーティン氏と、米MITREで数式のプログラムMathlabを作ったカール・エンゲルマン氏とともに、3人のそれまでの成果を1つにまとめる計画を始めました。名付け親はモーゼス氏でした。開発には、MITで人工知能を研究するグループが使っていた計算機DEC PDP-6と、Lispが使われています。Lispは数値の計算が遅かったので、Lispそのものを速くする担当者まで雇っています。
誰が、どうやって使った?
同じ歴史の論文によると、Macsymaは1971年に外部へ公開されました。モーゼス氏の研究グループはやがて自前の計算機を持ち、のちのインターネットの前身にあたるARPANETを通じて、Macsymaを使えるようにします。使ったのは、大学、米航空宇宙局(NASA)や米海軍、米エネルギー省の研究所、企業の研究所の人たちで、多くは物理学者と数学者、それに技術者も混じっていた、と回想録にあります。
研究費を確保するために、利用者の組織(エネルギー省、NASA、海軍、石油の井戸の調査を手がけるシュルンベルジェ社)で「Macsymaコンソーシアム」も作りました。新しく入った計算機の呼び名は、その頭文字を取った「MC」。
その後、どうなった?
1980年代の初め、モーゼス氏は、保守と改良は大学の外の会社で続けるべきだと考え、事業化を進めます。では、その会社はどう決まったのでしょうか。MITの判断で、使用許諾の相手はコンサルティング会社のアーサー・D・リトルが選ぶことになり、選ばれたのは、MITの研究所で働いていた人たちが、Lisp専用の計算機(LISPマシン)を売るために作ったSymbolics社でした。モーゼス氏は、自社の専用機を売りたい同社にとって、他社の計算機で動くMacsymaは競合になると考え、良くない選択だと確信していたといいます。
回想録によると、他の機種への対応は十分に進まず、Macsymaは10年もしないうちにMathematicaなどほかのシステムに追い越されました。のちにエネルギー省はMITから写しを受け取り、誰でも使えるものとして公開しています。権利はその後、Macsyma, Inc.という会社に移りました。モーゼス氏はこの事業化を、自分の経歴で最も落胆した出来事の1つと振り返っています。
Topic1970年代の初め、ARPANETで指折りの人気サイトは、Macsymaの計算機だった
モーゼス氏の回想録によると、1970年代の初めのある時期、Macsymaを動かしていたMITの研究グループの計算機は、ネットワーク越しに使いに来る人の利用量で、ARPANETの上位2つのサイトに入っていました。別の箇所では、一時期はARPANETで2番目に人気のあるサイトで、それはMacsymaを使う人がいたからだ、とも書いています。5年ほどで技術を生み出して外へ移すことを使命としていた資金元のARPAは、これを喜んだそうです。数式を記号のまま解く道具が、当時のネットワークで指折りの人気サービスだったわけです。
Macsymaに関するよくある質問
- MacsymaとMaximaは、どういう関係ですか?
- Maximaは、Macsymaの流れをくむ数式処理システムです。Maximaの公式サイトによると、ウィリアム・シェルター氏が1982年から2001年に亡くなるまでこの系統を保守し、1998年にソースコードをGNU一般公衆利用許諾書(GPL)のもとで公開する許可を得ました。その後も有志が、米エネルギー省版のMacsymaのコードを受け継いで開発を続けています。2025年の計算機代数の歴史の論文も、こうしたシステムを、いまも保守され使われている最も古いソフトウェアの部類に数えています。
- 式の「簡単化」とは、どういうことですか?
- モーゼス氏は回想録で、簡単化のやり方を3つに分けています。0や1の扱いや、2xと3xを足して5xにするくらいの決まりは知っていても、(x+1)(x+2)を展開まではしない「一般的な簡単化」。同じ値になる式を、必ず同じ標準の形にそろえる簡単化(多項式なら易しくても、対数や指数が入ると難しくなる)。そして積分のために作った、その中間の形です。中間の形は、式が同じ形にそろうとは限りませんが、2つの式が等しいかどうかは見分けられます。モーゼス氏は「積分の鍵は簡単化にあり、簡単化の鍵は式の表し方にある」と書いています。