The Dartmouth Workshop ー as planned and as it happened

下記はジョン・マッカーシーのホームページで公開されている記事です。 AI -- PAST AND FUTURE とのタイトルが見えるので、「人工知能」誕生50周年を記念して 2006年7月に開催されたカンファレンス AI@50 でのマッカーシーの講演に関連していると思われますが、 記録されている日付が10月なので 開催後に書かれた記事です。


ダートマスワークショップ -- 計画と実際

1956年のダートマスワークショップの人工知能に関する4人の主催者は、ジョン・マッカーシーマービン・ミンスキーナサニエルロチェスタークロード・シャノンでした。ワークショップにはいくつかの前史があります。

私自身の人工知能への興味は、私が数学の大学院での学習を始めていたカリフォルニア工科大学で開催された1948年9月のヒクソン行動の脳機構シンポジウムに参加したことで刺激されました。このシンポジウムではコンピュータと脳が比較されましたが、その比較はかなり理論的なものでした。なぜなら最初の記憶プログラムコンピュータは1949年に完成したばかりだったからです。知的なコンピュータプログラムのアイデアはシンポジウムの議事録にはありませんが、議論された可能性があります。私は知的な有限オートマトンについていくつかの考えを展開しましたが、それらは不十分だと感じ、発表しませんでした。その結果、私は1951年にプリンストン大学微分方程式の博士論文を書きました。

マービン・ミンスキーは独自に人工知能となったものに興味を持ち、1950年にハーバード大学の学部最終学年でディーン・エドムンズと共に単純なニューラルネット学習機を構築しました。プリンストン大学では、ミンスキーは人工知能への関心を追求し、彼の1954年の博士論文はニューロンが普遍的な計算要素であるための基準を確立しました。

クロード・シャノンは1950年にチェスプログラムを提案し、知能のいくつかの特徴を示す多くの小さなリレーマシンを構築しました。そのうちの1つは、目標を見つけるために迷路を探索するマウスでした。

1952年の夏、シャノンはベル電話研究所で私とミンスキーをサポートしました。私の取り組みの結果、チューリングマシンによって定義される関数の反転に関する論文が生まれました。しかし、私はこの人工知能へのアプローチにも満足していませんでした。

1952年にシャノンと私は、多数の研究者に寄稿してもらうために『Automata Studies』と題した一連の論文を依頼しました。この論文集は最終的に1956年に出版されました。

私は1954年にダートマス大学に赴任し、IBMナサニエルロチェスターから1955年の夏をニューヨーク州ポキプシーの情報研究部門で過ごすよう招待されました。ロチェスターIBM 701コンピュータの設計者でした。

IBMでの滞在中、ロチェスターと私はミンスキーとシャノンを誘い、ダートマスワークショップの提案を行いました。1955年8月にロックフェラー財団から資金を要請する提案が書かれ、それが「人工知能」という用語の源泉となりました。この用語は、機械が知的に振る舞うことに関するAutomata Studiesの論文があまりにも少ないことに(少なくとも)失望していたため、私たちは参加者の注意を集中させたかったのです。

提案の最初のアイデアは、参加者がダートマスで2か月間集団で人工知能に取り組み、大きな進歩を遂げることを期待していました。

しかし、それは3つの理由からうまくいきませんでした。まず第一に、ロックフェラー財団は私たちが要求した資金の半分しか提供してくれませんでした。第二に、これが主な理由ですが、参加者はそれぞれ独自の研究課題を持っており、それらからそれほど逸れることはありませんでした。そのため、参加者は様々な時期にダートマスにやってきて、さまざまな期間滞在しました。

ダートマスで重要な役割を果たした可能性がある2人の人物は、最初にコンピュータプログラミングが人工知能を実現する主要な方法であると理解したアラン・チューリングと、ジョン・フォン・ノイマンです。チューリングは1954年に亡くなり、1956年の夏までにはフォン・ノイマンはすでにがんで病気になっており、1957年初頭に亡くなりました。

ダートマスでその夏には何が起こったのでしょうか?

わずか数日しか滞在しなかったニューウェルとサイモンはショーの主役でした。彼らは論理理論マシンを紹介し、その出力を学生の被験者のプロトコルと比較しました。学生は命題論理を理解する必要はなく、与えられたルールに従って記号列を操作するだけでした。彼らはまた、リスト構造による式の表現とそれらのIPL言語について説明しました。

リスト構造は素晴らしいアイデアだと考えましたが、IPL言語は好きではありませんでした。すぐに機械語でコーディングされたリスト処理のプリミティブな操作を組み込んだFortranの使用を考えました。当時はFortranのマニュアルが存在しましたが、実用的なFortranはまだ完全に準備ができていませんでした。

IBMのアレックス・バーンスタインは、彼の構築中のチェスプログラムを発表しました。私の反応は、彼にアルファベータ剪定を発明して勧めました。しかし、彼は納得しませんでした。

私の一般的な常識の知識や数理論理による推論を表現するアイデアはまだ十分に整理されていなかったため、それらを発表することはできませんでした。もし会議に論理学者がいたら、彼らの興味と助けを期待していたかもしれません。その主題に関する論文を発表できるようになるまでには、さらに2年かかりました。

ミンスキーは、図形で真であるとされる文を証明しようとすることによって、組み合わせ爆発を大幅に回避する平面幾何学の定理証明機のアイデアを発表しました。ナット・ロチェスターはこのアイデアIBMに持ち帰り、新しくIBMに雇われたハーバート・ゲレンターに私のコンサルタントとして取り組むよう指示しました。ゲレンターはプローバーの実装にFortranリスト処理言語を開発しました。1958年、FLPLが再帰やその他の不適切な要素を許可しないという事実に応じて、私はLispを提案しました。

私は自分の科学的な興味と交差するダートマスでの出来事についてはよく覚えていますが、これは何が行われたかの包括的な説明ではありません。ここで無視している良い成果には、レイモンド・ソロモノフのアルゴリズム情報に関する研究やE・F・ムーアのオートマトンに関する彼の考えのさらなる発展が含まれます。

ダートマスから何が生まれたのでしょうか?

私が思うには、主に人工知能の概念が科学の一分野として生まれたことです。 このことだけでも多くの人々が自分自身の方法で人工知能の目標を追求するようになりました。

私の人間レベルの人工知能への突破への期待はダートマスでは実現されませんでした。 そして過去50年間で人工知能は非常に進歩しましたが、 私は突破口のために新しいアイデアが依然として必要だと考えています。

1956年以降は何が起こったのでしょうか?

人工知能の研究は、 おそらく1956年以前から、 神経系の模倣に基づくアプローチと、 生存を含む目標達成を試みる人間、動物、および機械が世界から直面する問題を考える工学的アプローチに分かれています。 どちらも人間レベルの人工知能を達成していません。 片方のアプローチを放棄し、 すべてのリソースをもう一方に投入すべきだとする提案は愚かであり、 実現する可能性も低いです。 私自身は工学的アプローチに限定して取り組みます。

工学的アプローチの中で、最も大きな成功は特定のタスクに対するコンピュータプログラムの作成で達成されています。例えば、チェスのプレイやオフロード車の運転などです。これらのいずれも一般的な常識的な知識を持っていると主張していません。したがって、チェスプログラムは自分自身がチェスプログラムであることを知りません。彼らの本体論は主に特定の位置で構成されています。

