読者です 読者をやめる 読者になる 読者になる

動的なIoT、静的なIoT;人工知能とチップを埋めないIoT

 今日、IoTのことが話題に登って、そんなに話をしている暇はなかったのだけど、最近IoTについて自分がどう思っているのかが少しまとまった気がする。
 
 IoTのちょっと未来を考える時、真っ先に頭に浮かぶのはアマゾンがシアトルに作るだか作ったかだかのコンビニで、最初にニュースを知った時はものすごい衝撃を受けた。なぜなら「商品を手に取って出ていくだけで勝手にクレジットカードに料金がチャージされる仕組み」がカメラとAIで作られていたからだ。
 それまで、未来の店舗はもちろん無人化が進むし、自動で会計が行われるようにもなると思ってはいた。だけどそれはICタグみたいな「チップの埋め込み」で実現されるものだとばかり思っていた。多分そう思っていたのは僕だけではないと思う。
 
 ところがアマゾンが見せてくれたのは、チップなんて埋め込まずに人工知能に店内の様子を見せるという離れ業だった。人間がお店の中で、あるいはレジで目で商品を見て確認する代わりに人工知能にそれをやってもらうというのは蓋を開けてみれば極々自然なことで、牛乳のパックからピーマンの袋まで何から何まで全てにチップを埋めるなんて一体なんてバカなことをしようとしていたのだろうとすら思う。
 もちろん、この先チップを埋めるコストはどんどんと下がって、今全ての商品にバーコードが付いているのが自然なのと同じように、すべての商品にチップが入る可能性は残っている。それであっても尚、どんなものでもいいから人工知能に見せて値段を教えておくという便利さには敵わないし。マスプロダクトではなく個々の環境や場所に合わせたユニークな商品がたくさん出回る時代、超多様性の時代が来れば「この製品にはこのチップ」なんて割り当てはやっていられない。
 
 IoTについても、同じことが言える。
 先にIoTを2種類に分類したい。
 1つ目は、動的なIoTで、デバイスをコントロールするという要素が含まれている。例えば自動車に乗るときに家の中から呼んだら玄関まで来てくれるというようなものだ。Dynamic IoTということでDIoTと呼びたい。
 2つ目は、静的なIoTで、こちらはデバイスをコントロールはしないけれど、センサー類で情報は取得するというタイプになる。たとえば、コップに重量センサーが付いていて水の残量を計測してネットに投げるというようなものだ。こちらはStatic IoTということでSIoTとしたい。
 
 以下は後者の静的なIoT、SIoTに関しての話になる。
 
 今は多くの人達がIoTといえば「あらゆる製品にセンサーやチップが入ってネットに繋がる」ということをイメージする。だけど、SIoTに関しては多分そうはならない。目の前のマグカップにもガムテープにもペンにもチップが入るということは起こらない。その代わりアマゾンのコンビニみたいに、部屋の中全体を見渡すカメラやセンサーが導入される。そのシステムはスマホみたいなモバイルデバイスにもインストールされて野外でも使用される。そしてマグカップに入ったセンサーがドリンクの残りを測ったり、温度を測ったり、持ち上げた回数を測ったり、傾ける角度を測ったりするかわりに、カメラ越しにAIがそれら全部の測定を行いデータを蓄積して分析する。今年のCESでちょっと話題になっていた製品に髪の毛の切れる音を感知するスマートブラシがあったけれど、そんな音は部屋のマイクが拾い、ブラッシングの様子はカメラが拾う。デバイスは製品には組み込まれない。
 幾つかの測定には製品に組み込まれたセンサーが必要になるかもしれない。また過渡期にはそういうSIoTが使われるかもしれない。たとえばマグカップに入っているコーヒーの味をスペクトル解析でもして測定するのは至難の技だ。そういう場合はマグカップの内側にセンサーが入るかもしない。あくまでAIによる室内のトータルな分析の補助として、カメラとマイク(つまり室内の電磁波と音波)で測定できないものを測る為にそういったものが活用されることはあると思う。

 ある製品にセンサーとチップが入っていて、ネットなりどこかのコンピュータに伝送するということを少し噛み砕いてみると、起こっているのは「ある製品のある属性をセンサーで取得して電磁波に乗せた信号に変換して発信する」ということだ。発信された電磁波はアンテナが拾う。今良くあるイメージでIoTというときになぜチップを製品に埋め込みたいのかというと、電磁波の形で情報を発信したいからだが、実はチップを埋めるまでもなくあらゆるものは既に電磁波として情報を放射(反射)している。光は電磁波のうち可視光領域の周波数を指して用いられる言葉だが、僕達がIoT化されていない普通のコップの中に残っている水の量を目で見て知ることができるのは光という電磁波が目に届くからだ。これは製品に埋め込まれたチップの発する電波をアンテナが拾うのと良く似ている。チップで信号処理をしてから通信路に情報を送るのではなく、普通の物体からカメラでナマのぐちゃぐちゃな電磁波を拾ってそこから初めて情報処理を行うという風に計算部分が発信側から受信側に移っている。各製品に小型なチップを載せたとしても、消費電力も限られていてそれらのプロセッシング能力はどうしても限定されるが、一方、受信側はネットワークと電源に直結していて膨大な計算機資源を持っているわけだから、情報処理の全てをこちらに任せるのは合理的ではないだろうか。
 
 このようにSIoTでは「周囲一体を感知するカメラとマイク+パワフルなAI」が求められる。
 またアマゾンを持ち出すけれど、当然アマゾンのエコーはこれを目指しているはずだし、すでにそうであるようにDIoTは滑らかに連結される。
 だからIoTというのは半分AIで実現するもので、AIのスーパーなスマートさが、全然スマートじゃないその辺のものを全てスマートに扱い、さらにチップの搭載されたちょっとスマートなものもスマートに扱うということになるのではないかと思う。

