量子コンピュータやDNAコンピュータ、最近ニュースになることが少しずつ増えてきました。
日本人が発明した、粘菌コンピュータなんて言うのもあります。粘菌というアメーバ状の菌に迷路を解かせたり、都市間を効率的に結ぶ地図を作らせたりする技術です。
いま僕らはデジタルの時代に生きていますが、上記は “デジタル + アナログ” の技術です。粘菌コンピュータ、DNAコンピュータはアナログコンピュータですし、量子コンピュータ(の一部)もそうです。
僕は、アナログコンピューティングの技術は人類にとって、農業の発明や言語の獲得と並ぶような、歴史に残る影響力があると感じています。
インターネットもAI(データサイエンス)も十分すごいのですが、まだあまり世間に認知されていない、アナログコンピュータについて書いてみます。
2017年現在でも解けない問題
7つの都市を営業マンが順に回るとき、なるべく楽するにはどうしたら良いでしょうか?
回り方は全部で5000通りくらいしかないので、コンピュータで計算すればすぐに最短経路が分かります。
しかし、次のように都市が増えると、とたんに回り方の組み合わせ数が爆発してしまいます。
スーパーコンピュータを使っても1000万年かかる問題は、「解ける」とは言えません。
このように、世の中には「言うは簡単、解くは困難」な問題があります。乗換案内などのアプリでも、回り方(乗り換え経路)は正確な解でなく、概算や近似解で代用されています。
- 組み合わせ問題はすぐにケタが増えて、事実上、解けなくなる
- 「道順」のように身近な問題でも、まだ人類に解き切れない問題は多い
シュタイナー問題
似たもので、次のような問いがあります。
- 線路を引いて、どの駅からどの駅へも行けるようにしたい
- 線路を引く総距離を短くしたい
こちらも駅が10個を越えてくると、組み合わせの数が爆発します。これらの問題は現代のコンピュータでは解けません。
しかし、アナログコンピュータを使えばこういった問題も解くことができます。
アナログコンピュータ その1 – シャボン玉
先ほどのシュタイナー問題の解法です。
板に4本の棒を立ててシャボン液に浸します。これをゆっくり持ち上げると棒の間にシャボン膜が張り、表面張力によって問題の解(最短経路)が得られます。
これは、アナログコンピュータの一例です。
“computer”(計算するもの)ということで、「シリコンチップが入ってなくても、答えが得られればコンピュータでしょう」という考え方です。
もう一つ、例を見てみます。
アナログコンピュータ その2 – 水の分子
水、H2Oは、こういう形をした物質です。
この角度(105度)を計算しようとすると結構大変なのですが、実際の水分子はどれを見てもきちんと105度に収まる性質をもっています。
このように、世の中には「計算するよりもやってみて、結果を観測した方が速い」ような問いがあります。ピサの斜塔から鉄球を落とすのもそうで、落ちる時間は頑張って計算してもいいのですが、実際に観測すれば簡単に答えが得られます。
- 方程式を使って「解く」のは手段。目的は「答えを得ること」
- 解かなくても観測すれば済む問題では、その方がシンプル
アナログコンピュータの原理
シャボン液や水分子は、脳みそもシリコンチップも持っていません。なぜこういう問題が「解ける」のでしょうか?そこには自己組織化と呼ばれる現象があります。
イワシの群れが急に方向転換したり、鳥が群れで飛んだりできるのって不思議ですよね。この「イワシの群れ、なぜ組織的に動けるのか問題」は1980年代に答えとなるモデルが発見されています。
- 隣に近づきすぎるな
- 隣から離れすぎるな
- 隣と同じように進め(スピードと方向)
各個体を、この3つのルールだけでシミュレートすると、本物の群れそっくりに動きます(ボイドモデル)。群れの中にランダムに動く個体がいても、全体が調和して集団のまま、きれいに振る舞います。
「みんなが自分のことだけを考えてルールに従っていれば、全体として意味を持った動きが生まれる」という現象が、自己組織化です。経済で言う「神の見えざる手」も、自己組織化の一例です。
自己組織化の例:
個(ミクロ) | ルール | 全体(マクロ) |
---|---|---|
イワシ | 3つの指示 | 群れとしての動き |
シャボン液 | 表面張力 | 最短経路 |
水分子 | 分子間の力 | 適切な角度 |
個人 | 利益追求 | 見えざる手 |
- 自己組織化:各自にルールを与えると、全体に意味のある動きが生まれる自然現象
- 「ルールを与えると答えを返すもの」がコンピュータ
- ならば自然もある意味、コンピュータと呼べるはず(アナログコンピュータ)
まとめ
人間は、ルールを与え結果を観測することはできます。でもルールから結果を導く(=計算する)ところに能力の限界があります。「なら自然がもつ性質をうまく利用して、計算の部分だけやってもらえばいいじゃないか」というのがアナログコンピュータです。計算の手法がシャボン液だろうが粘菌だろうが、答えが得られればいいんだよ、と。
シャボン液や粘菌だと、線路や迷路など特定の問題しか解けないので、もう少し応用が効くようにしたのが量子コンピュータです。でも結局やってることは同じです。シャボンの分子や粘菌細胞の代わりに、電子などの量子を使っているというだけの違いです。デジタルな計算をしているわけではないのですね。
ルールだけ与えて、電流がどっち向きに流れるかという結果を観測するような実験装置が、量子コンピュータ(の一種であるイジングマシン)です。
最後、箇条書きでまとめます。
アナログコンピュータの仕組み
- 個にルールを設定すると、全体の振る舞いが得られる。それが解になる
- コンピュータと言うよりも、「実験と観測」「シミュレーション」に近い
何がすごいのか
- 人間には、ミクロからマクロを計算することができない。複雑系なので、組み合わせ爆発によって計算量が追いつかない
- 自然には、ミクロからマクロの “計算” ができる。計算というか、シミュレーションというか、実験というべきか。答えを導き出してしまう
- よって自然にアナログな “計算 (computing)” をさせることで、人類だけではデジタルに解き切れない問いでも解が得られる
新しくできること
- いままで人類が解けなかった問題が解ける
- 「最適化問題」が解ける(巡回サラリーマン問題など)
- 社会のような複雑系における問題は、むしろほとんどが最適化問題である
最初の量子コンピュータがD-Wave社から発売されて、もう6年が経ちました。すぐに世の中は変わりませんが、この技術の延長線上には大きな挑戦と可能性が待っています。