人生は、何とかなる。そして多くの場合、その方法はアナログだ。インパルスのような脳の活動電位でさえ、コンピューターの1と0より複雑だ ― そして細胞や系のデジタルシミュレーションは容易ではない。アナログ電子回路はこうした難問に太刀打ちするための強力なツールだ ― そしてMITの新しいコンパイラーは、プログラミングを大幅に簡易化する。
アナログ回路はバイナリー信号を通さないが、事実上無限種類の値を持つ入力を扱うことができる。そして、そのような数多くの独立した値 ― 化学濃度、pH、温度等々 ― を伴う細胞のシミュレーションには、特に適している。
そうした複雑な関係を、科学者は微分方程式でモデル化することが多い。もちろん解はデジタル的に求められる ― しかしデジタルコンピューターは同じ作業を連続して何十億回も繰り返さなくてはならない。データを薄くスライスすればするほど精度は高くなる。
しかしアナログ回路では、方程式の各値に相当する電圧が正しく設定され、それぞれがこの電流やあの電流に影響を与え、電気力学の法則の要求に応じることによって自ら答を出す。完全かつ連続的な解が、すばやく簡単に求められる ― しかしそうした回路をどう構成すべきかを知ることは、簡単とはほど遠い。実際それは、複雑さが増すにつれ、並外れて困難になっていく。
MIT CSAILの大学院生、Sara Achourは彼女の指導教授であるMartin Rinardおよびダートマス大学のRahul Sarpeshkarと共に、Acroと呼ばれるコンパイラーを作った。これは実質的に、人間が読めるデジタルコードをアナログコンピューター回路の構成に変換するものだ。
いくつかのトランジスタを使うことで、細胞形態アナログ回路は複雑な微分方程式 ― ノイズの影響を含む ― を解くことができ、そのためには何百万ものデジタルトランジスターと、何百万ものデジタルクロックサイクルが必要だ」とMITのニュースリリースでSarpenshakarは言った。
コンパイラーは関連する数式を見て、正しい結果を生む回路を生成する ― 数式1つにつき14~40秒かかるが、これは人間が解を求めるのに比べて大幅な改善だ。そして、改善されたのは時間だけではない。アナログ回路の構成はどんなに大きなアナログ回路にもスケーリングが可能で、単一の細胞だけでなく、器官や組織全体にも使える。
バイオインフォマティクス(生物情報学)の仕事をしているのでない限り、アナログコンピュータを直接見ることはないだろうが、生物プロセスのシミュレーションの進歩は、それ自身に加えて医療分野の研究を進める一手段でもある。
彼らの書いた新しいコンパイラーの論文はAssociation for Computing Machineryカンファレンスで先週発表された。
[原文へ]
(翻訳:Nob Takahashi / facebook)