世界中の家:タイムマシンを呼んだこと。

 はじめて絶望したのは小学生のときで、小学生には無限の可能性がありそうなものだけど、絶対にできないことがあると気が付いた。
 それは「世の中にある全ての家の中を見る」ということだ。
 新しい友達なんかができて、家に遊びに行くのがとても楽しかった。知らない家の中に入って、知らない生活の一片を垣間見るのは、新鮮でワクワクした。どうして知らない家の中に入るのはこんなに楽しいのだろうと思っていたら、「でも自分が一生の間に入ることのできる家は極々限られている」ということにも気が付いた。町の至る所を埋め尽くすように並んでいる住宅ほとんどの内部を見ることなく僕は死んでいくのだと思うと悲しくなった。世界のほとんどの家の中を見ずに死んでいくというのは残酷な寂しい事実で、毎日前を通っているあの家の中すら知らずに僕達は一生を終える。
 
 頑張ったら世界中の家を見れるのだろうか?
 毎日100軒の家を、「お願いします見せて下さい」と回ったとして、一年365日で回れるのはたったの36500軒。
 仮に人生を100年として休みなく毎日100軒回ったとしても、365万軒が一生に見れる家の限界だ。
 日本だけに限定しても家は5000万軒くらいある。桁が違う。世界中となるとさらに桁が変わる。
 絶望するしかない。
 
 東京タワーとかどこか高いビルの展望台に登ると、こんなに沢山の家があるのに全部中が分からないまま僕は死んでいくのだなと思う。屋根がオモチャみたいにパカっと開いたらどんなに面白いだろうかと、特に夜景を眺めたときに思う。都市の夜景は、家々、ビル群の屋根が開いていたらものすごく明るいに違いない。でも実際のところ屋根は閉じられている。光は封じ込められている。

 それが不幸だというつもりはないけれど、世界の本当に一部しか見れないくらい人生というのは短い。
 
 二度目の絶望についても書いておこうと思う。
 二度目の絶望は、中学生の頃だ。
 宇宙は本当に無限の広さを持っているかもしれないし、本当の本当に無限でなくても無限に近い広さを持っているかもしれない、というのが前提になる。
 これはそれほど馬鹿げた仮定でもない。
 もしも、宇宙が無限であれば、起こっている可能性がとても低いことでもどこかでは起こっていることになる。無限の数の事象が起こるのだから起こることが可能なことは全部起こる。地球とほとんど同じ歴史を持つ星で、ただその星にはiPhoneが存在しない、という星だってどこかにあることになる。
 地球よりも遥かに進んだ科学を持った魔法のような未来都市だってあるだろうし、スターウォーズみたいな世界だって(フォースみたいな非科学的なものは抜きにして)どこかにあるだろうと思った。
 僕は当時自分は科学者になるのだと信じて疑わなかったし、雑誌の近未来テクノロジー特集みたいなページのイラストを何時間もぼーっと眺めているような子供だったけれど、これから何十年、何百年と掛けて人類が発展させていくハイテク社会が、そういう風にしか実現できないと思っていた未来社会が、歴史の歩みを待たずして、今すでにこの宇宙のどこかにあるんじゃないかと思うとドキドキして居てもたってもいられなくなった。
 「今」というのは、特に「向こうの今」と「こちらの今」が同時であるというのは実は難しい概念だけど、単純に「今日もこの瞬間にずーっと遠くでスターウォーズみたいなことをしている人達がいるのだな」とイメージして、20世紀の科学しか持っていない地球にいることに愕然とした。ワープもできないし、スターウォーズの人達には会いに行くことがでいない。ハイテク都市を見ることはできない。絶望的だ。
 
 絶望した僕は、一縷の望みを託して手紙を書いた。
 宛先は未来の誰か。
 未来が何年後の未来なのかは分からない、「タイムマシン実用後の未来」。
 手紙はノートにしたためて、表紙に「子孫代々大事にとっておくこと」と書いた。
 手紙の内容は、書いている時の自分の居場所と、タイムマシンで迎えに来て欲しい時刻だった。時刻は手紙を書き終えた1分後にした。
 上手く行けば、僕は手紙を書き終えた一分後に未来からタイムマシンで迎えに来てもらえることになる。そうすれば、未来のテクノロジーでスターウォーズみたいなところにも連れて行って貰えるかもしれないし、少なくとも未来の地球は見れるだろうと思った。なによりアホらしい学校や受験から解放される。
 ドキドキして座っていたけれど、タイムマシンは来なかった。
 実はその手紙はもうどこかへ行ってしまったから、そのせいかもしれない。
 けれど、タイムマシンが来なかったことに関しては今は絶望していない。

定住時代の終わり;HOUSEから「ubiquitous bNs」へ

 トレーラーハウスを買おうと思っているという話を聞いたのと、物件を見に久しぶりに不動産屋へ行ったのが合わさり、住む場所について色々考えたり思い出したりしている。
 僕は今のところは賃貸で物件を借りて1年とか2年、普通にそこへ帰る生活をしているけれど、本心としてはどこかに定住したいとは思っていなくて、可能な限り色々な場所に住みたい。それもホテルに数日滞在するみたいに、今日からここに数日ないしは数週間いて、そのあとは別の場所に移動するというような生活がしたい。別の場所というのは別に遠くでなくても構わない。同じ町の中での移動でも構わない。そういうことを思うのは僕だけではないし、これからそういう生活をする人が増えると思う。
 
 「家へ帰る」というのが嫌だ。
 家がどこかに固定されていて、自分が夜になったらそこまで戻らなくてはならないのが苦痛だ。
 今下北沢に住んでいるけれど、横浜みたいなちょっと離れたところで飲んだり食べたりしたら、もう帰るのが面倒になる。でもホテルに泊まるとお金も掛かるし、電車に1時間乗れば帰れるわけだから、普通はわざわざ家に帰る。そういうのがとても嫌だ。
 家がいつも自分の傍にあればいいと思う。
 それがとても便利なホテルなのかテントみたいなものなのかキャンピングカーみたいなものなのかは状況によると思うけれど、これからそういう時代が来る。決まったところには帰らずとも、ちゃんとくつろげるスペースがどこででも確保できるという時代が来る。家と会社という二箇所のアンカーから解き放たれる時代。もちろん気に入った場所に何十年と住み続けるということも選択はできる。

 大都市が抱えている問題の1つは、疲れても気楽に休む場所がないということだ。
 なんとも不便な事実だが、人間は活動していると疲れる。
 旅行先の大都会でスターバックスに入ったまま、もうとりあえずこのままホテルに戻って寝てしまいたいと思ったことは誰だってあるのではないだろうか。
 真夏のショッピングで、店から店へと歩いて汗だくになってしまって、本当はもう帰ってシャワーでも浴びたいと思いながらスターバックスの中で汗が引くのをなんとか待っているみたいなことも誰もが経験しているのではないだろうか。
 いつでもどこででも、休息とシャワーが手に入ればどんなに自由だろうか。
 
 家、ホーム、の定義は色々あると思うけれど、僕は「1,快適で安全な睡眠が取れる。2,身体の洗浄が可能」という2点に絞りたいと思う。つまり、Bed & Shower。B&Bではなくて、B&Sだ。
 シャワーという単語を使ってしまうと厳密には問題がある。身体の洗浄はシャワーでなくても行うことができるし、モビリティを追求するとシャワーでは大袈裟になるかもしれない。が、ひとまずシンボルとしてシャワーという単語を採用しよう。
 B&S。
 なんとなく今っぽくないので、&はnに変えてしまってBnS。
 字面がボテッとしているので大文字小文字入れ替えてbNsとしよう。
 
 21世紀の半ばは、”HOUSE"を"ubiquitous bNs"で置き換える時代になる。
 そして1万年という人類の定住時代は終わり、再び大移動時代がやってくる。
 家族の形も国家の形も今とは全然違うものになるだろう。
 キャンピングカーの売上が伸びていること、アウトドアブームが定着したこと、シェアリングエコノミーの発達はその予兆だ。

