notes.jj1bdx.tokyo blog Home | Posts | RSS

大阪大学基礎工学部電気工学特別講義2023年度力武担当分に関する所感

今年2023年も大阪大学基礎工学部にて電気工学特別講義としてビデオ講義を行う機会に恵まれた。以下講義で学生さんからいただいた質問(こちらで内容は要約し編集した)について、答えてみる。回答は「である調」になるが、ご容赦を。以下、質問は引用文の中に記した。

"[力武が]もし今特に目立った特技のない大学生になったとして、自分の創造性や他の学生と差別化を図るために何かするとしたらどのようなことをしますか。例: 学部の勉強を極める。趣味に没頭する。特殊な仕事をしてみる。"

この質問は答えにくい。自分にとって、現時点(2023年、58歳)での人生の楽しみの大半が、大学に入学する前にやっていたこと(英語、コンピュータ、電子工作、無線技術、音楽)で決まってしまっているので、正直「特技のない状態」で大学に入学するということの想像がつかない。これは一種の文化資本問題なんだろうと思う。

ただ、大学生になるまでに自分に身についていなかったこととして、今やっていて楽しいことがあるとしたら、料理なり掃除なり家具などの修理なり、日々の生活に密着した作業だと思う。これらについては自分は20歳台のころはまったくやらずに済ませてきてしまったので、多くの人達に迷惑をかけたのではないかと思っている。なので、勉学にもし興味が持てなければ、生活力を高めて、人間として生きるための力を上げていくことは、いつやってもいいのではないかと思う。

そして、差別化のために勉強をするというのは、あまり生産的なことではないと思う。差別化は自分のやりたいことをやった上での結果でしかなく、それ自身を目標にすると、結局自分の人生を他人に振り回されてしまい一生を終えることとなる。そういう私も、アマチュア無線の世界で他人の意見に振り回されて活動することをしてしまい、人生の時間の使い方としては残念だったと思っている。

"本講義を通じて感じたことは、今から10年後、20年後には今よりグローバル化がすすんでより外国の人たちと交流を深める機会が増えるだろうということ。その時のために英語を話せないと、折角の人脈を広げる機会を失ってしまう。留学にはいってみたいが、一ヶ月だけなどと短期間だけ行ってもさほど変化は得られないだろう。そもそも今は学部の勉強が忙しくて留学に行っている時間もない。そこで日本にいながら英語力を向上させるには、どういう勉強方法が有効なのだろうか。ある芸能人は2, 30分の英語のドラマをシリーズで何回も見ることで日常会話や自然なイディオムなどを学習したと言っていたが、それは有効的であるのだろうか。"

以下は完全に私見であり、正しいかどうかについては正直わからない。ただ自分の経験からの所感は記しておく。

英語に関しては、日本語および日本文化から最も遠い存在であることを、腹の底から認識しておく必要がある。このことは日本で普通に学校での勉強だけをしていたのでは教わることはできないし、日本の企業や組織でも教わることはできない。日本の人達の大多数は海外経験に乏しいことも理由の一つだし、異文化理解が難しい所以でもある。そしてその意味で、日本社会の構成員の大多数は、英語から最も遠い文化にいるため、英語が満足に使えないのは無理もないことだと思う。具体的に言えば、20歳(あるいはそれ以前)になる前までに「日本語母語話者としての日本人の人格」ができてしまうと、修正は大変難しい。そして発音体系は日本語と英語では別世界なので、日本語の発音を引きずる限り、まっとうな英語にはならない。英語の文法や話法、語法について後から学ぶことは可能だが、普段話している言葉のprosodyは一生ついてまわる。

一方、その「日本語母語話者としての日本人の人格」とやらができる前に英語と日本語両方を覚えてしまうと、言語によって人格が分裂するか、あるいは(日本に住んでいる場合)日本社会と猛烈な不整合を起こして大変なことになる。私はまさにそういう大変なことになった代表例である。なので、英語ができないままでいるのか、私のように日本語と英語両方で混乱したまま大人になって一生過ごすのか、どっちが幸せなのかはわからない。言い換えればそれだけ日本社会は英語との相性が悪い社会であり、そのことを日本社会の構成員の人達は腹の底から認識していないといけないと思う。

自分は1975年に1.25年の滞在の後10歳で日本に戻ってきてから、幸い東京ではFEN(現在のAFN)という米軍放送が24時間常に英語を流していたので、ひたすらそれを聞き続けつつ、興味のある物をどんどん英語で読んでいくという習慣をつけた。ICのデータシート、海外のコンピュータのマニュアル、そして小説や時事解説などに幅を広げた。幸い紀伊國屋書店新宿本店にはアクセスできたので、かなりの金額を洋書に投じて、ひたすら読んだ。1985年ごろから電子メールの形でインターネットも使えるようになっていたので、徹底して海外とのやり取りを行った。簡単にいえば、自分の興味のあることを全部英語で学習するということをした。つまり生活の一部として英語を組み入れたということで、それは今でもやっている。もちろんフォーマルな文法や話法、語法の確認は常に必要で、発音やリスニングの訓練も必要であり、英語学習そのものに関するリファレンス書籍も一通り読んではいるし実践しているということはあるが、根本的に生活の中に英語を組み入れない限り、英語の上達ということはあり得ないと思う。

日本語の通用範囲は英語に比べて極めて狭い。世界を日本語で学ぼうとする限り、日本社会のバイアスが入るし、範囲が極めて限られる。それを越えていく一番容易な方法が、実は英語で世界を学ぶことであり、そのための英語だと割り切って必死に勉強するしか、日本というおよそ英語から最も遠い社会で育った人間が取り得る戦術はないと思っている。そして、英語だけではダメで、他の言語や文化にも精通しておく必要が出てきているのが、21世紀の現代だと思う。私もヘタの横好きではあるが、フランス語と韓国語を勉強はしている。2017年には、まったく知識のなかったスウェーデン語も初学者としてDuolingoで英語から勉強してわずかだが理解できるようになった。なので、いつから始めても遅くはないし、英語の勉強は今すぐ始めるのがいいと思う。

"分散型ネットワークにおいては一貫性の問題が重要ですが、複数のデータの存在や処理ユニットの故障などが一貫性を乱す要因となります。そのような状況下で、どのようにしてデータの整合性を保つのか、また障害が発生した場合にどのように迅速な切り離しや再起動を行うのかについて考えられているでしょうか。"

この問題は一言で答えられるほど簡単ではなく、正直私も根本的にわかっているとは言い難い。そもそも一貫性とは何か。整合性とは何か。そこの定義にまで入り込んでいくと、すべての場合を包含する完璧な答は存在しないことだけはわかる。以下の文章は、あくまで個人的な理解にすぎず、およそ完璧なものではない。

機器の障害が発生した場合は、障害を検知し、障害の起こった機器を切り離し、残りの正常な機器だけで運用をしなければならない。スペースシャトルでは多数決論理(majority logic)を使い、5つの完全に同期した処理システムのうち2つまで不良となっても問題のないようにしていた。詳細はNASAの文書 "Computer synchronization and redundancy management" (Computers in Spaceflight: The NASA Experience, Chapter Four: Computers in the Space Shuttle Avionics System)に書かれている。この記事によれば、スペースシャトルでは冗長性を確保した上で、関連する複数システムの処理を正確に同期させることで、機器の故障時にも動作を継続する信頼性の高いシステムを実現していた。

一方、一般的なコンピュータのデータの一貫性を考える場合は、データの読み出しと書き込みの処理要求の前後関係が一定の時間粒度内で変わらないようにすること、および処理が着実に重ならずに一回だけ実行されることが要求される。このような特性は serializability と呼ばれるが、これを保証するのは容易ではない。それぞれの処理を実行する間排他制御をするというのが一つの方法だが、この場合は排他制御処理が全体のボトルネックになり高速化も並列化/並行化もできない。なので、最近はロックを使わずに serializability を保証するというデータベースも出てきている。日本ではこの分野ではデータベースプロジェクト「劔」(Tsurugi)が最先端を行っているといっていいだろう。

緩くネットワークで結合している複数のコンピュータでデータベースの耐障害性を確保するには、データベースを構成する複数個のコンピュータに同じデータの複製を持たせ、データベース全体のうち一部のコンピュータが障害で失われても運用を継続できるようにし、かつ新しいシステムを追加した場合は自動的に他のコンピュータからデータを複製してデータベースの一部となることができる機能を持たせたものもある。かつて私も短期間だが所属していたBasho Technologiesが開発したRiakがそのような製品の例である。Riakで使われているアルゴリズムの例としては、コンシステントハッシングがある。

これらの他にもさまざまな実例は存在するが、長くなり過ぎるので割愛する。どんな場合であっても、許容できる遅延や非一貫性の時間粒度、そして耐障害性や冗長度により、適切な実装は大きく変わってくることに留意する必要がある。

"要点がよくわからなかった。"

(ここは「ですます調」で)毎回の講義の要点がわかりにくくて申し訳ありません。

(「である調」に戻して)自分の講義についてコメントすると、講義ではあえて結論を述べないようにしていることもあるし、そもそも大学の教育というのは、教育を受ける側が自分で考えて結論を出すべきものだと思っている。世の中に単一の正解はなく、最終的には皆自分の頭で考えて行動を起こすしかない。そのことを述べること以上のことは、講義をする側としてはできない。そう思っていただければ幸いである。

最後に

"[...]自分は社会経験に乏しいため現実にクビになることがあると衝撃を受けた。[...]"

この話について、2点事実関係について書いておく。

あと1ヶ月で自分が解雇されてから10年経過するのかと思うと、時の流れの重さを感ぜざるを得ない。