本ブログの更新について
本ブログの更新は2016年3月31日をもって終了しました.ありがとうございました.
posted by みっちぃ (管理人)
2008年03月25日
博士までの5年間を振り返る 〜1年目の研究編〜
博士の学位を得るまでの5年間を振り返る記事を書いていますが,前回の「大学院への進学編」につづいて今回は1年目の研究について振り返ってみたいと思います.
N先生の研究室には,学部から直接進学してきた修士1年生が2人いました.年は3つ離れていることになりますが,私と同級生となるわけです.2人ともとても真面目な学生でした.2人は大学院への進学を前提にした指導を学部時代から受けてきていたため,研究のやり方に関しては私よりも知っていたように感じました.
そのうちY君はかなり積極的に活動していて,すでに学会発表の経験もあるほどでした.Y君から私は良い刺激をもらったと思います.彼は本当に努力家で,集中力もありますし,長期的な持続力もあります.まさに学者肌といって良いと思います.私は彼ほど真面目に勉強することはできない性格でした.ちなみに, Y君は私と同じく博士後期課程に進んでいます.
博士前期課程(修士課程)も学部と同じように,何単位か授業を履修しなければなりません.前期中に多くの授業を履修して後期以降は研究に専念するという計画立ては,N先生と私の考えで同じでした.同じ研究室に3名もいますから,互いに助け合いながら単位は無事に取得していきました.2つほど納得できない成績の科目がありましたが単位は十分に取得できました.
その他,学部生の授業のTA(Teaching Assistant)の仕事もありました.前期中は自分たちの授業もありますのでそれほど多くはありませんでしたが,教材の作成,授業中の補助,授業後の出席や成績管理,課題の採点などを行わなければなりません.1つの授業で200名ほどの履修者がいましたので,出席管理だけでも相当な時間がかかりました. これに並行して研究を進めなければなりません.私の場合,学部時代の卒業研究とは異なる研究テーマを考えていましたので,入学直後の数ヶ月は今後の2年間を左右する最も重要な時期ともいえます.
テーマを決めるためのアプローチはいろいろあると思いますが,私は現状の問題点の整理から取り掛かりました.テーマの大枠として,ソフトウェア開発効率を改善するモデルや手法の研究を考えていましたので,まずはこの分野の資料を集めることにしました.
ソフトウェアは多くの工程を経て開発されるものですし,その要素理論や技術も非常に多岐に渡っています.したがって,既存研究の情報を集めながら問題点を整理しようとしても,容易にまとめられるものではありません.もし短期間でまとめられるのならば,それ自体が国際会議などでのサーベイ論文として採録されるほどになるでしょう.
それに加えて,私の大学の図書館は主要な論文誌の蔵書はあるものの,研究報告や国際会議議事録などの書籍は取寄せる必要がありました.しかし取寄せには1ヶ月ほどかかりますし代金もかかります.取寄せた論文の引用情報から重要な論文が新たに見つかれば,それを取寄せるためにも時間がかかります.そのため,2ヶ月という時間はあっという間に過ぎてしまいます.言い換えると,多くの論文を読み,問題点を整理し,新しい解決方法を探究していくという研究の基本的なステップを,私の大学の環境では実現しにくいといえるかもしれません.これに対し,Aクラスの大学などにおいて,その分野の研究者が数名在職している研究科や,助教授や助手(現在はそれぞれ准教授および助教)の先生がいらっしゃる大所帯な研究室では,目的の資料を何方かがすでに持っているなどということがありえます.この違いはとても大きいです.
そのような状況下で,N先生から9月の学会で発表するように命じられました.学会の発表のスケジュールは,5月中旬に登録申込,7月上旬に原稿締め切り,9月に発表となっていました.登録申込時には発表題目と抄録が必要でした.つまり,私は入学してから1ヶ月半ほどのうちに,研究テーマを決め,抄録として十分な内容が書けるように研究を進めなければならなかったのです.1ヶ月半で何ができるでしょうか.ただでさえ,研究テーマの決定に時間を要する見込みであったのに,新しい手法やモデルを立案し,プロトタイプなどを実装し,実験を行い評価・考察するということが可能でしょうか.
“できる”とおっしゃる人もいるのでしょうが,私は凡人ゆえに努力ではどうにもならないと判断しました.少しでも研究を進めることができるよう,研究テーマ決めに時間を割くのはやめることにしました.N先生が進めてきた研究を自分のテーマにすることに決めたのです.
その研究テーマとは,データフローマシンの考え方にオブジェクト指向の考え方を導入した処理モデル(注)(ここではOモデルと呼ぶ)でした.私はここにエージェントの概念を導入する研究を奨められたのです.本記事ではこれをAモデル(注)と呼ぶことにします.正直,私にはAモデルの新規性や有効性を理解することができませんでした.これまでの研究でオブジェクト指向の考え方が既に導入されているとのことでしたが,隠蔽(カプセル化),継承,多態性といったオブジェクト指向らしい概念はありませんでした.それに,Aモデルに基づく実際の処理の定義は,いわゆるグラフィカルプログラミングツールを用いて行うものでした.データの流れをマウスで結んでいくことで処理を定義するのです.しかし,すでに多くの議論がされてきたように,グラフィカルプログラミングは必ずしもソフトウェア開発を改善するものではありません.本研究に関して反論しなければならないことは数多くありました.
議論は真剣に行われました.N先生も耳を傾けてくれましたし,他の研究メンバーも活発に意見を述べました.しかし,問題点を指摘しても「それはお前が研究して解決することだ」と返されてしまうのです.私が問題点として指摘していたのは,技術的に解決可能かどうかではなく,実現できたとしても新規性や有効性が認められないのではないかということでした.つまり,研究の価値そのものに対して疑問を投げかけていたのです.それでも,「価値が無いなら,あなたが価値を与えなさい.それが研究です.」と指摘されてしまうと,そういうものなのだろうと納得するしかありませんでした.
研究の進め方として,この考え方が不適切だとは思いません.今現在,工学的に価値を生み出している研究はほんの一部でしかありません.研究としては素晴らしいけども,殆ど活用されないまま忘れ去られたような研究もあります.しかし,何らかのきっかけで研究の価値が改めて認められるものもあります.したがって,「価値がない研究」と切って捨ててしまうのは研究者として好ましくないことだと思います. 以前にも書いたかもしれませんが,工学の分野で研究が認められるには,新規性,有効性,信頼性が必要です.どんなに新しいことをやっていても,それが有効であることを示さなければなりません.どんなに有効であっても,新規性が無ければ認められません.新規性と有効性がない研究は学術に価値を認められないのです.
これをふまえると,「価値が無いなら,あなたが価値を与えよ」というN先生の指導が,大学院の学生の研究として適切だったのかどうか疑問に感じてきます.先の述べたように,「この研究は価値がある」と信念を持って研究を続けることも必要です.しかし,この研究方法では,価値が見つかるまで研究成果として認められないという問題があるのです.言い換えると研究の見通しが立てにくいのです.大学院の学生のように研究期間が限られている場合,このような見通しが立ちにくい研究テーマは適切とはいえないのではないでしょうか.
兎にも角にも,私に与えられた時間は発表申込みまでの1ヶ月半ほどしかありませんでした.取り急ぎエージェントの概念,エージェントフレームワークを使ったプログラミング方法を勉強しました.そして,Aモデルに基づくシステムの設計とプロトタイプの実装に取り掛かりました.
エージェント(Agent)とは,特にソフトウェアエージェント(Software Agent)とは,自律性,社会性,永続性,反応性という性質をもつソフトウェアであると考えられています.しかしながら,エージェントの定義は研究によってさまざまで,唯一の定義はないといわれています.上記の性質は,多くの研究事例に共通するエージェントの性質といえます.従来のソフトウェアと異なり,周囲の環境に対して自律的に順応して振舞いを変化させたり学習したりします.そのため,ユーザー要求に対して柔軟なシステムを実現するための基盤技術として期待されているのですが,複数のエージェントを扱うマルチエージェントシステムは開発が難しいとされています.
そのような背景もあり,Aモデルに基づくシステム設計とプロトタイプの実装は予想以上に時間がかかりました.そのため,5月中旬の発表申込みでは「Aモデルの研究」というよりは,「Oモデルへのマルチエージェントの適用」という内容としました.
発表申込みをしたので,あとは原稿の執筆に向けてプロトタイプの実装と原稿執筆を2ヶ月かけて行えば良いことになりました.ひと段落ついたのでホッとしていたのですが,間髪いれずに, 9月に開かれる別の学会での発表するように指示を受けました.
一般に,同じ内容の論文を複数の学会などに投稿することは禁じられています.別の学会で発表するとなれば,新たに別のテーマを考えなければなりません.これはあまりにも無茶苦茶だろうと思いました.ただでさえAモデルに関する研究がスタートしたばかりなのに,別のテーマを考えて並行して研究せよというのです.
「とても無理だ」と相談すれば,N先生はありとあらゆる事例を挙げて私を説得します.「JAISTは主テーマと副テーマがあって・・」とか「仕事でも研究でもアウトプットを多く出した方が勝ちだ」とか・・・.どれも正論ですし,当時の私には反論できるほどの知識を持ち合わせていませんでした.
もうひとつの発表のテーマは,できればAモデルに関するところで決定したいと思いました.研究自体に一貫性がでてきますし,研究をよりブラッシュアップできると思ったのです.そこで,Aモデルにおいて,ユーザーが要求している処理を自動的に導く方法を検討することにしました.
検討のため,自動プログラミングに関わる技術について調査を始めました.すると,私が考えていた多くの方法は既に研究されていることがわかりました.新しいアイディアを別途考えなければ新規性を主張することができないことが判明したのです.
これに加えて,さらに困ったことが判明しました.もし新しいアイディアを思いついたならば,それによってAモデル自体の必要性が問われる形になることも判明しました.つまり,自動プログラミングに関わる技術をAモデルに導入しようとすると,Aモデル自体の必要性を否定することになるのです.これは,Aモデル自体の有効性を否定することになります.
先の発表申込みでAモデルを提案しておきながら,具体的な実験報告も無いまま,次の研究発表でAモデルの有効性を否定してよいのでしょうか.Aモデルを否定するなら,最初からAモデルを提案すべきでないと誰もが思うのではないでしょうか.“議論不足”が露呈したともいえるのです.
Aモデルを否定するような発表はN先生も望んでいないでしょう.今後も議論を続ければ,Aモデルの有効性に結びつくようなアイディアが出てくるかもしれません.そこでは私は,2つ目の発表には別のまったく別のテーマを選択することにしました.
今思えば,この2つ目のテーマの選択は正しい道でした.一方で,研究テーマが一貫していないため修士論文はまとめ難いものになりました.やはりテーマは1つに絞り,よく議論をしながら研究を進めるべきだと思います.
その後の数ヶ月間は,2つのテーマの同時並行での研究,原稿の執筆を行いました.そして9月の発表も無事終わらすことができました.初めての学会発表でしたが,社会人時代では人前や客先で話すことが多かったのでそれほど緊張しませんでした.
このときAモデルについては,エージェントが連携して実際に処理を行うことができるように,システムコアの試作が完了していました.エージェントへの指示はコマンドベースの簡易なプログラムを使うものでした.そのため,誰でも使えるという形にはなっていませんでした.
Aモデルは前述の通り,グラフィカルな画面でマウス操作だけで処理を定義することが可能であるとしています.Oモデルの研究でそのようなGUI(Graphical User Interface)は既に完成していましたが,既成部分がシステムコア部と強結合していて分離できず,今回エージェントを導入したシステムコアに適用できないことが判明しました.
そのためGUIを改めて開発する必要性が出てきました.しかしながら,まずはAモデルについて新規性や有効性を明確化すべきだと考えました.そこで,Aモデルに関連する既存研究を,範囲を広げながら調査することにしました.
ところが,困ったことに調査を進めれば進めるほどAモデルの新規性が無くなっていくのです.挙句には,Oモデルの段階からコンセプトの問題点や矛盾が数多く噴出してきました.Oモデルについて既に学会で発表した内容が誤っていた点があることも判明しました.これらの問題点は,毎週のミーティングで議論させていただきました.しかしN先生には「研究が進んだから判明したことであり,それらの問題はあなたが解決しなさい」「早くAモデルを完成させなさい.議論はそれからでよい.」とおっしゃるのです.つまり,GUI部の実装を指示されたのです.
この時点で,私はGUI部の実装に楽しみを感じなくなっていました.GUI部の実装に研究らしさを感じていなかったからです.しかし,先生の仰る通りかもしれないと思いGUI部の開発に取り掛かりました.
GUI部の開発は思いのほか難航しました.まず,AモデルのシステムコアとGUI部を軟結合するために,XMLベースの通信プロトコルを設計しました.KQML(Knowledge Query and Manipulation Language)などエージェント間通信言語に基づくものですが,Aモデルに特化することで効率化を図りました.これに伴って,システムコアのエージェントにはプロトコルを解釈する振舞いを与えました.また,定義した処理をGUI部上で実行したり,定義された処理を再利用したりするなど,変更箇所はシステム全体に及びました. それから3ヵ月もしないうちに,新たな指示を受けることになりました.3月に開かれる2つの学会でそれぞれ研究発表しろというのです.9月に2つの学会で発表しましたが,それから数ヶ月のうちに発表指示を与えられました.
Aモデルは研究が進んでいるといっても,研究として価値が見出せるような成果はあがっていません.前述のようにGUI部の実装などはAモデルに基づく試作システムの補助的な機能でしかありませんので,そこに新規性はありませんでした.むしろ,Aモデルについては研究を進めるほどに問題点が噴出していましたので,とても学会発表できるような状態ではありませんでした.
そのような状況で,3月の学会発表に向けて2つのテーマを決めなければならないのです.一方は,Aモデルのプロトタイプに関してGUI部の実装したことについて,新規性が主張しにくいのを承知で論文を書きました.他方はまったく別のテーマを考え,試作システムを構築して考察をまとめました.こちらも新規性や有効性が認めにくいのですが,「仕事でも研究でもアウトプットを多く出した方が勝ちだ」というN先生のお言葉を信じて作業を進めることにしました.
しばらく触れてきませんでしたが,9月の学会発表が終わったあとも,TAとして授業補助を手伝ったり大学院の授業に出席したりしています.ですから,上記の研究に関わる活動は隙間時間を使ったものになっています.今思えば,社会人時代以上に余暇無く作業をしていたかもしれません.しかも,後期はTAとして担当する授業が増えましたし,1つの授業については配布資料の作成や講義の代理などを担当しました.そのため,研究外の作業時間が大幅に増えました. そのような状況下で,修士課程の1年目はあっという間に過ぎていきました.あともう1年で修了と思うと早いものです.しかし,それは卒業後の進路を考えなければならないという大事な時期になっていることを意味します.
ご存知の通り,新卒採用の就職活動は入社の約1年半前から始まります.大学生であれば3年後期,短大生なら1年後期です.同様に,修士課程で就職するならば修士1年後期から就職活動を始めなければなりません.つまり,修士課程に進学してから半年後には就職活動を始めなければならないのです.
修士課程終了後の進路決定についてもいろいろ考えました.結果的に私は博士課程への進学を決意したわけですが,その辺の話は次の記事で書き残したいと思います.
注:OモデルおよびAモデルは,“処理モデルの一つ”という位置づけで私は研究を進めてきました.モデルがあって,モデルに基づいた実現システムがあるという位置づけです.ところが,N先生は「Aはモデルではなくシステム」だと仰るのです.この認識の違いは未だに埋まっていません.私がいろいろな先生方と相談した限りでは,やはり“処理モデルの一つ”であるという結論になっています.
N先生の研究室には,学部から直接進学してきた修士1年生が2人いました.年は3つ離れていることになりますが,私と同級生となるわけです.2人ともとても真面目な学生でした.2人は大学院への進学を前提にした指導を学部時代から受けてきていたため,研究のやり方に関しては私よりも知っていたように感じました.
そのうちY君はかなり積極的に活動していて,すでに学会発表の経験もあるほどでした.Y君から私は良い刺激をもらったと思います.彼は本当に努力家で,集中力もありますし,長期的な持続力もあります.まさに学者肌といって良いと思います.私は彼ほど真面目に勉強することはできない性格でした.ちなみに, Y君は私と同じく博士後期課程に進んでいます.
博士前期課程(修士課程)も学部と同じように,何単位か授業を履修しなければなりません.前期中に多くの授業を履修して後期以降は研究に専念するという計画立ては,N先生と私の考えで同じでした.同じ研究室に3名もいますから,互いに助け合いながら単位は無事に取得していきました.2つほど納得できない成績の科目がありましたが単位は十分に取得できました.
その他,学部生の授業のTA(Teaching Assistant)の仕事もありました.前期中は自分たちの授業もありますのでそれほど多くはありませんでしたが,教材の作成,授業中の補助,授業後の出席や成績管理,課題の採点などを行わなければなりません.1つの授業で200名ほどの履修者がいましたので,出席管理だけでも相当な時間がかかりました. これに並行して研究を進めなければなりません.私の場合,学部時代の卒業研究とは異なる研究テーマを考えていましたので,入学直後の数ヶ月は今後の2年間を左右する最も重要な時期ともいえます.
テーマを決めるためのアプローチはいろいろあると思いますが,私は現状の問題点の整理から取り掛かりました.テーマの大枠として,ソフトウェア開発効率を改善するモデルや手法の研究を考えていましたので,まずはこの分野の資料を集めることにしました.
ソフトウェアは多くの工程を経て開発されるものですし,その要素理論や技術も非常に多岐に渡っています.したがって,既存研究の情報を集めながら問題点を整理しようとしても,容易にまとめられるものではありません.もし短期間でまとめられるのならば,それ自体が国際会議などでのサーベイ論文として採録されるほどになるでしょう.
それに加えて,私の大学の図書館は主要な論文誌の蔵書はあるものの,研究報告や国際会議議事録などの書籍は取寄せる必要がありました.しかし取寄せには1ヶ月ほどかかりますし代金もかかります.取寄せた論文の引用情報から重要な論文が新たに見つかれば,それを取寄せるためにも時間がかかります.そのため,2ヶ月という時間はあっという間に過ぎてしまいます.言い換えると,多くの論文を読み,問題点を整理し,新しい解決方法を探究していくという研究の基本的なステップを,私の大学の環境では実現しにくいといえるかもしれません.これに対し,Aクラスの大学などにおいて,その分野の研究者が数名在職している研究科や,助教授や助手(現在はそれぞれ准教授および助教)の先生がいらっしゃる大所帯な研究室では,目的の資料を何方かがすでに持っているなどということがありえます.この違いはとても大きいです.
そのような状況下で,N先生から9月の学会で発表するように命じられました.学会の発表のスケジュールは,5月中旬に登録申込,7月上旬に原稿締め切り,9月に発表となっていました.登録申込時には発表題目と抄録が必要でした.つまり,私は入学してから1ヶ月半ほどのうちに,研究テーマを決め,抄録として十分な内容が書けるように研究を進めなければならなかったのです.1ヶ月半で何ができるでしょうか.ただでさえ,研究テーマの決定に時間を要する見込みであったのに,新しい手法やモデルを立案し,プロトタイプなどを実装し,実験を行い評価・考察するということが可能でしょうか.
“できる”とおっしゃる人もいるのでしょうが,私は凡人ゆえに努力ではどうにもならないと判断しました.少しでも研究を進めることができるよう,研究テーマ決めに時間を割くのはやめることにしました.N先生が進めてきた研究を自分のテーマにすることに決めたのです.
その研究テーマとは,データフローマシンの考え方にオブジェクト指向の考え方を導入した処理モデル(注)(ここではOモデルと呼ぶ)でした.私はここにエージェントの概念を導入する研究を奨められたのです.本記事ではこれをAモデル(注)と呼ぶことにします.正直,私にはAモデルの新規性や有効性を理解することができませんでした.これまでの研究でオブジェクト指向の考え方が既に導入されているとのことでしたが,隠蔽(カプセル化),継承,多態性といったオブジェクト指向らしい概念はありませんでした.それに,Aモデルに基づく実際の処理の定義は,いわゆるグラフィカルプログラミングツールを用いて行うものでした.データの流れをマウスで結んでいくことで処理を定義するのです.しかし,すでに多くの議論がされてきたように,グラフィカルプログラミングは必ずしもソフトウェア開発を改善するものではありません.本研究に関して反論しなければならないことは数多くありました.
議論は真剣に行われました.N先生も耳を傾けてくれましたし,他の研究メンバーも活発に意見を述べました.しかし,問題点を指摘しても「それはお前が研究して解決することだ」と返されてしまうのです.私が問題点として指摘していたのは,技術的に解決可能かどうかではなく,実現できたとしても新規性や有効性が認められないのではないかということでした.つまり,研究の価値そのものに対して疑問を投げかけていたのです.それでも,「価値が無いなら,あなたが価値を与えなさい.それが研究です.」と指摘されてしまうと,そういうものなのだろうと納得するしかありませんでした.
研究の進め方として,この考え方が不適切だとは思いません.今現在,工学的に価値を生み出している研究はほんの一部でしかありません.研究としては素晴らしいけども,殆ど活用されないまま忘れ去られたような研究もあります.しかし,何らかのきっかけで研究の価値が改めて認められるものもあります.したがって,「価値がない研究」と切って捨ててしまうのは研究者として好ましくないことだと思います. 以前にも書いたかもしれませんが,工学の分野で研究が認められるには,新規性,有効性,信頼性が必要です.どんなに新しいことをやっていても,それが有効であることを示さなければなりません.どんなに有効であっても,新規性が無ければ認められません.新規性と有効性がない研究は学術に価値を認められないのです.
これをふまえると,「価値が無いなら,あなたが価値を与えよ」というN先生の指導が,大学院の学生の研究として適切だったのかどうか疑問に感じてきます.先の述べたように,「この研究は価値がある」と信念を持って研究を続けることも必要です.しかし,この研究方法では,価値が見つかるまで研究成果として認められないという問題があるのです.言い換えると研究の見通しが立てにくいのです.大学院の学生のように研究期間が限られている場合,このような見通しが立ちにくい研究テーマは適切とはいえないのではないでしょうか.
兎にも角にも,私に与えられた時間は発表申込みまでの1ヶ月半ほどしかありませんでした.取り急ぎエージェントの概念,エージェントフレームワークを使ったプログラミング方法を勉強しました.そして,Aモデルに基づくシステムの設計とプロトタイプの実装に取り掛かりました.
エージェント(Agent)とは,特にソフトウェアエージェント(Software Agent)とは,自律性,社会性,永続性,反応性という性質をもつソフトウェアであると考えられています.しかしながら,エージェントの定義は研究によってさまざまで,唯一の定義はないといわれています.上記の性質は,多くの研究事例に共通するエージェントの性質といえます.従来のソフトウェアと異なり,周囲の環境に対して自律的に順応して振舞いを変化させたり学習したりします.そのため,ユーザー要求に対して柔軟なシステムを実現するための基盤技術として期待されているのですが,複数のエージェントを扱うマルチエージェントシステムは開発が難しいとされています.
そのような背景もあり,Aモデルに基づくシステム設計とプロトタイプの実装は予想以上に時間がかかりました.そのため,5月中旬の発表申込みでは「Aモデルの研究」というよりは,「Oモデルへのマルチエージェントの適用」という内容としました.
発表申込みをしたので,あとは原稿の執筆に向けてプロトタイプの実装と原稿執筆を2ヶ月かけて行えば良いことになりました.ひと段落ついたのでホッとしていたのですが,間髪いれずに, 9月に開かれる別の学会での発表するように指示を受けました.
一般に,同じ内容の論文を複数の学会などに投稿することは禁じられています.別の学会で発表するとなれば,新たに別のテーマを考えなければなりません.これはあまりにも無茶苦茶だろうと思いました.ただでさえAモデルに関する研究がスタートしたばかりなのに,別のテーマを考えて並行して研究せよというのです.
「とても無理だ」と相談すれば,N先生はありとあらゆる事例を挙げて私を説得します.「JAISTは主テーマと副テーマがあって・・」とか「仕事でも研究でもアウトプットを多く出した方が勝ちだ」とか・・・.どれも正論ですし,当時の私には反論できるほどの知識を持ち合わせていませんでした.
もうひとつの発表のテーマは,できればAモデルに関するところで決定したいと思いました.研究自体に一貫性がでてきますし,研究をよりブラッシュアップできると思ったのです.そこで,Aモデルにおいて,ユーザーが要求している処理を自動的に導く方法を検討することにしました.
検討のため,自動プログラミングに関わる技術について調査を始めました.すると,私が考えていた多くの方法は既に研究されていることがわかりました.新しいアイディアを別途考えなければ新規性を主張することができないことが判明したのです.
これに加えて,さらに困ったことが判明しました.もし新しいアイディアを思いついたならば,それによってAモデル自体の必要性が問われる形になることも判明しました.つまり,自動プログラミングに関わる技術をAモデルに導入しようとすると,Aモデル自体の必要性を否定することになるのです.これは,Aモデル自体の有効性を否定することになります.
先の発表申込みでAモデルを提案しておきながら,具体的な実験報告も無いまま,次の研究発表でAモデルの有効性を否定してよいのでしょうか.Aモデルを否定するなら,最初からAモデルを提案すべきでないと誰もが思うのではないでしょうか.“議論不足”が露呈したともいえるのです.
Aモデルを否定するような発表はN先生も望んでいないでしょう.今後も議論を続ければ,Aモデルの有効性に結びつくようなアイディアが出てくるかもしれません.そこでは私は,2つ目の発表には別のまったく別のテーマを選択することにしました.
今思えば,この2つ目のテーマの選択は正しい道でした.一方で,研究テーマが一貫していないため修士論文はまとめ難いものになりました.やはりテーマは1つに絞り,よく議論をしながら研究を進めるべきだと思います.
その後の数ヶ月間は,2つのテーマの同時並行での研究,原稿の執筆を行いました.そして9月の発表も無事終わらすことができました.初めての学会発表でしたが,社会人時代では人前や客先で話すことが多かったのでそれほど緊張しませんでした.
このときAモデルについては,エージェントが連携して実際に処理を行うことができるように,システムコアの試作が完了していました.エージェントへの指示はコマンドベースの簡易なプログラムを使うものでした.そのため,誰でも使えるという形にはなっていませんでした.
Aモデルは前述の通り,グラフィカルな画面でマウス操作だけで処理を定義することが可能であるとしています.Oモデルの研究でそのようなGUI(Graphical User Interface)は既に完成していましたが,既成部分がシステムコア部と強結合していて分離できず,今回エージェントを導入したシステムコアに適用できないことが判明しました.
そのためGUIを改めて開発する必要性が出てきました.しかしながら,まずはAモデルについて新規性や有効性を明確化すべきだと考えました.そこで,Aモデルに関連する既存研究を,範囲を広げながら調査することにしました.
ところが,困ったことに調査を進めれば進めるほどAモデルの新規性が無くなっていくのです.挙句には,Oモデルの段階からコンセプトの問題点や矛盾が数多く噴出してきました.Oモデルについて既に学会で発表した内容が誤っていた点があることも判明しました.これらの問題点は,毎週のミーティングで議論させていただきました.しかしN先生には「研究が進んだから判明したことであり,それらの問題はあなたが解決しなさい」「早くAモデルを完成させなさい.議論はそれからでよい.」とおっしゃるのです.つまり,GUI部の実装を指示されたのです.
この時点で,私はGUI部の実装に楽しみを感じなくなっていました.GUI部の実装に研究らしさを感じていなかったからです.しかし,先生の仰る通りかもしれないと思いGUI部の開発に取り掛かりました.
GUI部の開発は思いのほか難航しました.まず,AモデルのシステムコアとGUI部を軟結合するために,XMLベースの通信プロトコルを設計しました.KQML(Knowledge Query and Manipulation Language)などエージェント間通信言語に基づくものですが,Aモデルに特化することで効率化を図りました.これに伴って,システムコアのエージェントにはプロトコルを解釈する振舞いを与えました.また,定義した処理をGUI部上で実行したり,定義された処理を再利用したりするなど,変更箇所はシステム全体に及びました. それから3ヵ月もしないうちに,新たな指示を受けることになりました.3月に開かれる2つの学会でそれぞれ研究発表しろというのです.9月に2つの学会で発表しましたが,それから数ヶ月のうちに発表指示を与えられました.
Aモデルは研究が進んでいるといっても,研究として価値が見出せるような成果はあがっていません.前述のようにGUI部の実装などはAモデルに基づく試作システムの補助的な機能でしかありませんので,そこに新規性はありませんでした.むしろ,Aモデルについては研究を進めるほどに問題点が噴出していましたので,とても学会発表できるような状態ではありませんでした.
そのような状況で,3月の学会発表に向けて2つのテーマを決めなければならないのです.一方は,Aモデルのプロトタイプに関してGUI部の実装したことについて,新規性が主張しにくいのを承知で論文を書きました.他方はまったく別のテーマを考え,試作システムを構築して考察をまとめました.こちらも新規性や有効性が認めにくいのですが,「仕事でも研究でもアウトプットを多く出した方が勝ちだ」というN先生のお言葉を信じて作業を進めることにしました.
しばらく触れてきませんでしたが,9月の学会発表が終わったあとも,TAとして授業補助を手伝ったり大学院の授業に出席したりしています.ですから,上記の研究に関わる活動は隙間時間を使ったものになっています.今思えば,社会人時代以上に余暇無く作業をしていたかもしれません.しかも,後期はTAとして担当する授業が増えましたし,1つの授業については配布資料の作成や講義の代理などを担当しました.そのため,研究外の作業時間が大幅に増えました. そのような状況下で,修士課程の1年目はあっという間に過ぎていきました.あともう1年で修了と思うと早いものです.しかし,それは卒業後の進路を考えなければならないという大事な時期になっていることを意味します.
ご存知の通り,新卒採用の就職活動は入社の約1年半前から始まります.大学生であれば3年後期,短大生なら1年後期です.同様に,修士課程で就職するならば修士1年後期から就職活動を始めなければなりません.つまり,修士課程に進学してから半年後には就職活動を始めなければならないのです.
修士課程終了後の進路決定についてもいろいろ考えました.結果的に私は博士課程への進学を決意したわけですが,その辺の話は次の記事で書き残したいと思います.
注:OモデルおよびAモデルは,“処理モデルの一つ”という位置づけで私は研究を進めてきました.モデルがあって,モデルに基づいた実現システムがあるという位置づけです.ところが,N先生は「Aはモデルではなくシステム」だと仰るのです.この認識の違いは未だに埋まっていません.私がいろいろな先生方と相談した限りでは,やはり“処理モデルの一つ”であるという結論になっています.
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/13104176
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/13104176
この記事へのトラックバック