「常識を持つプログラム」と題された[#!McC59!#]を始めとする論理的AIアプローチは、原則としてより野心的です。これには世界に関する事実を数理論理の言語で表現し、論理的推論によって問題を解決することが必要です。これには克服されたものも含めて多くの困難があり、それらを克服するための提案もあります。それにもかかわらず、人間レベルのAIに到達するための信憑性のある計画はまだ十分に受け入れられていません。

私は数年間、一般的な常識の知識と推論を表現するために数理論理を拡張する必要があると考えてきました。これらの拡張は、ゲーデルの1929年の一階述語論理の完全性定理という観点からは矛盾するように思われるかもしれません。(これをゲーデルの1931年の形式化された算術の不完全性定理と混同しないでください。)1929年の定理は、ある前提のすべてのモデルで真である文は、これらの前提からの証明があると私たちに伝えています。したがって、論理の真の拡張は、前提のいくつかのモデルで真でない文を推論することを可能にする必要があります。

さまざまな形式化された非単調推論のシステムはまさにそれを行います。これらは、前提の優先モデルで真である文を推論することを可能にします。人間の常識的な推論はしばしば非単調であり、人間レベルの論理的AIには非単調な推論が必要ですが、これをどのように十分に一般的な方法で行うかはまだ発見されていません。

非単調推論の必要性は人工知能ではよく認識されていますが、特定の領域では、人間の設計者がしばしばどの解釈が優先されるかを決定し、単調な推論のみをコンピュータに委ねることがあります。これは汎用性を犠牲にしたものです。

非単調推論に加えて、私は常識的な推論を行うために論理を拡張するための他の提案を行っています。これにはオブジェクトとしての概念を持つシステム、オブジェクトとしての文脈を持つシステム、および当てはまる定義で特徴付けることができないエンティティを認めることが含まれます。私は論理が常識を十分にカバーする前にさらに多くのことが必要だと確信しています。私の提案はここやそこで発表された記事にありますが、すべて私のウェブページ http://www-formal.stanford.edu/jmc/ から入手できます。

論理を拡張するための提案に加えて、計算をより効率的に行うために論理を制限する多くのシステムがあります。私は完全な論理を使用したいと考えていますが、効率的な推論を決定するために自身の推論手法について推論できるシステムを望んでいます。これらの年月が経っても、具体的な提案をすることができていません。

John McCarthy
2006-10-30

The Dartmouth Workshop -- as planned and as it happened

The four organizers of the 1956 Dartmouth Workshop on artificial intelligence were John McCarthy, Marvin Minsky, Nathaniel Rochester, and Claude Shannon. The workshop has some prehistory.

My own interest in AI was triggered by attending the September 1948 Hixon Symposium on Cerebral Mechanisms in Behavior held at Caltech where I was starting graduate work in mathematics. At this symposium, the computer and the brain were compared, the comparison being rather theoretical, since the first stored programmed computers were completed only in 1949. The idea of intelligent computer programs isn't in the proceedings of the symposium, although it might have been discussed. I developed some ideas about intelligent finite automata but found them unsatisfactory and didn't publish. Consequently, I wrote my Princeton PhD thesis in differential equations in 1951.

Marvin Minsky was independently interested in what became AI and in 1950, while a senior at Harvard built, along with Dean Edmunds, built a simple neural net learning machine. At Princeton, Minsky pursued his interest in AI, and his 1954 PhD thesis established the criterion for a neuron to be a universal computing element.

Claude Shannon proposed a chess program in 1950, built many small relay machines exhibiting some features of intelligence, one being a mouse searching a maze to find a goal.

In the summer of 1952 Shannon supported Minsky and me at Bell Telephone Laboratories. The result of my efforts was a paper on the inversion of functions defined by Turing machines. I was unsatisfied with this approach to AI also.

Also in 1952 Shannon and I invited a number of researchers to contribute to a volume entitled Automata Studies that finally came out in 1956.

I came to Dartmouth College in 1954 and was invited by Nathaniel Rochester of IBM to spend the summer of 1955 in his Information Research Department in Poughkeepsie, NY. Rochester had been the designer of the IBM 701 computer.

While at IBM, Rochester and I got Minsky and Shannon to join us in proposing the Dartmouth workshop. The proposal, requesting funds from the Rockefeller Foundation was written in August 1955, and is the source of the term artificial intelligence. The term was chosen to nail the flag to the mast, because I (at least) was disappointed at how few of the papers in Automata Studies dealt with making machines behave intelligently. We wanted to focus the attention of the participants.

The original idea of the proposal was that the participants would spend two months at Dartmouth working collectively on AI, and we hoped would make substantial advances.

It didn't work that way for three reasons. First the Rockefeller Foundation only gave us half the meney we asked for. Second, and this is the main reason, the participants all had their own research agendas and weren't much deflected from them. Therefore, the participants came to Dartmouth at varied times and for varying lengths of time.

Two people who might have played important roles at Dartmouth were Alan Turing, who first uderstood that programming computers was the main way to realize AI, and John von Neumann. Turing had died in 1954, and by the summer of 1956 von Neumann was already ill from the cancer that killed him early in 1957.

What did happen that summer at Dartmouth?

Newell and Simon, who only came for a few days, were the stars of the show. They presented the logic theory machine and compared its output with protocols from student subjects. The students were not supposed to understand propositional logic but just to manipulate symbol strings according to the rules they were given. They also described representing formulas by list structures and their IPL language.

I thought list structures were a great idea but didn't like the IPL language and immediately thought of using Fortran augmented by list processing primmitive operations coded in machine language. Fortran manuals existed at the time, but an operational Fortran wasn't quite ready.

Alex Bernstein of IBM presented his chess program under construction. My reaction was to invent and recommend to him alpha-beta pruning. He was unconvinced.

My ideas about representing common sense knowledge and reasoning in mathematical logic were still too ill formed for me to present them. Maybe if there had been some logicians at the meeting I'd have hoped for their interest and help. It was another two years before I was ready to present a paper on the subject.

Minsky presented his idea for a plane geometry theorem prover which would avoid much combinatorial explosion by only attempting to proved statements that were true in a diagram. Nat Rochester took this idea back to IBM with him and set Herbert Gelernter, a new IBM hire, to work on it with me as a consultant. Gelernter developed the Fortran List Processing Language for implementing the prover. In 1958, responding to the fact that FLPL didn't allow recursion and other infelicities, I proposed Lisp.

I remember well only the events at Dartmouth that intersected with my own scientific interests, so this is not a comprehensive account of what went on. Good work that I am ignoring here includes Raymond Solomonoff's work on algorithmic information and E. F. Moore's further development of his idas on automata.

What came out of Dartmouth?

I think the main thing was the concept of artificial intelligence as a branch of science. Just this inspired many people to pursue AI goals in their own ways.

My hope for a breakthrough towards human-level AI was not realized at Dartmouth, and while AI has advanced enormously in the last 50 years, I think new ideas are still required for the breakthrough.

What has happened since 1956?

AI research split, perhaps even before 1956, into approaches based on imitating the nervous system and the engineering approach of looking at what problems the world presents to humans, animals, and machines attempting to achieve goals including survival. Neither has achieved human-level AI. Proposals that one approach should be abandoned and all resources put into the other are silly, as well as being unlikely to happen. I'll confine myself to engineering approaches.

Within the engineering approach, the greatest success has been accomplished in making computer programs for particular tasks, e.g. playing chess and driving an off-the-road vehicle. None of these purport to have achieved general common sense knowledge. Thus the chess programs do not know that they are chess programs. Their ontology consists mainly of particular positions.

The logical AI approach, starting with [#!McC59!#], which was entitled Programs with common sense, is in principle more ambitious. It requires representing facts about the world in languages of mathematical logic and solving problems by logical reasoning. It faces many difficulties, some of which have been overcome, and there are proposals for overcoming others. Nevertheless, there is still not a well accepted plausible plan for reaching human-level AI.

For some years, I have thought mathematical logic needs to be extended in order represent common sense knowledge and reasoning. That extensions are possible may seem paradoxical in the light of Gödel's 1929 completeness theorem for first order logic. (Don't confuse this with his 1931 incompleteness theorem for formalized arithmetic.) The 1929 theorem tells us that any sentence true in all models of some premises has a proof from these premises. Therefore, any genuine extension of logic must allow inferring some sentences that are untrue in some models of the premises.

The various systems of formalized nonmonotonic reasoning do precisely that. They allow inferring sentences true in preferred models of the premises. Human commonsense reasoning is often nonmonotonic, and human-level logical AI requires nonmonotonic reasoning, but how to do this in a sufficiently general way is still undiscovered.

The need for nonmonotonic reasoning is well accepted in AI, although for specific domains, the human designer often decides what interpretations are preferred and relegates only monotonic reasoning to the computer. This is at the cost of generality.

Besides nonmonotonic reasoning, I propose other extensions to logic to be able to do common sense reasoning. These include systems with concepts as objects, systems with contexts as objects, and admitting entities that cannot be characterized by if-and-only-if definitions. I'm sure there's lots more needed before logic fully covers common sense. My proposals are in articles published here and there but all available from my web page http://www-formal.stanford.edu/jmc/.

Besides proposals for extending logic, there are many systems that restrict logic in order to make computation more efficient. I'd prefer to use full logic but want systems that can reason about their own reasoning methods in order to decide on efficient reasoning. After all these years, I still have not been able to make specific proposals.

John McCarthy
2006-10-30