2016年07月07日の日記です


ドナルド・ミッキー 命日(2007)  2016-07-07 15:57:11  コンピュータ 今日は何の日

今日は、ドナルド・ミッキーの命日(2007)


ディズニーキャラじゃないよ。計算機学者で、人工知能学者。

ブレッチレーパークのメンバーだった、というのだから筋金入りの天才。


ちなみに、命日は7月7日ですが、誕生日は11月11日です。




ミッキーはイギリス人ですが、イギリス領だった時代のビルマ(ミャンマー)で生まれています。


第二次世界大戦中、ビルマは日本軍によって激しい攻撃にさらされました。

この頃、ミッキーはイギリス本国にいましたが、諜報員になろうと考え、日本語を学ぼうと考えます。


…が、大学の諜報員向け日本語コースは定員オーバーでした。

仕方がなく、同じ諜報員向けの暗号解読コースに入ります。


そして、そこで才能を発揮し、ブレッチレーパークに配属されるのです。




ブレッチレーパークは、イギリス軍の暗号解読部隊。


その活動内容はトップシークレットでした。

今ではある程度秘密解除になり、活動が明らかにされているのですが、詳細はわかりません。


わからないから、よく小説なんかのネタになります



それはさておき、現代コンピューターの父とされるアラン・チューリングもブレッチレーパークのメンバーでした。


ミッキーは、ローレンツ暗号…当時はフィッシュ暗号というコードネームで呼ばれたそうですが、この解読に携わっています。


話すと長いのですが、本題ではないのでざっと。

ドイツの暗号と言えば、エニグマ暗号が有名です。


エニグマは、タイプライター風の機械のキーを押すと、上にある文字のランプが点灯する、という形で、一文字ずつ別の文字に置き換えていく暗号機です。

まず通信文を作り、エニグマで暗号化し、モールス通信で暗号文を届け、再びエニグマで復号化し、通信文を入手する…と言った形で運用されました。


多くの人が間に入り、そのたびに「文字の書き写し間違い」などの可能性が入り込みます。

何よりも、緊急の通信時に煩雑な過程を経なくてはならない、というのは弱点でした。


もう一つ、エニグマ暗号は、回転する歯車上に作られた電気回路を使い、「一文字ごとに電気回路が組み変わる」ことで暗号を作り出すものでした。


電気回路なので、「入力と同じところに戻る形の出力は作れない」という決定的弱点があります。

A を暗号化すると、必ず A 以外の文字になるのです。これは大きな特徴であり、暗号解読の手がかりでした。




ローレンツ暗号は、この二つの問題点を克服しています。


まず、無線テレタイプを改造した暗号機でした。

テレタイプは 19世紀には使われ始め、第二次大戦の時には無線テレタイプもありました。


この、通信部分に暗号回路を挟み込んだのです。

傍受しても暗号文になっていて意味不明なのですが、送信者がキーを押すと、受信側にその文字が印字されます。


テレタイプは、文字(厳密には、押されたキー)を二進数で表現して記録・通信していました。

そこで、暗号化はこの「二進数」に対して、複雑な仕組みで作り出される二進数を XOR することで作り出されています。


この方式だと、A を暗号化した結果 A になることもあります。暗号解読の手がかりを与えない方式なのです。




エニグマでは、なんでもいいから1つの暗号文を解読して通信文を得ることができたら、「通信文」を「暗号文」に変換できるエニグマ暗号機の設定方法を自動的に見つけ出す機械がありました。


これによって鍵を見つけ出してしまえば、他の暗号も簡単に解読できます。


36台のエニグマが自動的に並列に動き、正しい鍵を見つけ出すまで処理を続けるものでした。

エニグマは歯車によって暗号を作り出しますから「歯車式計算機」と言えます。


ローレンツ暗号に対しても、同じような機械を作ろうとしました。

先ほど、二進数を XOR して暗号にする、と書きましたが、この二進数はエニグマと同じような歯車で作り出されています。

