今日は、アラン・チューリングの命日(1954)で、ドナルド・デービスの誕生日(1924)
この二人、関係が深いので一緒に紹介しましょう。
といっても、チューリングは誕生日の時に詳しく書いている。今日はデービスを中心とします。
チューリングはコンピューターの基礎概念を作った、と言われるのですが、計算機と概念はどちらが先か、微妙なところです。
計算機の自動化がある程度進められた時代背景があり、そこで「計算するとはどういうことか」を、仮想的な計算機を用いて説明しただけ。
この結果、どういう計算機を作れば汎用性が高いかが示され、それを目指して実際の計算機が作られていく…という流れ。
すでに職人芸で作られていたものに、学問的なお墨付きを与えたとでも言いましょうか。
チューリングマシン(1936)は重要な概念ではありましたが、「そのアイディアを基礎として計算機が作られた」わけではないのです。
#ツーゼZ1の開発は1935年から、ABC の開発は 1937年から。
タイガー計算機は 1931年にはすでにあったし、その原型となるオドナー計算機は1874年に公表されている。
さて、時代的に計算機が作られ始めていましたから、チューリング自身、コンピューターに関する仕事もやっています。
1946年2月、チューリングはイギリス国立物理学研究所 (NPL)に、コンピューター製造計画の論文を提出します。
Automatic Computing Engine … ACE と名付けられたそのコンピューターは、人工知能を目指す計画でした。
これは、8月の ENIAC 公開よりも前に計画されたことでした。
もっとも、ENIAC は作成期間も長く、噂くらいは耳に入っていたのではないかと思いますが。
ACE は国家プロジェクトとなり、チューリングはその最高責任者でした。
そして、計画参加者の中にドナルド・デービスがいました。
デービスは、チューリングがチューリングマシンを想定した論文に、重要な誤りがあることを指摘しました。
詳細は、残念ながら僕は知りません。
「チューリングマシン」に与えるアルゴリズムによってあらゆる数が計算できることを示す部分で、アルゴリズムに穴があったようです。
「世界初のバグ」とも呼ばれています。
多少の穴があっても、そこは論文の本筋ではありませんが、「最高責任者」としての権威が揺らぎます。
重箱の隅をつつくようなことを言うデービスに対して、チューリングは不快感を示しました。
しかし、これは二人の性格の違いを示す、重要なエピソードのように思います。
ACE プロジェクトは、計算機にとって重要な「本質」を追い求めすぎ、肥大化します。
しかし、まだ当時の技術では、そんなに構想が肥大化したものは作れないのでした。
プロジェクトは頓挫しました。
チューリングは失望してプロジェクトを去りました。
しかし、これは国家プロジェクトです。止めるわけにいきません。
「作成技術」という現実を見ずに夢を膨らませて、うまくいかずに逃げ出したチューリングは無責任です。
その後、ジェームズ・ウィルキンソンが ACE プロジェクトを引き継ぎ、規模を縮小した「Pilot ACE」を作り上げます。
ドナルド・デービスは、Pilot ACE のプログラムを担当しました。
天才の論文に対しバグを指摘し、厳密さを重視する彼は、適役だったように思います。
デービスは、ロンドンの交通状況シミュレーションなどのプログラムを作っています。
Pilot ACE は後に量産され、1950年代に一番売れたコンピューターとなったそうです。
1950年ごろ、MIT でタイムシェアリング・システムが開発されます。
これにより、コンピューターに電話回線などでテレタイプを接続し、「時間貸し」ができるようになります。
また、コンピューター同士のネットワークも考案されていました。
コンピューター A にコンピューター B が接続するときは、時間貸しの端末と同じように、電話線を使って接続します。
A と C が接続するためにも電話線が必要で、B と C が接続するのにも電話線が必要です。
コンピューターがこのまま増えると、必要な線はどんどん増えることが予想されました。
コンピューター自体が高価なものでしたが、通信コストが馬鹿になりません。
しかも、これらの回線のほとんどは、「いつ通信があるかわからないので接続している」というだけで、ほとんどの時間、なんのデータも流れていないのです。
多数のコンピューターを、もっと少ない回線で結ぶことは出来ないか?
回線の利用効率をもっと高めることは出来ないか?
ドナルド・デービスはこの方法を考えます。
彼がたどり着いたのは、「パケット通信」と名付けた方法でした。
先の例でいえば、3台のコンピューター A B C が通信するには、 A-B 間、A-C 間、B-C 間の3つの回線が必要でした。
でも、A と C は、ともに B に接続しています。A-B と B-C の2つがあれば、B を介して A から C に通信ができるはずです。
それまでは、電話線の先にあるのが1台のコンピューターだったので、通信したいデータだけを送っていました。
でも、パケット通信では、一定のサイズのデータに区切り、それぞれのデータに「通信相手」を明記して送ります。
A から C に送るとき、途中で B が受け取りますが「C 宛」と書かれたデータはそのまま C に向けて再送信します。
もちろん、「B 宛」と書かれていれば受け取ります。
コンピューターが3台なら、3つの回線が2つに減っただけです。
でも、もっと多数のコンピューターがあったら…?
直接通信だと、10台で45本の回線が必要になります。
パケット通信なら、9本で十分です。
この通信方法は、現在のインターネット技術の基礎となっています。
ドナルド・デービスは、「パケット通信の父」なのです。
詳しい話はポール・バランの誕生日に書いていますので、そちらも読んでみてください。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |