Monthly Archives: 3月 2010

研究用ソフトウェア環境の整備

しばらくBlogを休みましたが、その間に、Mac OS Snow Leopard上に関数プログラミング言語Haskellの環境の整備をしました。

Haskellは1998年版が基準になっているということで分かるように、かなり歴史がある言語になりました。コンパイラはGlasgow版のGHCが一般的です。最新版のGHC6.12.1をインストールしましたが、その道筋は単純ではありませんでした。

以前に書いたPOPP(Parallelism-Oblivious Parallel Programming)の実験のために、GHC6.12.1をインストールしようと考えたのです。一方で、並列実行のプロファイルをとるツールとしてThreadScopeが開発されているのですが、これは、Gtk2hsというGUIライブラリを使っていて、GHC6.10.3でコンパイルする必要があるというので、バージョンの違うGHCを使い分けるという複雑なことになっていたのです。

詳細は省きますが、ともかく、2日がかりでこのあたりの事情はよく分かりました。これから、POPPの実験を始めようと考えています。今年度の卒業論文でT君が試みたものの、GHC6.10.4のランタイムシステムの並列実行の挙動がよく分からなかったところを追試してみたいと思います。

研究のための環境を整えることも研究の一環です。ソフトウェアの環境の整備は他に比べて楽だと思うのですが、最近は、なかなか複雑になっていて、手がかかります。終わってしまえば、そういうものかと分かるのですが、その過程ではいったいどうなるのか、やめた方がよいのではないかと思いながらも時間をかけて、環境整備を行ったことはよい経験でした。こういう作業も久しぶりでしたが、現状がよく分かりました。”An ounce of practice is worth a pound of theory” といえるでしょう。

Blogの自己分析

Blogを始めて、ほぼ一月。明確な対象も決めないままに、いろいろなことをいろいろな形で書いてきました。自分自身のメモのようなものもあります。

最近、カテゴリーを増やして、Diaryだけでなく、「研究トピックス」、「大学関係」、「学術一般」、「情報社会」、「その他」というふうに分けてみました。これまでの全32件について、(重複がありますが)カテゴリーを見ると、この5つのカテゴリーにほぼ、均等に書いているようです。

カテゴリー分けがしづらいのですが、「論調」といったことで、「情報提供」、「意見表明」、「意見伺い」のように分類してみました。これも重複があるのですが、「研究トピックス」の5件はもっぱら「情報提供」で、研究の話題を分かりやすく紹介するつもりであったことが分かります。研究で主張するのは、論文になりますから、当然といえば当然でしょう。

「大学関係」では、「意見表明」をしつつ「意見伺い」というものが多いのですが、明確に意見を書いたものが6件ほどありました。

「学術一般」では、「情報提供」2件、「意見表明」4件、「意見伺い」2件でした。

「情報社会」というカテゴリーには、さまざまなものを入れましたが、情報技術やツールに関するものも含んでいます。「情報提供」2件、「意見表明」1件、「意見伺い」2件。

「その他」には、用語や文体のような話題から、この記事のようなものまでさまざまですが、7件ほどがありました。

「意見表明」については、うっかりすると「愚痴」にならないとも限りません。ある方から、そのようなご注意もいただきました。本人はそのつもりでなくても、どのような意図をもってBlogで発信するのかということを明確にしないと、誤解を招く恐れがあるということだと思います。意見を表明するにしても、それを主張するほど強いものではないと思っていますが、それでもなお、「なぜ、他の手段ではなくBlogで発信するのか」と問われると、今は、明確な目的を答えられません。もちろん、他の機会に同じような意見を述べているのですが、その上で、Blogで発信するのは、かえって、「愚痴っている」ととられかねないということです。こういったことには気がつきませんでした。

このBlogを始めたきっかけはいろいろあるのですが、まずは、情報社会における情報発信のツールを使わずして、情報社会に口を出すのはおこがましいという気持ちからです。2月初めにtwitterを始めてみたものの、どうも性に合いません。遅ればせながら、Blogを経験してみようと始めました。これまでにも、専門家相手の論文以外に、教科書や解説といった文章も書いてきましたので、書くこと自体は慣れているつもりですが、Blogでの発信はやはり違うようです。長きにわたって社会に定着した書物とは違った形のBlogというメディアでは、発信者と受信者の関係が(匿名性を含めて)一種の「おもむき」を作り出しているようです。

この一月の経験をもとに、今後も継続して発信したいと考えています。

大学教員の流動性

この時期、大学では恒例の退職教授惜別会が開かれます。今年は、われわれの研究科でお二人の先生が定年で退職されます。

大雑把に言って、研究科には30名の教授と70名の准教授・講師・助教がいます。研究科ができてから満9年、この間、これまでに8名の先生方が定年退職していますので、今年で10名ということになります。これも大雑把ですが、平均して毎年1名の教授が退職するといってよいでしょう。30名の教授で全100名の教員からなる組織で、この数はどうなのでしょうか。

これだけの情報からでは、「1年で1%しか入れ替わらない膠着した組織」といったイメージが浮かぶかも知れません。しかし、実態はというと、外部からの教授の就任や、若手の教員の入れ替わりがかなりあります。2004年度から3年間に(内部の昇任を除いて)新規に採用された教員は約30名でした。100名の組織で年平均10名が新規に採用されたのですから、毎年10%の入れ替わりがあったということになります。任期制のポストはありませんでした。

組織の性格によって違うでしょうが、年間に10%の教員が入れ替わっているというのは、継続的に教育を行う研究科としては適正なものだと思います。他の組織ではどうなのでしょうか?任期制によって流動性が高くなるということがあるのかも知れませんが、そのような制度がなくても流動性は保たれているといえるでしょう。

一般に、「膠着した組織」という大学像が多く報じられますので、それが社会に印象づけられてしまいます。それを解決するために、「流動性を高めるために任期制を導入する」という「名案」を生み出したのでしょう。しかし、これでは、組織の自律性を無視して「制度」に頼ることになってしまいかねません。

2010/2/20に「大学の国際化の目指すものは?」を書いたときとおなじ思いがあります。大学人は特別なプログラムや制度がなくてもできることをやるというのが筋ではないでしょうか。

シミュレーション技術と計算機科学

今日の夕方、JSTの「シミュレーション技術の革新と実用化基盤の構築」領域の打上げ会があります。7年ほど、アドバイザとしてお手伝いしました。というよりも、むしろ、各プロジェクト実施の研究者の方々から計算科学の実態をお教えいただいたように思います。これまでにも取り上げたことのある Parallelism-Oblivious Parallel Programming (POPP) という考え方が大事ではないかと思ったきっかけの一つだといえます。

余談になりますが、以前から、どうしようかと迷っていたのですが、Parallelism-Oblivious Programmingよりも、上に書いたPOPPのほうが誤解がないと考え、これからはPOPPにしようと思います。一月前、2010/2/16の「並列性忘却プログラミング」にもそのようなことを書きました。

モデル化を行ってシミュレーションによって物理的・化学的な現象を検証するというアプローチを「計算科学 (computational science) 」と呼ぶのが一般的でしょう。そこでは、スーパーコンピュータが活躍しますが、そのために(並列)プログラムを開発することが大きな課題となります。このような計算科学は、「理論」、「実験」に続く第3の研究方法論だそうです。科学の方法論には詳しくありませんので、このようなメタな議論には参加できません。しかし、シミュレーション技術が自然科学の方法論に影響を与えたことは分かります。

計算的手法による研究は多くの分野で一般的になってきています。いくらか抽象的ですが、計算科学を超えて(?)既存の知を高度に活用する第4の方法論として 「E-サイエンス (E-science) 」というものもあるそうです。目新しい用語に人が群がる姿はこれまでにも多くありましたが、ことばにしても概念にしても外国からの移入がほとんどです。E-サイエンスについては、計算科学とどこがどう違うのか、概念やねらいを正確に理解してから考えたいと思います。

このように、もう第4の足音が聞こえてきているところだそうですが、それでもなお、第3の方法論と言われる計算科学の核となるシミュレーション技術が多くの分野の研究を支えることはたしかでしょう。その基礎となるプログラム開発の手法、プログラミング方法論など、「計算機科学 (computer science) 」の研究が縁の下の力持ちとして支えることが大事だと思います。新たな方法論だけに向かうことだけでは困るでしょう。

今夕の打上げの後のことはまたいつか書くことにしたいと思います。

プログラムのレイアウト

昔から、プログラムの表記法にはいろいろな話題が尽きません。

今でも、多くのプログラミング言語は英字、数字、記号などの文字(いわゆる、ASCII文字)で書くのがほとんどだと言ってよいでしょう。それを1次元の文字列として考えるかどうかということもあります。さすがに、今では、大昔の(いわゆる)IBMカードを重ねたカードデック(カードの束)のように、物理的に2次元(?)の形状をとることはないでしょう。

最近は、Emacsに言語ごとにモードが設定できて、賢いレイアウトを行って、読みやすいレイアウトが自然にできるようになっています。1次元の文字列のプログラムを2次元にレイアウトして分かりやすく表示しているわけです。

関数型言語では、かなり前から、レイアウトによって区切り記号(デリミタ, delimiter)を省略しようとするのも一般的になっています。Haskellにも「オフサイドルール」が使われています。大雑把に言えば、前行よりも前に出ない部分はその前の行の文法上の構成の中の部分要素になっているというものです。また、一列に書くときにセミコロン(;)で区切るところを改行によって代用することもあります。

「オフサイドルール」は、1966年にLandinが提案したISWIM

http://ja.wikipedia.org/wiki/ISWIM

にすでに現れているということです。ISWIMは実用的な言語ではありませんが、その後の関数型言語の設計に大きな影響を与えたものです。Landinは英国人だからというわけでもないでしょうが、サッカーやフットボールのオフサイドと発想に関連があるかも知れないと思ったりすることがあります。

http://en.wikipedia.org/wiki/Peter_J._Landin

2/16に「並列性忘却プログラミング」のことを書きましたが、最近、ときどき、Fortressという新しい言語を使ってみています。

http://projectfortress.sun.com/Projects/Community

この言語、大胆な試みが行われているのですが、なかでも、乗算(数のかけ算)の演算子は「とくにない」、いいかえれば、数学で普通に書くように、「空白」だというのです。一般のプログラミング言語で使うアステリスク (*) のように、目に見えるものは使わないのです。先日も、うっかりしていて、空白を一つ置いたのがエラーだというのが分からなくて難儀しました。もちろん、意識して乗算を表すときはよいのでしょうが、レイアウトの関係で空白を置いてしまったら、そこに乗算演算子があるというのは、なかなか気がつきません。

プログラムの表記を数学の表記に近づけるのはよいのですが、「幼児体験」としての先入観が邪魔をするところもあるようです。

「学術」とは?

以前に「Scienceは「理科」?「科学」?」という話題で私見を述べたことがあります。また、日本学術会議も話題にしたことがあります。

“Science” の日本語訳のことを言っておきながら、「学術」を英語でどう表現するのか、私には分かっていないことに気づきました。日本学術会議の英語名は “Science Council of Japan” です。

「学術」ということばは、[広辞苑 第四版]には

①学問と芸術。
②学問にその応用方面を含めていう語。「―雑誌」

とあります。また、[岩波国語辞典第六版]には、

学問。「―雑誌」「―論文」#学問と芸術、または学問と技術とをふくめて言うこともある。

と書かれていて、「学問と芸術」あるいは「学問と技術」と明示してあります。「学問と○術」を簡潔に「学術」にした感じがするのですが、どうでしょうか。要は、「学」の「術(すべ)」ということでしょう。とはいっても、「すべ」というのはまた、含みのあることばだと思います。

さて、「学術」に対応する英語はどうかというと、[研究社 新英和・和英中辞典]