しかし、ローレンツ暗号はエニグマより複雑で、機械式では計算時間が現実的ではない、と予想されました。

そこで、論理的に同じことをする「電子回路」を作り出すことになります。


真空管により、通信文を正しい暗号に変換できる鍵を「計算」して求める機械です。


これがコロッサスで、ENIAC よりも古い、真空管によってつくられた計算機でした。



ミッキーはこのプロジェクトにかかわっていたようです。




本題ではない話でずいぶん長く書いてしまった…

今日の本題はここからの話。


ブレッチレーパークに勤めていたころ、チューリングと昼ごはんを食べながら、機械が知性を持つことはあるか、という談義をしていたそうです。


コロッサスの計算力なら、機械が人間のように考えることも可能かもしれない。

そうした「思考実験」です。


チューリングは、1953年にはチェスを打つアルゴリズムを考えて論文にまとめています。


もっとも、このころはまだコンピューターは非力です。

アルゴリズムを人間が「機械的に」真似て、対局などが行っていました。


そして、ミッキーは 1960年に論文を公表します。

人工知能に関するものでした。


ミッキーの論文も同じように、コンピューターを使用しないでも実行できる方法でアルゴリズムを示しています。



その名も、Machine Educable Noughts And Crosses Engine


Educable は「学習できる」。

Noughts And Crosses は「○と×」の意味。

日本語では「マルバツ」、英語で Tic-Tac-Toe と呼ばれる、三目並べのことです。


三目並べを対戦し、その結果から学習することで育つ人工知能です。

最終的には、絶対に負けないプレイヤーとなります。


略称は、正式名称の頭文字をとって MENACE 。「厄介な相手」という意味です。

絶対負けないプレイヤーに育つ、厄介な相手だということです。



これ、実は今までも僕のページで何度か紹介しています。

MENACE 以上によく知られた名称は「マッチ箱エンジン」。


特徴は、大量のマッチ箱が積み重ねられただけの「マシン」だということ。

中には色とりどりのビーズが入っています。そして、これが自己学習する最強プレイヤーなのです。




仕組みについても過去に書いていますが、改めて書きましょう。


装置を簡略化する都合から、MENACE は必ず「先手」で○を打つことにします。

そして、マッチ箱を 304 箱と、九色のビーズを、各 304 個…できるならもう少し、400個くらい用意します。


箱には、1つづつ3目並べの「局面」の絵を描いておきます。

MENACE は先手ですから、まず「何も描かれていない」局面があります。


続いて、MENACE は9カ所のどこかに○を描き込みます。さらに、人間は残る8カ所のどこかに×を描き込みます。

その次が MENACE の手番です。

9*8 = 72 通りの局面のどれかになっているはずです。


ここで、マッチ箱を減らすためにちょっとしたトリックを許可します。

最初の「9手」は、隅、辺、中央のいずれかですから、実際には「3手」とします。


続く人間の手は…数えるしかないのですが、論理的に同じ形であるものは同じとすると、人間の手が終わった時点で 12通りの局面があります。


以下、同じようにすべての局面を数えていきます。

途中でどちらかが3目並んだらそこでゲーム終了ですから、続く手は数えません。


こうやって数え上げると、全部で 304 通りの手があるそうです。