この世界の無限の計算量

 よく覚えていないので間違えているかもしれないけれど、たぶん大江健三郎がどこかに子供時代の思い出を書いていた。学校でドキュメンタリー映画みたいなものを見る機会があって、その中に樹の枝や葉がアップで撮られたシーンがあった。画面の中で枝や葉が大きく揺れている。その揺れ方がわざとらしく思えて「そんなに揺れているわけないだろう」「撮影用に揺らしたりしてるんだろう」と疑いながら後で樹を見に行ったら、風もほとんどないのに近くで見ると樹の葉や枝は確かに揺れ動いていた。
 風もないときにはじっとしているものだと思っていた木の葉が、実はほとんどずっと小さく動き続けていたことに衝撃を受けて世界の見方が変わったらしい。

 世界は、僕たちが勝手に単純化して整理して理解しているようには簡単ではなく、名もない細部の微細な集合で組み立てられている。高校生の時に部屋の窓から数百メートル向こうの山肌を眺めていて、そこに強風の微かなざわめきが見えた気がしたとき、見える限り全ての木々の動きが葉っぱの先端に至るまで全部物理法則の通りに動いているという事実に僕は愕然とした。無論それは山肌の木々に限ったことではなかった。目には見えない空気の動きも、そこを漂う微細な粒子も、飛び交う電磁波も、服にできたシワの形も、人が見ていようがいまいが、全てが法則の通りに動いていて、その圧倒的な計算量に頭がクラクラとした。しかも古典論的な考え方では、あるいは機械論的世界観ではこれらのスーパー複雑な現象の全てが宇宙の始まった瞬間から決まっていたことだ。

 この瞬間から世界の見え方が変わった。
 以後僕は計算量というものを意識して生きている。
 なぜ急に「計算」が出てくるのか、と思われるかもしれないので、計算について説明しておきたい。
 それには、きっとコンピュータを持ち出すのが一番いい方法だ。コンピュータが計算をしていることには誰も文句ないと思う。そしてコンピュータはかつて電子計算機と呼ばれていた。わざわざ電子と言うからには「電子でない」コンピュータもあるのかというと、ある。あるというか、原理的には(つまり実用性を無視すれば)ほとんど何を使ってでもコンピュータは作れるし、実際にアイスのスティックが組み合わさったコンピュータもあれば、DNAで作ったコンピュータもある。

 僕たちはいわゆる情報化社会だとかいう社会を生きていて、「情報」というとすっかり漠然とした概念だと思いがちだが、情報というのは絶対に物理的実体を伴っている。ニューヨークにメールを送ったとき、それはニューヨークにメールの中身という情報が伝わったということだけど、それはとりもなおさず「物理的実体の変化がニューヨークに届いた」ということだ。具体的にはラップトップだかスマートフォンだかは電波で通信しているが、電波を送信するのはアンテナ中の電子を振動させるという物理的な操作で、電子が振動すると周囲の電場が変化して磁場が発生する。磁場の発生は即座に電場を発生させて、それによってまた磁場ができる。この繰り返しが電磁波で、つまりここではWiFiだ。WiFiはルータに到達してアンテナの電子の運動を変化させる。その変化はルータ内部であくまで物理的な電磁気学的変化を経過したのち、メタルのケーブルの中の電子の動きだか光ファイバーの中の電磁波だかになりそのまま地球の何分の一だか回ったりデータベースを書き換えたりして、またサーバやルータの中を通って電磁波として相手のラップトップに飛んでいき、ラップトップに内蔵されたアンテナの電子を特定の周波数で動かして電流に変換し、その電流が信号処理されてディスプレーに的確に電流が流れて各液晶にかかる電圧が変化して偏光が代わりピクセルの色が変わってその集合が文字列を形成して誰かに読まれる。

 計算というのは、大雑把に「ルールの通りに物事が動いていく」ということを指している。風で木の枝が撓むのは、木の枝と空気が「計算」をしているからだ。言っていることがわかりにくければコンピュータシミュレーションを思い浮かべてもらうといい。コンピュータを使って、風が吹いたときにどのように木が動くかはシミュレーションすることができる。コンピュータで計算することができる。枝のある領域の弾性、形状、質量、空気の粘性、速さ、考えつく限りのパラメータを正確に入れていけば、コンピュータ上で木の動きが真似できる。でもこれはあくまで真似にすぎないし、本当の動きにはならない。本当の木の動きを正確に再現するためには、ほとんど無限個の情報をインプットしてやらなくてはならない。そして、その木についての全ての情報という言葉が意味するのは、「その木そのもの」だ。だから、当たり前だけど、目の前に一本の木が生えていて、その木が風に吹かれた時の振る舞いをなるべく正確にシミュレーションしたければ、その究極は「その木そのもの」に風を当てて観察するということになる。つまり実験ということになる。
 スケールを一気に拡大してみよう。
 一本の木をコンピュータシミュレーションするのではなく、この宇宙そのものをシミュレーションするのであればどうだろうか。
 
 以上のような説明では、「僕達の宇宙はコンピュータシミュレーションなのか」というような誤解を招きそうなので、別の側面から話をしたい。
 僕達の宇宙がコンピュータシミュレーションだというのは、それはそれで1つの解釈ではあると思うけれど、所謂僕達のコンピュータについての説明が必要だ。
 コンピュータの中は普段意識しないブラックボックスみたいになっている。だから「CPUが何か計算している」と漠然と思って終わりになる。別に日常でパソコンを使うにはそれで何の不便も感じない。
 忘れてはならないのは、「コンピュータはこの宇宙の中にあって、この宇宙の中にあるものは物理学の法則に従う」ということだ。CPUやマザーボードを流れる電流は完全に物理学の通りに動いている。傾いたテーブルにボールを置いたら転がるのと同じことだ。これは物凄く不正確な例だが、ここに1つのビンがあるとする。ビンの中に入っているボールの数が「計算結果」だ。ビンの口にはジョウゴが付いている。足したい数字があれば、このジョウゴの端っこにその数分のボールを置いてやればいい。そうするとボールはジョウゴの斜面を下ってビンの中に「足される」。バカみたいだけど、コンピュータの中で起きていることは電気的にやっているこういう物理的なことだ。
 だからコンピュータの中での計算は普通の物理現象の利用で、何もこの世界の外側にはみ出したものではない。
 コンピュータと計算と現実世界を別物だと扱ってはならない。全部同じ次元のものだ。
 
 だから、物理法則の通りに何かが進行していることを、計算だと呼んでも構わない。
 今座っているイスに掛かっている力と微小な歪み具合は体重移動のたびに再計算されている。口の中で無意識に動いた舌がかき混ぜた唾液の動き。壁に掛かった時計の発するチクタクが部屋中に進行する疎密波の全て。蛍光灯を出発した光子が壁紙を構成する原子の持つ電子と起こす全ての相互作用。すべてが物理学の法則通りに、計算されて、それもどこにも1つのミスもなく完全に計算されて現象が進行している。この膨大で莫大で想像すると人間の頭なんて一瞬でオーバーフローする圧倒的計算量。
 追い得ぬものについては沈黙するしかない。

