KATATECH

思いつきでいろいろ書きます。

2001年宇宙の旅

 これは、Qiita Advent Calendar 25日目の記事です。

qiita.com

今回は、「2001年宇宙の旅」です。

2001年宇宙の旅(初回限定生産) [Blu-ray]

2001年宇宙の旅(初回限定生産) [Blu-ray]

 


始まりの数分間は、真っ暗な画面にクラシック音楽が流れます。
一瞬プレイヤーが壊れたかと思いますが、安心してください。
始まってます。
類人猿から宇宙まで。壮大な叙事詩が始まっているのです。

まだ見ぬ未来

2015年も暮れようとしていますが、我々が到達し得なかった2001年の姿ここにあります。

宇宙旅行は一般化し、日常的に宇宙ステーションと地球を人々が往来し、月面基地も実現し、人類は月に常駐しています。

映画が制作されたのは、1968年でCGも一切なかった時代ですが、映像は驚くべきリアリティです。宇宙に浮かぶ宇宙船や宇宙ステーションの実在感には、こんな世界線未来もあって良かったのではないかと思います。

人工知能HALのこと

木星探査船に積まれたHAL9000は、チューリングテストにも合格したAIです。
映画史上最も有名な人工知能のひとつですね。

矛盾を抱えた命令に悩みながら、探査船の乗船員と対立していく姿は、自我を感じざるを得ません。

AIとともに考え、対立したりもする世の中。
AI黎明期に立っている今日こそ、見るべき映画なのかもしれません。

ちなみに最後で唄う歌は、Siriも歌ってくれるらしいですね。

アガルポイント

久しぶりに見直して見ようとBluRayを借りたのですが、何よりも特典映像にテンションが上がってしまった。

ローテクで前人未到の映像を成す知恵と勇気と技と...根気。
その舞台裏の数々が収められています。

宇宙船の部品をワイヤーフレームのCGっぽく表現するところとか、
本当にワイヤーで実物を作って撮影してるとかね。

技術とは、こうやって開拓し進歩していくものなんだ。
という事を再確認させられます。

若い世代にこそ一度見てほしい映画だと思います。

最後に

来年から技術ブログでも始めようと思い立ち、準備運動のために作ったテーマでしたが、予想外にたくさんの方に執筆頂き思いも寄らない発見も得ることができました。

参加頂いた皆様ありがとうございました!

トロン -サイバーワールドでプログラムと出会う-

これは、Qiita Advent Calendar 13日目の記事です。

qiita.com

今回は、「トロン」です。

トロン:オリジナル [Blu-ray]

トロン:オリジナル [Blu-ray]

 

1980年代当時としては、画期的だったCGをふんだん使用した映画です。
今見るとレトロですが、当時最先端の映像技術に子供ながら興奮した覚えがあります。

あらすじ

エンコム社は、ゲーム「スペース・パラノイド」の大ヒットをきっかけに、業界最大手として、成長を遂げたソフトウェアベンダーだ。

ケヴィン・フリンは、そのエンコム社で「スペース・パラノイド」を一人で作り上げた天才プログラマだったが、その手柄を同僚のデリンジャーに奪われ、自分は、場末のゲームセンターの主に追いやられてしまっていた。

一方のデリンジャーはケヴィンから奪った「スペース・パラノイド」を自身の作品として発表。今では、エンコム社の社長にまで上り詰めていた。

フリンは、盗作の証拠を手に入れるため、夜な夜なエンコム社のサーバーをハッキングするが、デリンジャーの作ったMCP(マスターコントロールプログラム)に阻まれてしまう。

フリンの侵入を知ったアランは、恋人のローラと共にフリンに忠告に行くが、そこでデリンジャーの盗作を聞かされる。

フリンに手を貸すことを決めたアランは、自らの作った監視プログラムである「トロン」を使って、侵入を試みようとフリンと共に深夜のエンコム社へ赴く。

しかし、その行動はMCPにより察知されており、フリンは実験中の物質転送機によってコンピュータ内部の世界へ転送されてしまう。

MCPが無駄にスゴイ!

デリンジャーの作ったMCPは、AIを備えたオペレーティング・システムで、あらゆるソフトウェアを自動開発します。

しかも自動開発の仕組みが、とりあえず、なんか動いているサーバをハッキングして、使えるプログラムを盗んで組み込むという無茶苦茶な仕様。