(この数字は受け売りで、面倒なので僕は数えてません (^^; )

これを、すべてのマッチ箱の表面に描いておく必要があります。



参考:海外で MENACE を再現した人の写真集

この人は、ビーズの代わりに豆を利用しています。




さて、最初はすべてのマッチ箱に、9色のビーズを1つづつ入れておきます。

MENACE 先手ですから、「局面に何も描かれていない」絵柄のマッチ箱を取り出し、中からビーズを1つ取り出します。


この取り出したビーズの「色」は、9カ所のマスのどこに手を打つかを意味しています。

では、○を描き込みましょう。ビーズは元のマッチ箱に戻してください。


続いて人間がどこかに×を描き込み、MENACE の番です。

やはり、局面の絵柄の箱を探し、ビーズを取り出します。


ビーズは最初に9個入れてしまっているので、「すでに描かれている場所に○を描く」指示が出るかもしれません。

このときは、ビーズは捨てます。この手は打てない、と MENACE に学習させるのです。


これを繰り返していくと、MENACE はゲーム終了までの手を打っては来るでしょう。

…ただし、学習前はうち筋はランダムで、人間に負けると思います。


負けたら学習しましょう。

最後に打った手は、人間に負ける悪手です。そのビーズを取り出して捨てます。

MENACE はこの手を2度と打ちません。


もし勝つことがあったら、最初からすべての打ってきた手が良かった、ということになります。

ご褒美として、途中で使ったマッチ箱すべてに、取り出したビーズと同じ色のビーズを加えます。

次から、同じ手を良く打つようになります。これも学習です。


こうして、MENACE は勝ちにつながりやすい手は積極的に打ち、負けた手は2度と打たないように成長していきます。

最終的には絶対に負けないプレイヤーに成長するでしょう。




馬鹿馬鹿しいというなかれ。これは立派な「人工知能」です。


MENACE 以前から、マルバツの人工知能は作られています。

1952年には oxo が作られている。


でも、この二つは、人工知能としてのタイプが全然違います。


oxo は、1980年ごろに再流行する古いタイプ。

人間はどう考えているのだろう? と考えて、その考え方をアルゴリズムで示したものです。


このやり方は、模倣です。本物である人間を超えることはない。

つまり、アルゴリズム考案者を超えることは出来ない、頭の悪い人工知能です。


例えば、将棋はこの方法で「そこそこ強い」人工知能が作れました。

(現在の将棋が強くなったのは、別の方法を組み合わせています)


でも、囲碁ではこの方法は使えなかった。

だから「囲碁は難しい」と言われるようになった。



MENACE はこれとは違い、自己学習する人工知能です。


人間は、すべての局面に対して対応方法を丸暗記する…なんて方法は取りません。

明らかに、人間の考え方とは違っている。


でも、人間とコンピューターは違うのです。

考え方が違ったとしても、結果として正しい答えが導き出せるのであれば「人工知能」と呼んで差し支えないはずです。


今流行しているディープラーニングは、MENACE の遠い子孫に当たるものです。

仕組み自体は大したものではありません。


とても考えているとは思えないような、ランダムな配線の集合体。

マッチ箱と似たようなものです。


でも、学習させるととてもいい結果を出す。…こともあります。


ディープラーニングを使い、将棋より難しい囲碁で、AIが人間に勝った、と騒がれています。

でも、これは間違っている。


囲碁が将棋より難しい、というのは、先に書いた「人間の思考を真似るタイプの人工知能では」という話です。

囲碁はマルバツと同じように、盤面に記号を並べていくゲーム。MENACE と同じように自己学習向き。


そこで自己学習を適用したらうまくいった、というだけで、将棋とは全く別の世界。

「将棋より難しい囲碁」という言葉が間違えていて、自己学習AIにとっては将棋のほうが難しいです。



このことが理解できれば、「やがて人工知能が人間を支配する」なんて言説は噴飯ものだとわかるでしょう。

人工知能は確かに実用になるほど研究が進んでいますが、まだ特定の守備範囲を持つもので、臨機応変な対応が可能な人間に変われるようなものではないのです。


#逆にいえば、特定の守備範囲内ではAIは普及するだろう、ということでもあります。

 臨機応変さを持たない人間なら不要になるでしょう。不要と言われないように頑張りましょう。




ミッキーはこの後も人工知能の研究を続け、自然言語処理なども研究しています。


最後は事故死。「元妻」と離婚後も仲が良く、一緒に自動車で移動中の事故でした。




同じテーマの日記(最近の一覧)

コンピュータ

今日は何の日

別年同日の日記

02年 手巻き時計

09年 大人がヘルパンギーナにかかると…

13年 Javascript の Canvas は結構遅い

15年 どぜう


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

4000

-- follow --




- Reverse Link -