スケール

 本屋をウロウロしていると、ポリアという多分昔の数学者の書いた「いかにして問題を解くか」という本が平積みになっていて、その隣の隣に、「いかにして問題を解くか」をざっとまとめましたみたいな本があった。その本は僕が20歳くらいのときにたまに読んでいたサイエンスライターの人が書いていて、懐かしいなと思って手に取った。タイトルは「数学x思考=ざっくりと」というものだった。「物事を”数学的に”考えるというのはざくっとした数字や桁数などをさっと見積もることです」というようなことが書かれていて、一時期流行ったフェルミ推定なんかにうっすら触れてから、物理に親しんだ人間は次元解析とスケーリングをして物事を考えていますという話になった。
 例として「カブトムシが体重の何十倍もの重さの物を運べるからといって、人間だったら体重の何十倍ということは何トンとかの物を運ぶことに相当する。すごい」というのは非科学的だと挙がっていた。
 
 びっくりしたのは、次元解析にF=ma(力=質量x加速度)を持ち出して、加速度の次元は「長さ/(時間の二乗)」だから時間がファクターに入っている。時間は体内時計を考慮して云々と続いたことだ。
 体内時計というか「時間の感じ方」が生き物の身体の大きさに関係しているかもしれないという話は、何十年も前に「ゾウの時間、ネズミの時間」が有名にしたけれど、なんというかこれは半分は科学の域を超えている話だし、そもそもある物体の運動を考えているときに「体内時計」は全く関係ない。この”体内時計”は「ここからここまで物を運ぶのにたったの10秒しか掛かっていないけれど、この小さな昆虫は人間と時間の感じ方が違うからこれで10時間掛かったくらいに感じているかもしれない」という程度の話でしかない。基本的には小さな生き物の方が単位時間を長く感じるだろうと言われていて、たとえば1秒に30コマ映るテレビを人間は動画だと思っているけれど、昆虫が見ればコマ送りに見えているだろう、というような研究が行われている。
 これは”感覚”の話で、力学系を考える時には何の関係もない。力学的な系を流れる時間は人間でもカブトムシでも同じだし、動かすのに要した時間に言及しているわけでもない。
 非科学的というのであれば、この体内時計を考慮したスケーリングというものも非科学的だ。
 
 このスケーリングがおかしいのはモデルがあまりにも漠然としているからで、昆虫が物を運ぶという言葉だけしかなくて具体的なことが考慮されていない。 
 次元解析するなら、生き物の力は筋肉の断面積に比例すると仮定して、筋力は「長さの二乗」の次元と比例関係にあり、物の重さは体積に比例するから「長さの三乗」で効いているのだという話になる。
 身長が2分の1になれば、筋力はその2乗の4分の1になり、体重はその3乗だから8分の1になる。
 身長が10分の1になれば、筋力はその2乗の100分の1になり、体重はその3乗だから1000分の1になる。
 身長が小さくなると筋力は二乗でしか小さくならないのに、体重の方は3乗で急激に減少する。
 だから、人間のサイズを基準にすると、身長が10分の1のネズミあたりの生き物は、体重が人間の1000分の1しかないのに、出せる力が人間の100分の1もあるように見える。身長が100分の1のムシとかなら、体重は百万分の1になるのに、力は1万分の1もあるということになる。
 運ばれる荷物の方だって重さは体積に比例するから、一辺が小さくなればその3乗で軽くなる。
 小さければ小さいほど見かけ上すごく見えるけれど、スケーリングすれば別になんでもないというのはこういうことで、だからアリが羽を運んでいても、ノミが身長の百倍飛び上がっても驚くことではない、という話だ。
 
 つまり"長さ=身長、荷物の一辺"というものを媒介変数として、「筋肉断面積:"長さ"の2乗の次元のもの」と「荷物の重さ:"長さ"の3乗の次元のもの」の挙動を比較している。
 どこに働く力なのか考えずに漠然とF=maを持ち出して、力の次元には時間も入っていると言っても何もならない。

 実はこの記事を書く前に、さっとこの辺りは既に誰かが指摘しているだろうと思って、この本のことを検索してみたら、批判は見つからなくて、それどころか「理系エキスパートを育てる」みたいな学習塾の先生が感銘を受けたりしていたので、これを書くことにした。
 ざっくりと、というのはディテールをイメージできないと成立しない。
 
 
 
 
 
 
 
 

 

 