science; 〈学識〉 learning; scholarship 《★英語に「学術」にぴったり当てはまることばはない》

のように、ピッタリとしたことばがないと書いてあります。

たしかに、日本学術会議はわが国を代表するアカデミーとして国際的な学術団体として位置づけられていますが、多くのアカデミーではカバーしていない「人文・社会科学」分野を含んでいるという特徴があります。現在の日本学術会議は3部から構成されていて、第一部(人文・社会科学)、第二部(生命科学)、第三部(理学・工学)がそれぞれ1/3を担っています。詳しくは学術会議のホームページ

http://www.scj.go.jp/

を参照していただきたいと思います。人文・社会科学を含めている “Science Academy” は、国際的にも特徴的ですが、国際規模の課題の解決に学問が対峙するためにも、最近はむしろ日本学術会議のようなアカデミーの形が評価されていると思います。

つまり、「学術」というのは、狭義の(自然科学)を指す “Science” ではなく、人文・社会の分野、および工学分野をも含む「学問と○術」を包括的に表していることばだと理解してよいのではないでしょうか。これが、日本学術会議の英語名にあるように、”Science” のあらたな概念になるのではないかと期待しています。

大学における「人材育成」

昨今、「人材育成」がよく話題になります。それだけ、難しいことだということでしょう。

大学でも、あるいは学界でも「人材育成」が議論されることは多いのですが、産業界や企業におけるものとは少し違うように思えます。大学や学問の世界で、「人材を育成する」ことはどういうことなのかと考えます。大学では、よく、「人材育成」という文脈で「教育」が議論されます。「大学教員は研究に力を注ぐあまり、教育がおろそかになっているのが問題だ」というのは、人材育成という課題にとって問題だといっているのでしょう。

「人材を育成する」というのは、どうも、上から目線といった感じがして、大学という場に適当なのかどうか、疑問に感じます。大学生は学問の途に入ってきた大人です。教員と学生が議論を戦わせて互いに自己研鑽を積むというのが本来の大学の姿だったわけです。いつの間にか、「教員が学生という芽を育てる」というのが当たり前になったようです。大学の大衆化ということでしょうか。

長年、大学にいると、ときに、「いい人材を育てることが使命だ」と言ったり、「多くの人材を育てましたね」と言われたりすることがあります。しかし、私の実感は、「いい人材が育つようにする」ことが使命であって、「多くの人材が育った」ことを喜ぶといったところです。

技能を身につける、スキルを磨く、といったところでは「育てる」教えが必要でしょう。英語力を高めたり、今では情報リテラシーを修得するといったことはこれにあたるでしょう。しかし、それらは英語学や情報科学といった学問体系を学ぶこととは違います。学問を学ぶことは、自らの見識でものごとを見る力を身につけることですから、一方的に教え込むようなものではないと思います。教員は学生の手助けをするに過ぎません。教員もそれによって学ぶわけです。

大学教育の中にも、もちろんそのようなコースも必要ですが、すべてをそのような向きに進めようとすることは疑問です。産業界からの要請もあって、大学院課程で実践的なコースを試行するプログラムがいくつか行われています。そこでは、カリキュラムに基づいて教材が開発され、それにしたがった特定の講義と実習だけで修了できるようにしている大学もあります。形にはめてしまえば人材が育つのかどうか?一定数の修了生は出るでしょうが、体系的な知識と技術とともに、見識を身につけた人材が育つのかどうか?「教え込む」ことを過信しないのがよいと思います。

国際ワークショップの開催場所

われわれはほぼ毎年、研究室(まわりの関係者)で主催する国際ワークショップを開いてきています。最近は、科研費の研究課題の「双方向変換」に関わるものが多いといえます。分野によっても違うでしょうが、われわれの場合には全体で30名、内、海外からの参加者が10名〜15名といったところです。

今日の夕方から、ワークショップの場にきています。今回は海外からの参加者は19名です。
http://www.biglab.org/4th-Btrans/#links

