名古屋大学情報文化学部広報誌掲載
使われ使いつつコンピュータエンジニアリングの中をうつろいながら
名古屋大学大学院情報学研究科 渡 辺 崇
長野オリンピックのジャンプ台の上です。
1.ウォーミングアップ
先頃,情報文化学部から情報メディア教育センターに移ったことも含めて, いつかの組織を渡り歩く間に、引きずることもそれにつれて多くなったり 少なくなったりしましたが、分かり易いところを中心にざっくばらんに述 べてみましょう。 出発点は数値計算です。今では使う人もほとんどいないであろう大型計算 機のアセンブラなども書いていました。スマートなアルゴリズムと、その アルゴリズムを実現する簡潔なプログラムの作成です。より短い(よりク ロック数の少ない)命令系列で実現できることを見つけた場合などには、 とてもうれしい思いをしたものです。そういえば、このような喜びと切々 と授業中に説いていた名物先生もいたなあ。
2.プログラムを作ろう
もっとも、アセンブラはプログラムの一部を記述するために時々用いてい た程度であり、主に利用していた言語は、今では悪者に祭り上げられる危 険性もあるFORTRANです。FORTRANと言えば、情報文化学部の授業のプログ ラミング序論やプログラム設計で体験したことを覚えている人もいるでし ょ。授業の時にも触れたように、FORTRAN という言語は命令の数が比較的 少なく、少し学べば誰かの書いたプログラムを読むことができるという利 点があります(もっとも、プログラムを作ったり理解するためには、読む ため以上の力が必要ですが)。
このコンピュータ言語を使って物理的な現象を支配する非線形微分方程式 の解析を行いました。特に、数学的な設定は同じでも、計算条件のわずか な差により様々な答えが得られるという幾つかの方程式を対象としました。 最近流行の複雑系にも通じるものです。自然現象の観測や実験により知ら れている挙動を確認したり、また、これまでに見い出されていない挙動を 予測し、それを実験的に確かめるという作業を行いました。具体的には、 流れの中で重力や温度などの付加的な効果が現れる現象を対象です。効果 の影響を考慮すると方程式の形が変化するため、それに応じてプログラム も構成し直す必要があります。この作業を簡単化するために、式と適当な 条件を与えれば、プログラムを作ってくれるようなプログラムを作ろうと しました。
方程式は記号で表され、またプログラムも記号で表現されます。ですから、 プログラムを作るプログラムは記号処理に適したコンピュータ言語を用い て作成します。このプログラムのためのプログラムにより、プログラム作 成の効率がグンと上ることは言うまでもありません。一日に数十本のプロ グラムを書くことができると豪語できます(?)。
3.構造からプログラムへ
さて、世の中の動的な組織を見てみると、全体な物は部分な物からなって おり、ある部分は、そのまわりの部分との局所的な関係を保ちながら働い ているように見えます。この物を中心とした構成法に従いプログラムもで きないものかという考えのもとで、視覚的に部品を組み合わせて、求めた い事項を指定することで、必要な物理支配方程式系を導出し、解析するた めのメタ的なプログラミングに必要な原理の構成を目指しています。
ここで「視覚的」と言うのは、英語にすればVisualです。Visualといえば、 この頃、Visual Basicなどをはじめとするビジュアル系ソフトが幅をきか せつつあります。しかし、これらのビジュアル系のソフトで視覚化される 部分は、プログラムそのものではなく、プログラムを作るための支援、言 い換えれば、プログラムを作る人間とコンピュータの中で実現されるプロ グラムの橋渡しをするインターフェイス部です。今、考えているのは、物 理的現象を解析するためのプログラムそのものを視覚的に表してしまおう というわけです。それも、フローチャートやPADといった、プログラムに直 結する表現方法ではなく、物としての部品をそのまま用いて表そうとする アプローチです。このため、ビジュアル系開発環境とは異なる考え方です。 もちろん、ビジュアル系ミュージシャンとも異なります。
分かり易い例では、抵抗やコンデンサーからなる回路の挙動を、配線図か ら見積もろうということです。電気回路や制御系については市販の解析シ ステムが存在しており、比較的モデル化しやすそうなため、見地を変えて、 建物の強度計算に代表される構造力学や、町の水道管網、ガス管網の設置 に不可欠な配管系を対象とします。課題となる主な点は、構成要素の切り 出し、抽象化と、それらを用いて全体系を組み立てた場合の整合性をはか り、保存式を導出することです。各種の工業企画書を調べたり、また時に は哲学的な議論も行いながら、設計していきます。
4.図面の誤りを正す
視覚情報を認識するための開発型研究として、光学機器メーカーとの発案 を受けた多面図の理解を進めてきました。自動車のような機械製品や建物 などの設計情報は、多面図を基本とした設計図面、つまり、正面から見た 図、右側あるいは左側から見た図、上側あるいは下側から見た図という複 数の図で表されます。この表現方法は従来から用いられてきており、CAD (計算機支援設計)などによりコンピュータ上で設計情報を管理する方法 が盛んとなってきた現在でも、依然その有効性は衰えていません。
しかし、CAD化が進むにつれて問題がいくつか出てきました。その1つが、 CADが利用される以前に、手書きで描かれた膨大な図面の活用についてです。 それらをイメージスキャナなどを用いてCADにのせて利用できれば良いので すが、このためには、図面中から対象の形を表す線や寸法を表す記述を分 離、認識し、CADデータに変換する方法が必要です。また、別の問題が、認 識した図面情報を3次元化して立体を構成する方法の検討です。立体構成 はコンピュータが設計に利用されるようになってから開発が進められてき ており、ある程度の成果が得られるようになりました。しかし、たった1 本の線分が正しく認識されないために、正当な立体が生成できない場合も 起ります。図面を与えても対象物が構成できないという、人間であれば到 底納得しないような結果を出しておきながら、知らぬ、存ぜぬという顔を しているコンピュータに嫌気がさして、イメージデータをそのまま記憶す ることで図面を保存しようとする動きも出てきました。記憶容量の急速な 伸びに後押しされた、電子図書館的な発想ですね。
一方で、図面が建物や機械部品を表すことが分かっていれば、3次元の立 体ができるという前提で図面を読むこともできるはずです。つまり、多少 の誤りがあったとしても、「立体ができるとしたら、こういうものが考え られる」という見地から図面を検討できると考えられます。これは、人の 話を聞いている場合に、多少聞き取りにくくても、前後の関係や話者が意 図している内容から本来の発話を推定することに似ています。別の見方を すれば、コンピュータとの会話において、人間が誤った入力を行っても、 コンピュータの側が適宜認識してくれるということです。このような、図 面の認識における誤りの同定と修正の問題は、最近になってようやくいく つかの方面で注目されるようになってきました。入力中のわずかなミスで も、推定できる誤りの原因が膨大になる傾向にあり、それらから妥当な候 補を選ぶことがポイントです。
5.コミュニケーションの手段としてのダイアグラム
設計図面を認識するということから、図を意志疎通の道具として用いるこ とにも興味が広がってきました。言語や画像による情報伝達とは異なる、 ある目的を持って描かれる図形を用いたコミュニケーションを対象とした、 図による推論の一部です。
簡単な例として、幾つかの丸を線で結んだ図を考えてみましょう。この形 態の図は、路線図や数学での順序構造、数理科学での木構造などを初めと して、いろいろなところで見られます。このような図が具体的に紙面に描 かれる場合には、座標や位置関係などを表す幾何的、位相的な情報と、図 が特定の分野で言及する意味についての情報があります。同じ図でも分野 によって意味が異なるという、図の多義性(可塑性ともいわれています) を如何に扱うかを念頭に、複数の分野で図を認識することに目を向けまし た。これについては、97年度に修士を終えた上田祐美さんに進めてもらい ました。幾何学、位相学を理解する機能、各分野の理論を理解する機能、 そして、これらの間の情報を橋渡しする機能を設けて、1つの図を複数の 分野で扱うための方法を考えました。また、ユーザの発言内容を解析して、 図が意図されている分野を特定する簡単な方法も実現し、本来は、ある特 定の分野における内容であるにもかかわらず、別の分野の話をおりまぜて 会話を進めることで、比喩が成り立つことを確認しました。擬似言語を用 いた機械的なコミュニケーション方法から、より自然なコミュニケーショ ン方法への発展が当面の課題です。
6.円筒の中の芸術
先に述べた現象の解明のためのプログラミング、つまり数値シミュレーシ ョンの対象の1つとして、図1に概略を示す、回転2重円筒間の流れも扱 っています。半径の異なる円筒が同心状に配置されており、半径の大きい 外側の円柱は静止、内側の円柱は軸周りに回転する場合に生じる流れです。
普段の生活では気付かないかもしれませんが、空気や水などの流体も、極 端な話、蜂蜜のように粘り気を持っており、動いている物体に接すると、 その物体の速さに引きずられ、止まっている物体に接する場合には止まろ うとします。回転2重円筒の流れでは、内側の円柱に接する流体は回転し、 外側の円柱に接する流体は静止しています。内側の流体が円筒の回転とと もに軸周りに回りはじめると、遠心力が働くようになります。遠心力が働 くと流体は外側へ飛ばされます。外側に飛ばされるということは、静止し た外側の円柱に近づくことであり、流体の回転はだんだん弱くなります。 一方、内側から流体が飛ばされてきたため、それまで外側にあった流体は、 内側からの流体に押しのけられます。こうすると、円柱のまわりには周方 向に軸を持った渦が何層にも重なった流れができるようになります。この 渦は、系統的に調べた研究者の名前をとってテイラー渦と呼ばれており (最初は、かのニュートンが調べたという説もあります)、これまでにも 様々な実験的、数値的研究がなされてきました。円柱の長さが有限で、円 柱両端に壁がある場合には、流れが複雑な分岐現象をもたらすことが知ら れており、現在、この現象の解明を進めています。
実験的に作ったテイラー渦の様子を写真に示します。これは軸を含んだ 面で円筒を切った断面内の流れの写真です。空に風が吹いていることは、 雲などが流れることから判断できるのと同様に、流れの様子も何らかの工 夫をすることで見ることができます。よく用いられる方法が、予めアルミ の粉などを流体中に入れておき、この粉の動きから流れの様子を観測する ことです。実験室を暗くしておき、軸方向に細長いスリット状の光を半径 方向にあてると、写真の様な流を見ることができます。(a)、(b)、(c)の 3枚の図は、それぞれ6つ、3つ、そして、横に並んだ大小2つの渦を含 んでいます。 これらの写真に相当する流れを、数値計算的に求めてみたところ、 少なくとも渦の数は予測できてるようです。まずはメデイタシ、メデタシ です。
7.さてさて
さて次は....それは他の機会にでもということで、今回はこのあたりまで...。