Ruby:p

 もしも今プログラミング言語を1つ学ぶならPythonがいいなと思っているのだけど、ちょっと理由があってRubyの勉強を始めた。
 僕のプログラミング経験は非常に限られていて、今までに触れた言語はCとFortranのみだ。それもCは大学に入った頃、20年近く前に少しやっただけで、大学院時代に使っていたFortranも数値計算の為にルンゲクッタ法で積分したりとか、数値計算の為のプログラムしか書いていない。さらに言うとFortranは77を使っていたのでコードを書く時に左から6つスペースを開けるという化石みたいなことをしていた。
 最近もArduinoを少し触ったりはしたけれど、拾ったコードを改造したくらいで大したことはしていないので別に何かを学んだりはしなかった。
 だから、プログラミングというものに向き合おうと思ったのはものすごく久しぶりで、オーバーな表現をすると今回のRubyでプログラミングの進化を20年分一気に味わった気がする。変なことを言っているのは分かっていて、Rubyはそれこそ僕が大学に入るより前の1995年に発表されているから新しい言語でもなんでもない。はじめて取り組むオブジェクト指向に圧倒されているだけなのかもしれない。なんだか良くわからないのだけど、Rubyが便利で驚いている。
 
 僕が大学に入学にしたのは1998年で、大学へ入ると同時に生まれて初めてのPCを買ってもらった。OSはWindows95でCPUはペンティアム1だったと思う。メモリは頭に浮かぶ数字がそんなわけないだろというくらいに低いもので32メガだった気がする。そんなわけ無いですよね?そんなだったのだろうか。大学の情報センターに並んでいる端末は全部UNIXだったし、ブラウザはネットスケープだった。今から思えば信じられない話だけど、ネットをするために「席が空いてるかな」と情報センターに入って行って、運良く空いていればログインして稚拙なサイトを眺めていた。グーグルなんてまだ存在していなくて、Yahooを「ヤッホー」と読むのだと信じている人がそれなりの数いた。
 入学したのは電子情報工学科だった。
 電子情報工学は今でこそアートやデザインと一緒になったりして、それなりに華やかだけど、僕が入学した当時はほとんど全員が男で、それもオシャレとはあまり縁のなさそうな学生ばかりだった。デザイン系の学科にいた女の子の友達に「電子情報ってオタクみたいな人と、せいぜい頑張ってもホストみたいな人しかいないね」と鼻で笑われていた。
 プログラミングの授業は当時それなりに活躍していた情報理論の教授が受け持っていて「パソコンの使い方とかそんなことはここでは教えないから、君らそれは勝手になんとかして、ここ大学だから、パソコンの使い方みたいな低レベルなことは町のパソコン教室でも行ってやってきて」というような感じでCを教わった。当時はまだキーボードすら満足に打てなくて、大学院生のTAが助けてくれるときにカタカタカタっとキーを叩くのがカッコよく見えた。そんな時代だった。誰か友達の部屋に集まってプログラミングの課題をやっていたとしても、全員のラップトップがオフラインだった。ネットはまだ遠かった。大学の図書館など数カ所にある情報コンセントと呼ばれていたソケットにLANケーブルを繋いでようやくネットが可能だった。どこか外でどうしてもネットに繋ぎたいときは公衆電話からプロバイダに電話を掛けて接続していた。まだホリエモンが買う前だと思うけれど、ライブドアは広告が出るのを気にしなければ無料でアクセスできるプロバイダで便利だった。
 思い出しついでに書くと、入学試験前、僕はどこの大学へ行くかを結構慎重に調べていて、大学のシラバスを貰ったりネットカフェで大学のサイトを覗いたりしていた。大学へ入る前のことなのでパソコンを触ったこともネットを触ったこともなかったはずで、ネットなしにどうやってネットカフェを見つけたのかは分からない(たしか京都西院のツタヤの隣にあった)。知らない人は絶対にものすごく驚愕すると思うけれど、当時のネットカフェには大きな電話帳みたいなものが何冊も置いてあった。その電話帳には電話番号の代わりにURLが載っている。もしも京都大学のサイトを見たいと思ったら、その電話帳みたいな本を引っ張り出してきて、「あいうえお、かき」>「きょうとだいがく」という感じで紙をめくって辞書を引くようにURLを探し出し、それをブラウザに打ち込むというわけだ。先程も書いたようにグーグルなんてまだなかった。グーグルが創業したのは1998年の夏、つまり僕が大学1年だった夏だ。Yahooはあったけれど、検索というよりはツリーを辿ってカテゴリから何かを見つけるという色合いが強かったのではないかと思うし、そもそも登録されているサイトが少なかった。
 
 さて90年代の終わりから2016年に話を戻そう。
 誰の手にもスマートフォンがあって、LTEがいつも繋がっていて、そこらじゅうをWi-Fiが飛んでいて、グーグルはバリバリと何でも探し出してくれる。これはもちろんとてつもない進化だ。
 ところが、さっき進化を味わっている気がするとかいたプログラミングだけど、コードを書くということに関してはどれくらいの進化があったのだろうか。
 コードを書くことには、思考を記号として並べるような心地よさと、キーボードからあらゆるものを生み出すような心地良さがある。だけど、やっていることはとても古臭い。たとえばウェブプログラミングはもう「こういう構成で、ここのウィンドウにはユーザの検索結果が出る」みたいな感じで、画像と、普通の日本語や英語でできても良いはずだ。実際にそれに近いサービスは存在するけれど、まだ全然普及していない。
 これはとても古臭いと思うし、10年後のウェブサービス構築者がコードをカリカリと書いているとは思えない。分野によってはコードを書くことが残るだろうけれど、多くの「一般的な」ジャンルではコードを書くことはなくなって、ビジュアルと自然言語での構築が普通になるはずだ。プログラミング言語は、今の僕達にとってのマシン語みたいな扱いになって、存在はエンジニアの教養として知っておく必要があるものの、実務では使われないものになる。
 
 だから、学ぶことを勿論全然否定しないけれど、プログラミングに関しては今の一部のSTEM教育の読みは外れると思う。一部のというのは具体的には、プログラミングを子供にやらせておけば将来稼げるだろうという目論見のことだ。コードを書くという行為は「ネジを締める」みたいな作業と同じものになる。
 プログラミングを知っていることは、知らないことよりは良いけれど、それがクリティカルな問題になるかというとそうではない。料理のことも知らないよりは知っている方がいいし、古式泳法も知らないよりは知っている方がいいし、というのと同じようなことになると思う。好きならすればいいけれど、そうでなければやっても仕方ないということだ。
 
 プログラマにならなくても論理的に考える力が養われる云々は、数学が思考力を養う云々に似ていてきな臭い。
 宿題の内容は役に立たなくても、宿題を我慢してやることで忍耐が身に付くみたいな詭弁だ。
 流行っているデザインシンキングとか、考え方の方法論には色々なものがあって、考えるということを考えることはきっと大事なことだとは思うけれど、何かのメソッドにしたりすると幅が狭くなるのではないかと思う。足場を組む方法はいろいろあって、足場を組むことでより高くより遠くへ行ける可能性は増えるけれど、どの足場をどうやって組むのかという地面の部分はメソッドの外側にある。そのあたりの方法論でカバーできない領域がまさに今人工知能に求められていることで、アルゴリズムでは書けなかったから人工知能という一種のブラックボックスに頼っているのだ。人工知能だってコードで書かれているじゃないかというふうに言われるかもしれないが、始点がそうであっても学習させた後の入出力関係はブラックボックスになっていて人が論理立てて説明できるものではない。人工知能の”ヒラメキ”は論理的に考えても分からない。
 願望は願望にすぎないが、1人の人間として、人間のヒラメキや思考も論理的に考えても分からない、幾分非科学的な、ロジックを超越したものであって欲しいと思う。条件分岐とループ如きで育まれる程度のものであってほしくないし、もっと言えば自由闊達にしていてわけがわからないまま自在に育まれるものであってほしい。

 