でも、こういう集合知を利用して(違法使用ですが)、プログラムの断片から自動でシステムを組むAIって先見的過ぎないですかね!

擬人化されたプログラムたち

コンピュータの中の世界は擬人化されていて、フリンは、トロン(アランそっくり!)や、MCPに拉致されてきた会計プログラムのラムと行動をともにします。

ちなみに、「プログラマ(人間)だったら、この世界のことなんか何でも分かるだろ」的な事を言われたフリンが、「そうでもないんだ…」と返すとこが、何よりも切なかったのですが、、、まぁそうなるよね。

自分も確実にそうなります。

プログラマが観たイミテーション・ゲーム エニグマのはなし

これは、Qiita Advent Calendar 1日目の記事です。

qiita.com

プログラマが見ると"アガル映画"を独断と偏見で紹介していこうという趣旨です。

今回は、「イミテーション・ゲーム」です。

あらすじや、映画的な感想は、他のブログにたくさんあるので、詳細はそちらにお任せしますが、簡単に紹介すると、アラン・チューリングエニグマの映画です。

第二次世界大戦中のドイツ軍によって使用された暗号エニグマは、暗号の名称でもあり、暗号化と複合を行う機械の名称でもあります。

エニグマの仕組み

エニグマは、主にキーボード、ランプ、ローター、ブラグボードという部品で構成されていて、キーボードを押すと、ローターとプラグボードで出来た暗号アルゴリズムを経て暗号化された文字が点灯する仕組みです。

実は、Web上で体験できるシミュレータがあったりします。

Enigma Simulation

右側の黄色と黒の配色のアイコンが設定関連ですね。

試しに「工具」のアイコンを押して出てきたメニューから「Reset」を押してみましょう。

ローター(アルファベットの円環)が、左から「I」「 II」「 III」。
初期位置(ローター上の水色で囲われた文字)がすべて「A」になるかと思います。

キーボードの入力は、左下の2段並んでいるアルファベットの下段の方へ伝わります。
よく見るとひとつひとつのアルファベットから薄い灰色線が伸びていて

下段のアルファベット→上段のアルファベットローターへと結線されているのが分かるかと思います。

試しに、Inputのところに「A」と入力してみましょう。

エニグマの暗号アルゴリズムが機能して、「B」というOutputが得られるはずです。
注目すべきは、一番右の「 III」と書かれたローターです。
左へ1文字分回転して初期位置が変化して
いるのが分かります。

この機能があるため、続けて同じ「A」という文字を入力しても「D」「Z」…という全く違った文字が得られるのです。
ちなみに一番右のローターが1回転すると、真ん中のローターが1文字分回転します。

複合の手順は、暗号化と全く同じ。
もう一度「Reset」を押して、「BDZ」をInputに入力すると、「AAA」という文字が得られるはずです。

しかし、「AAA」が毎回「BDZ」に置き換えられたのでは、すぐに解読されてしまいます。

そのためエニグマは、ローターの位置、種類、初期位置、それから「下段のアルファベット」と「上段のアルファベット」をつなぐ結線を変更する事によって、異なる暗号文を作成できる様に設計されています。

今度は、「工具」アイコンのメニューから「Reset」ではなく「Random」を押して見ましょう。

ローターの初期位置や結線が変更されたと思います。
「AAA」と先ほどと同じ文字列を打ち込んでも得られる結果は違うはずです。

この暗号文を複合するには、複合する方の機械も同じ設定から始めなければなりません。この設定こそが、「第一の鍵」になります。

第2次世界大戦中のドイツ軍は、日毎の「設定表」を配布して、毎日この設定を変更していました。

さらには、この日毎の設定を使用して、通信ごとの新たな設定を暗号化して送信。
これを「第二の鍵」としていました。

テンションが上がるポイント

さて、アラン・チューリングは、このエニグマの鍵を再プログラミング可能なデジタル計算機を作成して解こうと試みます。

プログラマとして感動の瞬間のひとつは、マシンが動作するとき。

ことチューリングが作り上げたマシンこそが、現在のコンピュータの元になっていることは、分かっていましたが、やがて、自分が今日のご飯にありつけるという事実の遠縁となっていることを思うとやはり、マシンが動く瞬間には、テンションが上がりました。