ワークショップは国際会議と違って、研究途上のアイデアや、場合によってはすでに発表したものの紹介など、交流を深めるために有効だと思います。とくに、国内で開くときには、学生にも参加してもらって、国際的な視野をもって研究を進める刺激を得る機会にしてもらっています。

いつも話題になるのは、このようなワークショップを開く場所のことです。経費のこともありますが、運営にかかるオーバーヘッドを少なくしたいというのが一番の大きな課題です。

今回のパレスホテル箱根でワークショップを開くのは3回目です。2000年と2004年にここで開きました。様子がわかっているということもあるのですが、アクセスが便利(というより、分かりやすい)のがなによりです。もっとも、成田空港から新宿、新宿から高速バスですので、それほど近くはありません。しかし、バス停がホテルの前にあるので、迷うことはありません。ここでは、準備のときにも協力いただいたのがありがたかったというのが印象に残ります。これで分かるように、実は、今回は、私のところで面倒をみたわけではなく、同僚であったH氏のところでアレンジしていただいたものです。ワークショップは明日、明後日が本番ですが、なかなかよいものになると期待しています。

このようなワークショップを(日常的にというまでもなく)折に触れて、大げさな準備なくできることは、われわれにとって大事なことではないでしょうか。国際会議のようなフォーマルな会合にはそれなりの準備と体制が必要です。参加者がオープンですので、それなりの準備が必要でしょう。しかし、日常的な共同研究を進めるためのワークショップを開くことには、相互に簡潔な形が望まれるでしょう。

われわれは、(これは、それを宣伝するというわけではなく)今、開いているパレスホテル箱根

http://www.hakone.palacehotel.co.jp/

と、湘南国際村センター

http://www.shonan-village.co.jp/

をよく利用しています。

東京から、また成田からもアクセスが分かりやすい、というのと、様子が分かっているという経験の部分もかなり大きいといえます。もちろん、それぞれのサイトでのサポートが次の機会につながっています。

箱根では3回ですが、湘南国際村ではもっとやったように思います。それにしても、候補が2つでは足りないというのが率直な印象です。同じテーマでは、2箇所では飽きてしまいます。新たな場所があればよいと思っています。

東京近辺では、思ったほど可能性は多くありません。もちろん、経費、宿泊費等々、わがままな要求ではありますが、実質的な研究交流のためのワークショップ開催の情報をいただきたいというところです。

Scienceは「理科」?「科学」?

Scienceは「理科」でしょうか?

わが国では、小学校から高等学校までは、「物理」、「化学」、「生物」、「地学」という『科目』をまとめた「理科」という『教科』があります。大学の入学試験でも、このように『教科』と『科目』が指定されています。

英語でScienceと呼ばれる学術領域は日本語ではどのように呼ぶのでしょうか。どうやら、教育の場では「理科」と呼ぶことが多いようです。また、学術の世界でも、これら、自然科学の分野では、Scienceを「理科」と呼んでも違和感がないように受け取っておられると感じます。また、少々、理解できないのですが、「数学」は「理科」の仲間だと言うことです。数学は自然科学ではないでしょうに・・・。これは、おそらく、わが国に固有の「理科系・文科系」という分類で「理科系」に含まれるからでしょう。

私の研究分野の「計算機科学 (Computer Science)」が自然科学に含まれておらず、したがって、「理科」ではないということで拗ねているというわけではありません。「計算機科学」がわが国で定着しなかったことについては、昨日の「「情報学」と書いたものの」で触れました。

Science は「科学」ではないでしょうか?

詳細は別の機会にするとして、計算機科学は、それらの各分野において、

・数学的な方法論に基づく理論:対象の定義、定理の証明など

・理学的探究の方法による抽象化:仮説の設定、予測、データの収集など

・工学的方法論に基づく設計:要求と仕様の定義、システムの実現、システムの検査

という3要素から構成され、しかも、これらを循環的に(すなわち、数学-理学-工学-数学-・・・というふうに)適用するという特徴がある、というのが固有のディシプリンだということです。これが私の理解です。