カロリーメイトアンバサダーミーティング;コピー:ロゴ。

 こういったカロリーメイト専用のホルダーも作っているし、こういうエントリーも書いているし、周囲の人にはときどきカロリーメイトの話をするので、僕がカロリーメイトを好むことを知っている人は知っていると思います。最近カロリーメイトアンバサダーになり、先日「カロリーメイトアンバサダーミーティング」という集まりに行ってきました。なんだその集まりはと思われると思いますが、それもそのはずで記念すべき第一回目のミーティングでした。
 その時の話を中心に、カロリーメイトのことを書きたいと思います。

f:id:ryota_yokoiwa:20161031195413j:plain

 話はミーティングの少し前から始まる。
 ちょっと前に、友達が口に軽い怪我をした。「食事で口を開ける度に傷が開いてなかなか治らない」と言うので、「じゃあカロリーメイトのゼリーみたいので1日か2日過ごしたら」と僕は提案した。別にカロリーメイトでなくても、他のゼリーでも何でもいいと思っていたので、そういうことも付け加えた。
 彼女が実際に買ったのはカロリーメイトで、「さすが大塚製薬」と彼女は数日後に報告してくれた。


「ゼリーでご飯済ませるなんてこれまで考えたこともなかったから、お店でそういうゼリー全部比較してみたの、成分表示読んで、そしたらカロリーメイトだけ200kcal入ってて他のはカロリー少なかった」

 僕はそんなことは全然知らなくて、大体みんな同じようなものだろうと思っていたのだが、たしかに確認してみると少ないものはカロリーが100kcal程度だったりする。さらにカロリーメイト以外の製品では栄養素がどれかしか入っていない、カロリーを摂りたいならこれ、ビタミンを摂りたいならこれ、ミネラルを摂りたいならこれ、という風に別れている。もちろんビタミンだけが欲しいという人だっているのだろうから、選択肢はたくさんあっていいのだろうけれど、値段はだいたいみんな同じだし、機能面からしてカロリーメイト以外のものを買う理由は見当たらないような気がした。
 カロリーメイトが好きだと言っても、僕が好きなのは基本的にはブロックタイプのパッケージデザインに限定されていたので、それまでゼリータイプにはほとんど関心がなかった。でもこのとき、そうかこういうゼリーにも確かにこだわりが存在して、なんだかんだ言っても大塚製薬は気を使った製品を作っているのだなと思った。
 
 それから数日後に参加したカロリーメイトアンバサダーミーティングは、メインテーマがこのゼリータイプのものだった。
 ゼリータイプの開発者の方から直接話を聞いたり、味を整えたりする前の、いわば素の状態のゼリーを試食させてもらったりという機会を頂いた。ゼリータイプの開発には5年も掛かったということで吃驚する。
 「5大栄養素を全部入れて、味を整えて、長期保存できるようにする」のはとても難しいという話で、一見「ビタミン剤とか香料とか適当に混ぜるだけじゃないの」と思ってしまうのだが、実際に作るとなると水分があって邪魔な化学反応も進んでしまうだろうし想像の100倍は大変なのだろう。他社の製品が特定の栄養素しか入れていないというのは、5大栄養素を全部入れることの難しさを暗に示しているのかもしれない。5年間の開発期間と費用を投入するというのは並のことではないし、この辺りはサイエンスを重んじる製薬会社がきちんと仕事をやり遂げたという感じがする。

 このゼリータイプについて、コピーを考える感じのグループワークもあった。
 短い時間のうちに納得のいくものはできなかったけれど、僕は言葉が好きだし、こういうのは楽しい。
 「バランス栄養食、カロリーメイト。」というフレーズは、既にほとんど完璧で、このフレーズと製品が生み出すイメージを壊さずに新しい要素を加えることは至難の技だ。
 このフレーズが持つイメージは、「単純にフレーズそのもの(と製品の合計)で作られたイメージ」と「経年変化を経て発酵し生まれたイメージ」の大きく2つのレイヤーに分解されると思う。
 
 1つ目のフレーズそのものに関しては、ソリッドでクールな”サイエンスで生み出した”という感じのイメージだと言うことができると思う。このフレーズを構成している4つの単語のうち「バランス」「栄養食」「カロリー」の3つはサイエンティフィックで温度がない。最後の「メイト」が軽やかに柔らかさを添えているだけだ。このクールさはブロックタイプのパッケージデザインにもよく表れている。BALANCED FOOD CALORIE MATE BLOCKというロゴの下にびっしりと小さな文字で表記された栄養素と原材料名。多くの商品でパッケージデザインと広告の区別がつかなくなった昨今では殊更クールだ。破裂型の吹き出しを使って「五大栄養素全部入り!!!」みたいなことは間違ってもカロリーメイトのパッケージに書かれることがない。
 
 2つ目の経年変化はロングセラー商品が必然的に背負ってしまうものだ。
 僕は「バランス栄養食、カロリーメイト。」というフレーズがいつから使われているのかはっきりとは知らないのだけど、たぶん最初からだと思う。どうしてかというと、BALANCED FOOD CALORIE MATE BLOCKというロゴはBALANCED FOODの部分を取ってしまうと成立しないからだ。(ここの話は全くの憶測なので色々間違いなど教えて頂けますと幸いです。。。)

 このロゴに入っている BLOCKは消したり、あるいはJELLYなどに差し替えても大丈夫で、実際にそのように使われている。たとえばアンバサダーミーティングではお土産に大量のカロリーメイトと一緒にしおりを貰った。しおりにはロゴが付いていて、カロリーメイトという商品群を表すためにBLOCKの部分に何も書かれていない。BALANCED FOOD の部分は残っている。
 BALANCED FOODの部分とBLOCKの部分では決定的な違いがある。 BLOCKは消してしまってもCALORIE MATEのCとMの文字が下に長く伸びているのでロゴ全体の高さは変わらない。BALANCED FOODは消してしまうと全体の高さが低くなってしまうので、ロゴの縦横比を壊してしまう。縦横比を壊してしまうのはまずいし、さらに突っ込んだ憶測をすると4本入りブロックタイプのパッケージではロゴ部分の高さと成分表示部分の高さが黄金比になっているのではないかと思う。たとえ黄金比でなくてもここのプロポーションだって変わったら困る。
 だから多分、製品のロゴができた最初の最初からBALANCED FOOD、ひいてはバランス栄養食という言葉が使われていのではないかと思う。そして、発売開始当時にはソリッドでクールだったこの言葉も、1983年の発売から約30年という時を経てレトロフューチャーに近いイメージを纏うこととなった。ここには信頼感と若干の的外れ感の2つがミックスされている。信頼感は問題ないが、的外れ感はより沢山の人に訴求するという意味合いでは欠点だし、ここはコピーや広告が補うべき部分かもしれない。たとえば、最近のカロリーメイトのコピー「とどけ、熱量。」は短くクリアカットで若々しい言葉使いで、信頼感を保ったまま30年の時を一気に飛び越え、新鮮かつ力強い文脈で当初のソリッドでクールなイメージを蘇らせることに成功している。
 
 ただ、もちろんコピーや広告だけでは付け焼き刃にもなり兼ねないし、商品そのものでもトランス脂肪酸やオーガニックということを気にする時代に合わせて改良する必要があるとも思う。
 ミーティングの最中、「そういえばカロリーメイトが発売された時、これはお菓子かご飯か論争があった」という話を聞いた。
 これは取りも直さず、食べ物に関しての全く新しいジャンルを開拓したということを意味している。それは素敵なワクワクすることだったけれど、30年が経過してすっかりとカロリーメイト的なジャンルは定着し、さらに時代は変わった。食事には自然で安全であることが求められるようになった。大塚製薬の企業理念は「Otsuka-people creating new products for better health worldwide」で、会社のサイトには「隅から隅まで創造性」とも書かれているので、そろそろ更に革新的な改良があるといいなと思う。