これは、「科学」ではないでしょうか。まさに Science ではないでしょうか。科学者が、伝統的な「理科」を科学だと誤解しないようにしていただきたいと思います。計算機科学が「振興分野」だという時期はもう過ぎました。自然科学だという物理学にしても、生で実験するのではなく、自然のモデルを設定し、計算によるシミュレーションで研究する方法が増えてきていると聞きます。科学する方法論は変わっていくでしょうが、「科学」にも新たな分野があることを認識すべきでしょう。

Science は「理科」ではなく「科学」というのがよいのではないでしょうか。

「情報学」と書いたものの

昨日は、わが国の「情報学」の研究者数について書きました。

ずいぶん前に、「情報学とは」という議論が交わされました。きちんと記録をとっているわけではありません。また、そのような議論にどの程度参加したのかさえ怪しいものですが、少なくともほぼ10年前の科研費の企画調査研究の分担者として参加して議論に参加したことは覚えています。また、手元には、池田克夫氏が代表者を務められた平成12年度科研費「情報学の学問体系に関する共同研究についての企画調査」報告書があって、その中で「情報学教育推進の施策と方向:理工系情報学の担当教員について」報告をしています。昨日の記事の発端になったものです。

そういえば、2004年の「学術の動向」3月号に「情報学分野の今日と明日」という記事を書いて、学術界に報告したことも思い出しました。「学術の動向」とは、「日本や世界のあらゆる分野の科学の動向、日本学術会議の状況、 内外で開催される学術講演、シンポジウムの情報を満載。 編集, 学術の動向編集委員会. 編集協力, 日本学術会議. 発行, 財団法人 日本学術協力財団.定価, 756円(税・送料込)」という広報誌です。

http://www.h4.dion.ne.jp/~jssf/text/doukousp/

折に触れて、このようなことを話したり、書いたりしたことがありますが、今なお、「情報学」が学問としてのディシプリンを確立できたのかどうか、よく分かりません。極言すれば、10年前と変わっていないのではないか、と感じるのです。先日のシンポジウムで話題になったことの多くがそう感じたというのは、ひょっとしたら、私の理解が十分でないのかも知れません。10年前、研究代表者の池田氏からお誘いを受けて研究班に加わったとき、皆さん、先輩の先生方でした。科研費で企画調査研究を行うという計画はそれ以前から始まっていましたので、おそらく、10年以上前から議論していたことでしょう。

日本ソフトウェア科学会の学会誌「コンピュータソフトウェア」に、「『計算機科学』は死語?」という巻頭言を書いたのは1997年9月号(No.5) pp.437-438 でした。

http://nels.nii.ac.jp/els/110003743995.pdf?id=ART0004921720&type=pdf&lang=jp&host=cinii&order_no=&ppv_type=0&lang_sw=&no=1268190094&cp=

時、折しも、現在の国立情報学研究所の設置につながる「計算機科学研究の推進について」という表題の日本学術会議の勧告を政府に提出したところでした。当時、この勧告案をとりまとめておられた学術会議会員土居範久氏のお手伝いをさせていただいたので、その経緯も、その後の成り行きも一通り分かっています。それは別としても、今なお、この巻頭言に書いたこととおなじ気持ちになるのはどうしてなのでしょうか。もちろん、すべてがそうだというわけではありません。その後、私もいろいろと学びましたし、視野も広がったことは自認しています。しかし、依然として、「情報学」というディシプリンがよく分からないのです。

「情報学」分野が学術全体の5%だというのは、決して大きさを誇示しようとしたわけではありません。また、その名のもとにさらに拡大して「勢力」を大きくしようというつもりでもありません。むしろ、明確なディシプリンがないという「情報学」というところに新たな多様な分野(かどうか?)の芽が集まってきているのではないかとの思いで書いたものです。

大胆に言えば、「情報学」には、古典的なディシプリンというものを求めるものではないのかも知れません。私自身は、「情報」に関わる領域の中に「計算」に関わる学術分野があって、そこには他の分野にないディシプリンがあると考えています。もちろん、これが「情報学」のすべてではありません。