メモのような日記のような(2) 2018.11.24-

Akihiko Koga

圏論を勉強しよう へ
束論を勉強しよう へ
半群論を勉強しよう へ
集合,位相,論理など へ
AKI's HOME Page (Top Page) へ

以前の日記(メモのような日記のような(1) 2017.10.17-2018.11.04) へ

目次 (上が最近のものです)
  1. どこが分からないのか分からない 2019 年 8月 22 日 (木)
  2. 計算機科学の発展を支える教育とは? 2019 年 7月 11 日 (木)
  3. ほぼ5年間,同じようなお弁当を作り続けているお話 2019 年 7月 7 日 (日)
  4. 一つ仕事を終えるとポケーとなる 2019 年 7月 4 日 (木)
  5. ソフトウェア科学とボサツ様 2019 年 6月 24 日 (月)
  6. 知識を総動員してドイツ語の単語を覚えるページを作った 2019 年 6月 5 日 (水)
  7. コノヒトタチ くっつくべからず 2019 年 5月 26 日 (日)
  8. 循環定義を正当化する 2019 年 5月 9 日 (木)
  9. 海野十三の「もくねじ」 2019 年 3月 10 日 (日)
  10. 人間は動くものにしか注意を払えないか? 2019 年 2月 13 日 (水)
  11. 皮は役に立たないか? 2019 年 1月 11 日 (金)
  12. 中身のない人たち 2018 年 12 月 2 日 (日)
  13. 絵を使った青空文庫などのテキスト紹介の実験を始めた 2018 年 11 月 27 日 (火)
  14. 単純で,分かりやすく,楽しい絵を目指して 2018 年 11 月 24 日 (日)

どこが分からないのか分からない

2019 年 8月 22 日 (木)

私は某大学に非常勤講師としてプログラミング言語を教えに行っています. もっとも,プログラミング言語そのものを教える訳ではなく,その言語での実習の面倒を見に 行っているのです.学生さんたちは前の年にすでにそのプログラミング言語は習っています. 私は講義もちょっとだけやりますが,主な仕事は学生さんたちがプログラミングの課題を解く 支援をすることです.学生さんたちも色々いるので,時々,長時間,PC の前で途方に暮れている 学生さんもいます.

そんな学生さんに,「どう? 出来そう?」と聞くと,「出来そうにありません」と返ってきます. で,「どこが分からない?」と聞くと,「全部です.まったく分かりません」と返事が 返ってくることがあります.そんなときは,仕方がないので,教科書のその日の分を 一行一行を追いながら,「ここまでは分かる?」と少しずつ,その学生さんが分からない ところを突き止めていきます.

そうすると,先ほどまでは「全部です.まったく分かりません」と言っていた学生さんも,別に全部分かって なかった訳ではなく,「分かる部分」と「分からない部分」があることが分かってきます. そうして分からない部分を集中的に解説して,なんとか実習に戻らせます.もっとも, こういう学生さんは別にここではじめて分からなくなった訳ではなく,もともと基礎が 分かってないのです.それで,私が会話の中で掴んだ,分かってなさそうな概念をいくつか挙げて,

「君は,... と言ったところが 分かってないみたいなので,去年の教科書でそこをしっかり復習しておくこと」
とアドバイスを与えておきます.基礎をしっかり復習してくれれば比較的速やかに周りに 追いつくと思うのですが,実際にやってくれる学生さんはあまりいないようです.学生さんたちも 忙しいので,まあ仕方ないかなとも思いますし,そういう学生さんたちも学期の後半に なってくると不思議なことに段々実力を付けてくる人も多いです.もしかしたら, 一見,全体的に難しそうな教科書から自分が分からない部分を切り分けて攻める ということを身につけてくれているのかもしれません.

この授業を受け持ってみて,しみじみ思うことは,

分からないときは,一つ前に戻って, そこをしっかり理解することが大切.
もし,そこも分からなければ さらにその前に戻って理解する.
ということです.

一方,今度は自分自身を振り返ってみると,そのような学生さんと同じようなことを言っていることが よくあります.

私は圏論は計算機科学で重要と思ったので,1984 年に会社に入ってから,何度も 勉強してました.会社の図書館にあった Michael A. Arbib の

Michael A. Arbib : Arrows, Structures, and Functors: The Categorical Imperative, 1975
を何回もトライして何回も挫折していたような記憶があります.5年前に会社を 自己都合退職してからは,時間ができたこともあり, S. Awodey の教科書(リンク先に概要あり) T. Leinster の教科書(リンク先に概要あり) を一通り やり終えたので,まだ分からない部分も多いながら,やっと圏論の基礎的な部分はなんとなく 分かった ような気がします.

で,勉強するときに,挫折し掛かっているところを突破するためには,読めない教科書を ただ漫然と理解しようとするのではなく,どこが分からないか特定してそれをきちんと 理解していく必要があります.また,その分からない部分は,今読んでいるところではなく, 一つ前が分かってないということが多いので,ためらわず 基礎の方へ戻るのが良いと思います.つまり,

  1. 今読んでいる本で分からない部分をきちんと押さえて
  2. それが分かるところまで,その本,あるいは,さらに基礎的な別の本まで戻って いく
のです.でも,私たちは,それが通常できません.はやく成果を上げたくて焦っているからです. しかし,結局,土台をきちんとしないと家は建てられませんし,一階を立てないと 二階は立たないのです.私は会社にいる間,30年かかっても,圏論はきちんと最後まで やれませんでした.大抵,随伴関手(Adjoints)や Monads あたりで挫折してました. 当然,それらの章で初めて挫折した訳でなく,それ以前の章から分からない もやもやが 溜まっていって,それらの章でとうとう前進不能に陥るのです

この状況を打開するためには,それ以前の概念の理解を 補強したり,あるいは,Arbib の本の読者が当然知っていると想定されている別の基礎知識に ついてもきちんと調べたり,復習したりする必要があります.でも,なかなかそれを やることができません.また,何が分かってないかさえ,きちんと抑えることもできません. 会社生活で仕事に疲れて,わずかな時間で勉強しているので,「基礎へ戻る」という行為が なかなかできない訳です.元々少ない時間を,後方に進行する行為に当てる勇気が中々でません. これは,最初に述べた学生さんがやるべきことを中々できないのと同じです.前進するためには 勇気をもって,基礎に戻っていかなければなりません.はやくやろうと焦って,却って, 結果的には30年間習得できなかったわけですから.

あと,もちろん,良い教科書を選ぶと いうのも重要です.教科書の著者だって人間ですから,文章の上手い下手もありますし, 誤解しやすい書き方をする人もいます.また,行間に読者が埋めるべき推論の列があまりに 長い教科書もあります.

良い教科書が選べて,かつ,自分が学習対象の何が分かってないかが分かったとして,それを突破するには3つくらいのアプローチが あるかなと思います.これら3つは排他ではありません.

  1. (学習する)動機を明確にする
  2. (学習するための)足腰を鍛える
  3. (抽象概念を)イメージしやすい工夫をする
一つ目の「(学習する)動機を明確にする」は,それを学習するとどれだけ良いことがあるかということを認識して,学習する 意欲を高めることです.例えば,群論の基礎の教科書を見ると殆ど応用が書いてない 教科書ばかりです.ということで,群論の学習は応用に関心がある学習者には 辛いのですが,これを頑張れば,ガロアの理論が分かると思えば学習する気が 出てくるかもしれません.ただ,群論の場合はそういう応用ができるのが,基礎を修めて ずっと先なので,中々その動機を持続するのが難しいという状況があります. 圏論もそうですね.計算機科学での応用があるのですが,なかなかそこにたどり着けません. また,本当に役に立っているのかも判断が難しいです.

二つ目の「(学習するための)足腰を鍛える」は努力の苦痛を和らげることで前進に寄与しようと いうことです.上にも述べたように応用にたどり着くには,一般にかなりの労力を要します. その労力とまだ見ぬその学習結果の効果・威力を比べて益があると思えば,茨の道も歩もうと いう気になるのですが,学習結果の効果・威力は,その時点であやふやです.でも,もし, その労力が大したものでないなら,別に結果が大した物でなくてもやってみようという気に なるかもしれません.したがって,学習するための足腰を強くするのは挫折する可能性を 低下させます.まあ,これは当たり前ですが.

ではどうやって足腰を鍛えるか? 色々な方法が あるかもしれませんが,単純なことを繰り返すのが良い方法だと思います.きっと, 運動でもそうだと思います.私はあまりスポーツをしないので詳しくはないのですが, ヒンズースクワットとか良いのじゃないでしょうか.瞬発力とか,いろいろな筋肉の 動かし方にも対応しないといけないでしょうから,他の項目もいれてメニューを組み立てる ということになるのでしょうが.

「計算機科学の発展を支える教育とは?」の絵の再利用

運動の例から離れて,数学でもこれは言えていると思います. 複雑な概念が定義されて,すぐその概念を使った定理や証明が理解できるかというと, 生物である私たちにはそれはできません.数学を体育みたいに語っているので,ある種の 信念を持つ人たちには反発を受けるかもしれませんが,少し複雑な概念を何度も何度も 書き下すという練習は,「人」がその概念を自在に使う上で有効と思います.例えば, 圏論に「コンマ圏」という概念がありますが,たぶん,圏論の初心者はこの概念を 自在には使えません.しかし,コンマ圏で色々な圏論上の構成を表現できるので, これはとても大切で便利な概念です.この学習方法として,例えば,この概念が分かろうが分かるまいが, とにかく1週間くらい,毎日10分くらいの時間をとって,次の図式を何回も何回も 紙の上に書いてみたらどうでしょう.出来れば黒いペンと赤いペンを用意して,最初は 黒いペンで書いて,最後に図の赤の線を赤いペンでなぞるとか.また,この方向で 描くのに慣れたら,90度回転させたり,反転させたりして描いてみるとか, 少し関手が分かるなら, 関手 S や T をなにか特殊な関手を使ってこの図がどうなるか描いてみるとか,とにかくこれを描く練習を 何度も繰り返します.

その後で,また,圏論の教科書でコンマ圏あたりのことを学習すると,その概念の定義で 登場する「もの」やその結びつきが頭の中でイメージしやすくなっているはずですので, 理解の容易性が各段に上がると思います.

三番目の「(抽象概念を)イメージしやすい工夫をする」は上の2つに 関連しています.概念を自在に使うために足腰を鍛えるにしても,その学習タスクは容易な方が 嬉しい訳です.イメージしやすい概念は脳内での保持や活用を容易にします. それから,その概念が使える概念であると実感するためにもそれが 活き活きイメージ出来る方が良い訳です.もしかしたら,活き活きイメージできること 自体が,人をして,その概念の有用だと思わしめているかもしれません.一番目 のアプローチの「学習する動機を明確にする」は応用に結び付けた訳ですが,もしかしたら, これは必ずしも応用に結びつける必要は無いのかもしれません.なんに応用できるのか分からなくても,自分の身近な「もの」に結びつけられれば,学習意欲は湧くのかもしれません. 「(抽象概念を)イメージしやすい工夫をする」方法としては,

  1. 例えを使う
    「集合」を容器に例えるなどはこの例です.ただし,数学的概念は例えを超えた 命題が成立することがあるので,そのときは例えが却って障害になることも ありますので注意しましょう.
  2. ビジュアライズする
    絵を描いたり,模型を作ったりすることでより活き活きとイメージできるように なるでしょう.
  3. さらに五感にうったえる
    触覚,嗅覚なども使ってより身近に感じることで,その概念の定着がしっかり したものになるでしょう.例えば,上で模型を作るというのをビジュアライズの 例として書きましたが,これは木や紙で作れば,それらの触覚や接着剤の 臭いなどさらに五感にもうったえる道具ができます.「米田のレンマ煎餅」とか 売りだしたら味で米田のレンマを覚えられてとても良いかもしれません.

上の足腰を鍛えるで「コンマ圏」を何度も書いて訓練するという方法を言いましたが, 実はさらに,「コンマ圏」のペーパークラフトを作ったことがあります.効果に確信が 持てるようになったら,改良を加えて,一枚 100円+消費税で売り出すかもしれません. この3番目のアプローチの試行錯誤として,このサイトでも以下のようなものを載せています.

  1. 圏論:随伴関手を立体に描いて S. Awodey の圏論の本の表紙風に仕立てたもの
  2. 束論:立体視によるモジュラー不等式の理解(平行法)など
  3. 半群論:Greenの関係のペーパークラフト

この学習の促進の工夫に関しては,かなり色々な考察ポイントがあり,簡単にはまとめる ことができません.今後,このトピックスはまとめて行きたいので,今回は多少でも 言葉にしてみようと,頭に浮かぶことだけを 書いてみました.また,後日,このような断片的な書き物を見ながら,もう少し システマティックに整理して行きたいと思います.

最後にちょっとメタな話をしておきます.学習において 「どこがわからないか? なぜわからないか?」を考えていくのは重要と思いますが, いつもいつも完璧にできるとは限りません.私は,学習の促進に, 2つのアプローチがあると思います.

  1. システマティックなアプローチ
    「分からないところはどこか?,何が分かってないのか?」を徹底的に考え,それらを 解決する
  2. アドホックなアプローチ
    何か効果のありそうな策を施してみて,その結果を考察する
私は,基本的には最初のシステマティックなアプローチで分析することが必要と思いますが,上に述べたように, これが常に可能とは限りませんし,また,可能だったとしてもその分析を行うことが 効率良くできないかもしれません.つまり,分析がなかなか終わらないこともあります.二番目のアドホックなアプローチも何らかのブレークスルーを得るのに 重要と思います.圏論や半群論など概念や定理のペーパークラフトを作ってみるというのはこちらの アプローチも含んでいます.

計算機科学の発展を支える教育とは?

2019 年 7月 11 日 (木)

計算機の発明以来,あるいはもっと前から,計算機科学(or 計算科学)の基礎理論は急速に発展し, 今では膨大な個別理論の集合体に膨れ上がっています.ちょっと思いつくだけでも, 次の図のように,数理論理学,集合論をはじめとして,再帰関数,形式言語,...と, あっと言う間に箱がいっぱいになってしまいます.さらに,企業などでソフトウェア分野の 一人前の研究開発を行うためには,たぶん,この数倍から, もしかしたら十倍,二十倍の理論が必要になるかもしれません.特に,今後,例えば, 量子計算など,人間の直観の働きにくいところの研究のためには,圏論を使って,適当なモデルを 作る能力が求められるのではないかと思っています.

今後も計算機科学が継続的に発展していくためには,このような数多くの,しかも, 抽象度の高い理論を習得した多数の研究開発者が企業や大学などの研究機関に 求められるのではないかと思われます.しかし,今の教育体制では, 企業に入社するまでに高々20年程度の教育期間しかありません.しかも,生まれてから 計算機科学だけ勉強する訳にはいきません.例えば,数理論理学,集合論,形式言語などの 単位のものを30個,大学と修士の6年で習得するにしても,ちょっと計算すると 一年で 5科目ずつ習得していかねばなりません.他のこともやってますから,これは 結構きつい数量です.

実際,現在,大学で情報系の修士課程を修了してソフトウェアの会社などで 研究開発を始める 人たちを見ると,修士で専攻した狭い分野は別として,広く,計算機科学の 基礎を習得しているとは言えず,本人たちもそれを認識しているように 思います.

志のある人たちは,社内で勉強会などを立ち上げて,切磋琢磨しながら 自分たちの基礎のレベルを持ち上げようとしていますが, 仕事で忙しい中,しかも案内人となる人がいる訳でなく,自分たちで 舵取りをしながら進めなければならず,大変です. 何か,効率よく,基礎を習得する方法がないものでしょうか.

ところで,計算機科学はどこまで発展して,教育機関はどのレベルまで 人を教育することが求められるのでしょう? 計算機の世界はどこまででも 発展が求められるように思います.例えば,現在,量子計算などの新しい 計算原理が出現してきて,そのモデル化に圏論などが使われ始めています. これがうまく行くようなら,その程度は研究開発の開始時点で習得していることが 求められるようになるでしょう. こういうことが続いていけば,小学生で圏論の習得が求められる時代が 来るかもしれません.

この話は荒唐無稽に聞こえるかもしれませんが,例えば,分数計算のことを考えると まったくあり得ないことではないと思います.大昔は,分母の異なる分数の 計算などは相当高等な技術だったと思うのですが,今では,小学校で習得しなければ ならないのですから.そのために,理論の洗練,そして,教え方の工夫が 積み重ねられて,現在の教育が可能になっています.例えば,分数をイメージするための 色々な図的な表現,模型,誤謬には導かないように配慮して作られた例えなどが 教育の場で提案され,実践され,体系化されていると思います.現在の大学の科目だって, このような教育の工夫の対象にして,徹底的に教育の仕方が研究されても良いと思います.

こういう教育とその受容が可能になった時代の人間は 人間のハードウェアとしてもずいぶん変わってきているかもしれません.脳の容積は 増えて,若干,火星人っぽい風貌になっているかもしれませんし, 常に脳が利用可能な補助的な記憶を持っているかもしれません.

あるいは,こういう世の中にはならないかもしれません.絶対的な能力の限界が あって,それ以上は発展することができないかもしれませんし,あるいは, ごく一部の人間だけが,その限界を突破して,その他大多数と分業をしているかも しれません.ときどき,知り合いと上のような話をすると,そんなに教育が 大変な社会には絶対にならないと怒りだす人がいます.もしかしたら,彼が 正しいのかもしれません.

将来,どこまで計算機科学の発展が続くかは分かりませんが,今現在,計算機科学の基礎理論が 難しすぎて,多くの新卒者が習得しきれていないという状況は現実にあると 思います.まずは,これをどうにかしなければならないでしょう.

私は新卒者ではなく,すでに退職者なのですが,いまになってやっと,圏の理論を 学習しようとしています.やはり,抽象度が高くて結構大変です.会社を辞めるとき, 同じ課にいたKさんが記念に

圏論の基礎, S. マクレーン(著), 三好 博之(翻訳), 高木 理(翻訳)
をくれました.結構高い本なので大変恐縮してしまいました.この本は今も本棚に大切に 置いてあります.私は,退職後,身体がなまるといけないので,毎朝,ヒンズースクワットを するようにしていますが,本棚に向かってやっているので,

このマクレーンの本の黄色い背表紙が目の前を上下します.それで,

あぁ,圏論を勉強しなければ!

と思い出させてくれるので,これも一つの教育の工夫なのだなと思います. こういう小さな工夫を積み重ねて行けば,もしかしたら,新しい時代の 計算機科学の発展に必要な人材の育成が可能になるかもしれません.

ほぼ5年間,同じようなお弁当を作り続けているお話

2019 年 7月 7 日 (日)

私は 2014 年 3月31日付けで,55歳で会社を退社した後,だいたい,朝起きたら, お弁当を作っていますが,それがここ5年くらいほぼ同じようなお弁当だというお話です.

二段重ねの弁当箱で,図の左が野菜ばかりを入れる箱,右はご飯にふりかけを掛けて, 電子レンジでチーンとすればよいものを4品くらいのせています.めったに自分でおかずを 作ることはないので,電子レンジでチーンとすればよいものの範囲でおかずが変化するだけです. それが,ここ5年くらい続いているというお話です.

もともと,お弁当を作ることになったいきさつですが,私は奥さんをなんとか説き伏せて, 2014 年 3月いっぱいで定年前 55歳で会社を自己都合退職しました.このとき,その後どのように 過ごすかを真剣に考えていたのです.参考にしたのは,定年後にどう生きるかというような テーマの本で,そこには次のようなことが書いてありました.

定年後に家にいるようになった亭主と奥さんが不仲になる原因の一つとして, 今まで,日中いなかった夫が家にいるようになり,奥さんとしてはごく潰しが いるのが我慢ならないように感じるということがあるらしい.

ずっと自分の部屋に閉じこもっていて, お昼になると,当然のようにお昼ご飯を食べに出てくる.それがまた,とても 嫌になるらしい.

事前に,こういう本でしっかりと勉強していた私は,

  1. とにかく奥さんに嫌われないように,基本的に日中は家にいないことにしました
  2. お昼を作らせると文句がでるかもしれないので自分でお弁当を作ることにしました
  3. ごはんの材料費も家計からだすと怒られるかもしれないので自分の貯金(へそくり)から出すことにしました
    これは1年後に大学の非常勤講師に行くようになって, いくらか入るようになりましたので,そのうちの 1/6 くらいをお小遣いとしてもらうようにして 基本的にへそくりは減らなくなりました.

ということで,朝食を取った後,20分くらいかけて,お弁当を作り, それから一日,近くの図書館へ出かけて行ってお勉強すると言う生活を続けています.

最初は,次のようなサンドイッチを作っていました.

八枚切りの食パンを3枚ですね.このときも電子レンジでチーンとしたものしか 挟まないので,バリエーションは結構限られてました.シューマイや餃子を挟んだことも ありました.シューマイを挟んでいるところを見た奥さんは「キモっ!」とか 言ってましたが,食べさせたら,別に食べられないものではないと思ったようです.

半年くらいして,パンも飽きてきたので,ごはんにしてみました.

このとき,最初に描いたお弁当のスタイルができて,今まで延々と続いているという 訳です.弁当箱は代替わりしましたけど.また,時々,さらに手を抜いて, ごはんとおかずの代わりに,電子レンジでチーンしてできるスパゲティなどを ごはんセットの方に入れることもあります.

これだけ手を抜いていても,野菜を洗ったり,お弁当と一緒に持っていく コーヒーやお茶を入れたりしなければならないので,お弁当作りは, 毎朝食後,20分くらいかかります. 面倒なのですが,毎日,ルーティンワークをするということは心の安定の ためにはとても良いことだと思います.

しかし,さすがに5年間同じような内容なのはどうかと思うので, 少し変えられればなという気がしています.ただ,お昼ごはんに別に 不満が無かったりするので変化を起こすきっかけが中々みつかりません. そのうち,お弁当が変わったと言う日記が書ければよいのですが.

ところで,結局,今回の日記のテーマはなんだったのでしょう? 定年後,奥さんと仲良くするコツかな.

一つ仕事を終えるとポケーとなる

2019 年 7月 4 日 (木)

二週間くらい前,とある勉強会で,「代替集合論(Alternative set theories)」の 発表をしてきました.

「代替集合論」は,私が勝手に,Alternative Set Theories を 訳して付けたタイトルなので,数学の正しい用語では無いと思います.ぐぐっても殆どその 名前は見つかりません.おかげで

代替集合論 alternative set theories PDF VGB Ackermann

を検索すると,その時の発表資料が結構はじめの方で見つかると言う恩恵に あずかっています.

これは,主に,

M.R. Holmes, T. Forster and T Libert : ALTERNATIVE SET THEORIES, 2012, pp559-632 (74 pages)
を読んで,その内容を紹介したものなのですが,内容は,だいたい,

カントールの集合論は新しい数学の世界を切り開くように見えたが,20世紀の初めに, ラッセルのパラドックスをはじめとする数々の パラドックスが顕現して,危機を迎えた.その危機を回避するために 色々なアプローチが取られ,結果として,公理的集合論 ZFC がまとめられ, 今日,危機を回避できたように思われる.

しかし,ZFC はパラドックス回避のために かなり自制的な公理を採用しており,完全には人々の集合に対する要求を満たしては いない.例えば,ZFC では「すべての集合の集合」のような 大きすぎる集合を許していない.しかし,「すべての集合の集まり」 を扱いたいという欲求もあり,ZFC の一部の公理を別のものに置き換えたような 公理体系もいろいろ考えられている.ここでは,そのような色々な集合論の提案を 紹介する.

というものです.この元の論文を読むのは結構きつくて,

上の絵のような感じで,発表の当日の朝,諦めて資料を勉強会の事務局に送りました. なんとか,二時間の発表は終わったので一息つくことができましたが,最後の方はたぶん, 30枚くらいを5分で話すことになりました.

前回の発表(連続体仮説の解説 AGAIN)もそうでしたが,苦労して発表資料を 作って,発表が終わると

こんな感じになってしばらく何もできなくなってしまいます.これは, 皆さんもよく経験することではないでしょうか. 前回の発表のときは,知り合いの KNDH さんに色々, するどいかもしれない指摘を受けたこともあり,特にひどく落ち込んで, 3カ月くらい復帰できるような気がしませんでした.それで前回は,リハビリのために,

青空文庫などの著作権フリーな作品に挿絵や表紙をつけてブラウジングする実験

をやっていたのですが,今回はできるだけ速やかに復帰したいと言うことで,ここ数日, ToDoList 整理をしています.

やっぱり,今までやり残したことを整理し,自分の決めた目標に向かってさらにやらないと いけないことを抽出して,再度,整理,優先順位付けをするしかないんだろうなと 思います.ただ,こういう地道な作業はモティベーション維持が大変なので,合間に次に 読もうかと思う本の候補として

M. Barr & C. Wells : Category Theory for Computing Science, 2012

に何が書いてあるかをざっと見てみるとか,楽しみをいれながらやっています. この本は,練習問題の解答を除くと429ページの本ですが,今日ざっと見た感じでは, 計算機科学での圏論の利用を想定して書いてあることが分かりました. S. Awodey の 圏論の本も多少は計算機科学の読者に配慮がありますが,タイトルから for Computing Science とは言っていません.その観点からは,とても興味深いです.また, この本は,1998 年に 出版されたものですが,絶版になって,今では,reprint 版が PDF で入手可能になっています. この手の立派な本が自由に入手可能になっている現状は,勉強しようと思えばいくらでも 教材が手に入るという状況で,ずいぶん勉強しやすい幸せな環境になっていると思います. ちなみに計算機科学の基礎として,私は次のようなトピックスを想定しており,圏論は,それらの 串(この図では縦串ですが通常は横串)を通すために重要と考えています.一番外側の枠も 「計算」で,一番下の四角も「計算論」ですが,一番外側の「計算」は計算機屋さんが考える すべての計算で,一番下の計算論は再帰関数論とかもっと計算機械などを考えた特殊な 計算理論のつもりです.本当は,これに位相(一般トポロジー+α)も入れていたのですが, 挫折して,図からも抜け落ちてしまっていることを,たった今,気が付きました.

まあ,とにかく,今回は速やかに復帰できれば良いなと思います.ところで, 表現としては,「ポケーとする」でしょうか.あるいは「ボケーとする」でしょうか.検索すると後者の方が圧倒的に多いので,きっと,「ポケーとする」 とは言わないのでしょうが,今の心境は有声破裂音の「ぼ」ではなく,無声破裂音の「ぽ」に 近いので「ポケー」にしておきます.これは音韻の話なので, 使えるものを総動員してドイツ語単語を覚えるのネタということで,そちらのページもぜひ宜しくお願いすることにして,今回の話を終わります.

ソフトウェア科学とボサツ様

2019 年 6月 24 日 (月)

これは昔,「簡単なイラストの練習 (Practice of Illustration) 」コーナーに 描いた「ソフトウェア科学とボサツ様」という 4コマ漫画の焼き直しと いうか,解説なのだが,次のようなコマから始まる4コマである.

4コマの全体は ソフトウェア科学とボサツ様PDF版である.絵が下手なのは昔からなのと, 字もたくさんあるので読みにくいかもしれない.申し訳ない.

これはあるソフトウェア開発会社のあるチームのリーダーのお話で, ソフトウェアの問題は理論を極めないと分からないという思いから, そちらの方に傾倒していくというお話だ.実際のソフトウェア開発の現場に そのような人がいるかと疑う人もいるかもしれないが,こういう 社会不適合な人は結構たくさん紛れ込んでいる.何しろ,こういう人たちは学歴は 高いので,ちょっと性格的な部分を上手く演じれば採用試験をパスできるのだ. あるいは,採用担当者たちには分かっているかもしれないが,彼らも,どれだけの 大学の人をどれだけ入れたかで成果が決まるので,あえて目を瞑って 入れてくれているのかもしれない.辞めたら辞めたで別の問題というか,別のカウント だろうし.配属したところの上司がうまく使えなかったとか.

で,こういう人たちは入社後,その学歴故にある程度速やかにそれなりのポジションに 付くが,そこから悩み始める.「このままでいいのだろうか?」と.それはもしかしたら, 「ソフトウェア開発の現場がこのままでいいのだろうか?」だろうし,もしかしたら, 「自分の人生はこのままでいいのだろうか?」かもしれない.そして一部のものは, 現場を犠牲にしてでも自分の思いに向かっていくことになる.

たぶん,皆さんもこういう身勝手な人の一人や二人,知っているかもしれない. 私について言えば,知り合いはこんなのばかりである.

この4コマでは色々言いたいことがある.

  1. 現在の理論にはやはり現場で必要とされるものと乖離があるのではないだろうか?
  2. なんで理論の方に行った人たちは,現場の問題を解決してくれないのだろうか?
  3. 理論を構築する場と現場は分けるべきなんだろうか?

なんか,これらは同じことを言っている気もする.理論側の人たちはおもちゃみたいな問題を こねくりまわすだけで,現場で起こるサイズの問題を扱ってくれない.現場のニーズを 知らないからかなと思うこともあるが,一般に,現場のニーズを知っている人が行っても 同じだったりする.現場の人が理論側の人たちの域に達するのはとても労力が必要だが, 努力してあちらの世界に行ってしまった人たちは往々にして帰って来ない.

まあ,理論だけやりたくて,「それが現場に根差している」という言い訳だけが 欲しい私みたいな人もいるだろうが,本気で現場の問題を 解決したい人たちも世の中には多いみたいだ.知り合いの研究会で雑談してみると 本気でこのように思っている人がたくさんいることに驚くとともに尊敬の念も抱くことが 多い.そういう人たちは現場から離れずにやれれば良いのだと思う.そこで最後のコマの

につながる.「菩薩(ボサツ)」というのは,いわゆる,大乗仏教に特有な概念で 「仏(ほとけ)」になる悟りを得ながら,娑婆にとどまり,大衆(衆生)を導く人で ある.一見,献身的,自己犠牲的な行いのように見えるが,もしかしたら,単に

悟りと言うものは日々の生活と無関係のところにあるのではなく, 日々の生活の中での(怒りや悲しみ,欲望など愚かな感情とこころの平安の間を 行き来する)プロセスなのだ
というようなことを言っているのかもしれない.個人的には「自己犠牲的」という 考えは仏教になじまないように思うからだ.もっとも私は仏教について詳しい訳では ないので勝手な解釈ばかり書き散らかすと怒られそうなので,「菩薩は悟りに 至りながら娑婆にとどまり,衆生を導く人」とだけ言っておく.ソフトウェアの プロセスをやっている人知り合いにも沢山いるが,プロセスなんで, みんな 現場でボサツになってしまえばよいと思う.

で,私は菩薩にはなれないので,こちらサイド(此岸 this side)から あちらサイド(彼岸 that side)へ簡単に行けるような計算機科学の教材作りを 一生懸命考えようとしている.思い始めてからずいぶん時間が立つのでそろそろ 何か成果を出さないといけないのだが.最近,妻からもときどき,「あれはいつになったら できるの?」,「私はいつ楽ができるの?」と嫌味を言われ始めている.

最後に,4コマの最後の文句

現場にいながら理論を体得し,しかし,あえてサトリに至らない. その生死の尽きるまで人々と苦楽を共にし,人々の利のために尽くす.
は,「理趣経百字の偈」の先頭の部分,
菩薩勝慧者 乃至尽生死 恒作衆生利 而不趣涅槃
「菩薩は勝れた知恵のお方で,その生死の尽きるまで,衆生を利するために尽くし,あえて 涅槃には至らない」くらいの意味かな?)
をもじったものだ.私はこの宗派(たぶん,真言宗)とはなんの関わり合いもないが,「理趣経百字の偈」は とってもきれいなお経だと思う.「理趣経百字の偈」で検索すると,意味も一緒にでてくると 思う.短い(百字)ので一般的教養として読んでおくと良いと思う. これの元になった「理趣経」は,最澄と空海の不仲の原因に なった曰く付きのお経であるのだ.あと,少し,読みになまりがあるところ(「乃至」が「ないし」で なく「だいし」とか)がかっこいい.

知識を総動員してドイツ語の単語を覚えるページを作った

2019 年 6月 5 日 (水)

先月の終わりに

使えるものを総動員してドイツ語単語を覚える
というページを作った.これは 2016年7月に個人的なメーリングリストで,某コンパイラの N 先生を相手に,全6回の企画で試しに作成して投稿してみたものだ. 先生は毎年,オーストリアに1か月~2か月遊びに行くそうで(すごい),そのためにドイツ語の勉強を 始めたということだった.ちょうど,私が語源やら何やらを駆使してドイツ語単語を覚える方法を 考えていたこともあって,知識の押し売りをしてしまった.先生は結構律義に 読んでくださったみたいで,いろいろ質問していただいた. 今まで放っておいたが,少し肉付けして,将来 お金儲けのネタにならないかと,先月末から,以前投稿した部分をホームページに まとめ始めた.

次のネタは依然投稿した分には無いのだが,先ほどちょっと書いてみたので,そのうち 今まとめているページにも載せようと思う.

ドイツ語で Entschuldigen Sie! は,英語の Excuse me! にあたる.ent- は分離を 表す前つづりで,英語の anti- と同語源.また,schuldig は罪を負うべきという 形容詞で,名詞 Schuld 罪,責任 から来ている.Schuld は英語の should に に似ているが,実はこれらは同語源で,「(罪や責任を)負う」という意味を持つ. 語源から単語の意味が一意に決まるわけでもないが,こういう形と 意味のネットワークを頭の中に構築するのは記憶を助けると思う. 絵では,「肩(shoulder)」にも掛けてしまったが,こちらは語源不詳らしい. 紛らわしかったかもしれない.

ちなみに「使えるものを総動員してドイツ語単語を覚える」のページは 「使えるものを総動員して」 なので,語源だけでなく語呂合わせでもなんでもよいことにしてある.また,言語学的な説を 主張しているのではなく,記憶するための方便なので,言語学者の方々は憤慨して どなりこんでこないようにお願いしている.何か将来お金になるものになれば良いのだが.

コノヒトタチ くっつくべからず

2019 年 5月 26 日 (日)

ひとつ前の日記「循環定義を正当化する」 で述べたのだが, 図書館で長年タイトルがとても気になる絵本があって,私はそれを 「コノヒトタチ くっつくべからず」 だと思っていた.

「『くっついてはいけない』人たちってどんな人たちなんだろう?」,「お互い相性が 悪くて,顔を合わせると喧嘩する人たちなのかな? それとも,何か変なことに意気投合して, 周りが迷惑するようなことをやってしまう人たちなのかな? それとも, べったりくっついてしまうような人たちなのかな?...」といろいろ疑問を 抱きながら,今まで手に取ってみることはなかったのだ.

それが前回の日記の 「循環定義を正当化する」矛盾許容論理の話が出て, 「矛盾する命題同士くっつけなければ...」という発想から,この本のタイトルが 連想され,よくよく確認してみると 「コノヒトタチ つっつくべからず」 だったという話だ.「くっつく」で無く「つっつく」だった.長年,気になっていたこともあり,この際どんな内容なのだろうと思って図書館で借りてみることにした.

著者はシェル・シルヴァスタイン(Shel Silverstein),アメリカ人,川上弘美訳,英語のタイトルは DON'T BUMP THE GLUMP! and other Fantasies で,上のような表紙の絵本だった.

内容としては,いろいろな妖怪や怪物みたいなものが出てきて,それらの 機嫌が悪いかもしれないので「つっつく」のはやめた方が良いという話みたいだ. 出てくる妖怪・怪物の類もちょっとシュールでよく分からないものが多い.一回目に読んだときは さっぱりわからず,二回目に読んではじめて,いくつかは, なんとなく何を象徴しているのか分かったような気になってきた.もっとも, 分かった気になっただけかもしれない.登場する妖怪・怪物の類は上の表紙を模擬した 絵に描いたようなものたちだ.絵の具の使い方が特殊で面白い.

私も,ちょっとマネして1つ描いてみた(左のやつ).即興で描いた割には面白いのができたんじゃないか と思うので,このキャラクターはどこかで使おうかと思っている.こんな絵の塗り方が わかっただけでも,この本を借りてよかった.長年気になっていたことも分かったし.

今回は,新しい絵の塗り方を習得したついでに,その技術を使って,

コノヒトタチ くっつくべからず

の絵を描いておくことにする.

一つのシステムの中にこのような部分(それらが干渉するとシステムに矛盾が 生じてしまうような部分)が存在してしまうのは,現実のソフトウェアや 人間社会ではよく起こることだ.PC 用の某巨大 OS は,しょっちゅう,不完全な アップデートを繰り返している.ソフトウェアの開発においては,情報は不完全で いろいろな矛盾する要求がでてくる.もしかしたら,それらが明らかに矛盾すると わかる場合は幸運な方で,多くの場合は,潜在的な矛盾が発覚することなく,システムの 離れたところに存在するかもしれない.

したがって, そういう事態を許容するシステムの モデル化,そういう事態が起こり得る世界の論理体系の構築, 一時的なトラブルの回避方法やそういうトラブル及ぼす影響の取入れ方法など が興味深い研究のトピックスになるかもしれない.

今回は絵本のタイトルに関する長年の誤解が解消して,その絵本の 絵のかき方が参考になったという話だった.とりあえず用事は終わったので, 明日,その本を返却してくることにしよう.

循環定義を正当化する

2019 年 5月 9 日 (木)

昨日,某勉強会で M 氏が「フレーム問題」の話をしたので, それを聞きに行ってきた.昨年の10月に私がその勉強会で連続体仮説の解説を したときに,M 氏に来てもらったのでそのお礼も兼ねてだ.

話の内容としては

  1. 昔はロボットに問題解決をさせるとき,そのロボットの各行為がロボットの 周りの世界に何を 引き起こすかの推論を現実的な時間にするためにうまく推論範囲の枠(フレーム)を 切ることが問題になった(フレーム問題).

  2. しかし,最近は,多層・多量のニューロンを使って状況と適切な行為を学習させ, 自然にできたニューロンの重みにより,そのフレームを自動的に生成する(あるいは すでにニューロンで生成されている)という 技術がでてきたので,一部の人たちは,フレーム問題はもう解決したと 言い始めている

  3. しかし,それは,ロボットのごく単純な制御に限った話で, 自然語理解ではまだフレーム問題は存在する

ということだったと思う.

出席者は計算機科学の中でも数学寄りの人が多かったので, 結構,議論は荒れた

それは,M 氏が初めに,

深層学習を使った翻訳では多量の対訳例を学習させることによって, かなり正確に翻訳ができるようになってきている.しかし,この方法は意味論に 触れていない.すべてをシンタクスで処理しているわけで, 意味は多量のシンタクス(シンタクティカルなルール)で達成できることを示した. つまり,量は質を作るのだ.

と言い,次に,

しかし,これらの翻訳ソフトウェアは意味を理解しているわけではない

と続けたので(最後に関連図あり),上の発表会場の絵にあるように,

(自然語の文章の)意味はシンタクスが作ると言いつつ,深層学習した機械は 「意味を理解していない」と言う.あなたはそれをどういう根拠をもって言い切れるのか!

という質問につながるのである.M 氏は「意味」に関する矛盾を認識しつつ, 自分が思う,深層学習結果が意味を理解していない理由を次々に挙げるのだが, 当然会話は成立しない.質問者 Y 氏の問いは,「意味」の定義が何かという ことなので,機械が「意味」理解していないことをあらわす現象の羅列は意味をなさない( Y 氏も知ってて聞いているような気がするが).

人工知能の分野では,根源的な定義に落ち着かず,循環する議論は至る所に あるような気がする.「知能」とは何かということをとってもそうだ. 定義はできない.たぶん,

知能とは,人間が持っているすごい能力. いろいろな問題解決を可能にする. 例えば,視覚画像の中からものの立体形状を決める能力を持つ. また,対話においては単語列から文法を解析して,いろいろな単語や文節, 文章間の制約を利用して意味を決定する能力を持つ....
などの漠然としたイメージしかないと思う. 結果として,各自が心の中に抱いているつもりになっている要件が ぽつりぽつりと出てくる.おまけにその記述の中には「意味」だとか, 「立体形状」のように,未定義だったり,過剰定義だったりする用語も入っている. さらに例えば,「意味」の意味を定義しようと思えば,「知能」が入力を処理した結果と して内部に蓄えられるものとかいう循環した定義もでてくるかもしれない(あれっ? これは 「知識」かな?).

誰も正体が掴めないので,人によって言うことが 違う.また,同じ人でも,時によって 違った形の定義がでてきて,聞いた者にとって,とらえどころが無いように感じる. これは数学などの,一番底の正確な定義から1段ずつ積み上げていくスタイルの人間にとっては, 耐え難く感じることである.私も昔はそうだったし,今回の発表者の M 氏も経歴を 見れば数学系統の人だ.40年前に人工知能のテキストを読んだ時には,「定義しにくいのは わかるが,近似でもよいから,とにかく何か定義して始めろ」と思っていた. 私と M 氏は,pure な心のままでいられなくて,心が汚れてしまったに違いない.

だが,ここで「しかし」と思う.本当に循環的な定義は定義にならないのだろうか. それで今回の日記のタイトル

循環定義を正当化する

である.

実は,私は来月,その某勉強会で発表するために「代替集合論(Alternative Set Theories)」を 調査している.集合論は19世紀にカントールによって始められ,一度はパラドックスを 経験したが,今は,一応,安全と信じられている ZFC (Zermelo-Fraenkel with axiom of Choice) の集合論が纏められている.これは 常には数学者が意識するものではないのだが,何か集合に関する問題が起こった場合は, ここに逃げ込めばよいという砦になっている.このため,ZFC はかなり控えめな集合論だ. 例えば,ZFC の集合論では,どんな集合も無限に ∈ の操作を行うことはできない. それは,基底の公理(Axtiom of Foundation) という公理で禁止されている. つまり,ZFC では, 集合の要素をとり,さらにその要素をとり,と続けていけば,有限回数の操作で必ず 空集合 ∅ にたどり着くようになっているのだ.

特に X∈X や X∈Y∈X のような循環する ∈ はない.

しかし,ZFC の後に提案された代替的な集合論の中にはこの規制を取り外したい 欲求をもって提案されたものがある.これらの集合論の中には基底の公理を取り払い, ∈の無限降下列を許すものがある.実は,これらは数学での要請でなく, 計算機科学の要請から 来ているらしい.

現在の多くの関数型言語(Haskell など)は Lazy evaluation (call-by-need) により, 無限リストを定義できるようになっている.例えば(文法は適当だが),

である.これらはいずれも循環的な定義を持っている.つまり,

something = F(something)

という形である.最近の集合論では順序対を Kuratowski の順序対

pair(x, y) = {{x}, {x, y}}

であらわすため,無限リストが定義可能になるためには,無限に深い ∈ 関係を持つ 集合が必要になってくる.例えば,

one_list = pair(1, one_list) = {{1}, {1, one_list}}

では

one_list ∈ {1, one_list} ∈ one_list

のように集合 one_list が一つの集合を挟んで再度自分自身を含む構造になっている.

このような循環リストに関する意味論へのアプローチとして余代数(co-algebra)の枠組みを使うものがある. 例えば,文献

Bart Jacobs , Jan Rutten : A Tutorial on (Co)Algebras and (Co)Induction, 1997, 38 pages

には,無限リストや,問い合わせるたびに何か信号を返し続けるシステムの意味を co-algebra で定め,証明手段として co-induction を使うという話が載っている.

これに対して,別の型からその型の生成関数を使って定義する普通の有限のリストや 有限木などのデータについては,普通のinduction (帰納法)で証明する.

話は長くなったが,要は,

物事の定義にしてもこのような循環的な定義というものが ありはしないだろうか
ということである.言い換えると
分かっているものから積み上げる形の inductive (帰納的)な 定義だけでなく,分かってないものの組み合わせで再帰的な定義を与える co-inductive (余帰納的)な定義があるのではないだろうか.そして, その再帰的定義が収束しようがしまいが,何かを定めると思い込むので ある.

これだけの戯言を言うためだけにずいぶんと長い文章と絵を使ったような気がする. また多少無理筋があるかもしれない.本質的にわからないものと,たんなる循環定義は 違うかもしれない

本当はさらに,次のようなことも書きたかったが,本当に長くなるので次に回す.

  1. 某ソフトウェアコンサルティング会社の Otsk 社長に関連すること
    「知能」の定義ほどではないにしても,ソフトウェアに関する種々の測度は定義しにくい. そこに, 頭の良い人というか,アレな人が暗躍する余地ができてくる.

  2. 計算機科学に行った研究者は数学の落ちこぼれかどうか
    今までなんとなくそう思っていたのだけど,今回の某勉強会後の飲み会で必ずしも皆が そう思っている訳ではないことが分かった.落ちこぼれは私かもしれない. いや,私がそうだというのは確かではあるのだけど.

  3. 矛盾を許容する論理との関係(某勉強会で Y 氏が以前紹介されたみたい)
    矛盾を起こす命題の組が,出会わないようにするとか,出会っても害を及ぼさないように するとか,それらが及ぼした影響を急速に修復するとか.

    私は,いつも図書館で気になっていた絵本のタイトルがあって,それを 今の今まで「コノヒトタチくっつくべからず」だと思っていたのだけど, 「コノヒトタチつっつくべからず」だった.シェル・シルヴァスタインという 作家の本だが,結局,こことは関係のない話だった.これはこれで興味深い 話らしい.

私は来月の下旬にはこの某勉強会で代替的集合論の調査報告をすることになっているので, 気合を入れて調べて,プレゼンを作らなければならない.いや,調査もプレゼン作りも あまり関係ないかもしれない.とにかく心の準備が重要である.前回の連続体仮説の 発表の時は優しい Y2 氏しかいなかったので,なんとかなったが,今度は Y 氏との 攻防が待っている.とにかく健康には気を付けよう.Y 氏も Y2 氏もすでにご高齢なので ぜひ健康には気を付けて,長く活躍していただきたいものである.


補足

「意味の理解」の問題 AGAIN

ちょっとしつこいが,最初のフレーム問題の話題で,機械が意味を理解しているかどうか については,次のような図を描くと論点がはっきりしてくるのではないかと思う. つまり,「深層学習で学習したもの」と「従来の意味領域」が同時に現れる図である. この二つを同じ絵に入れて,差を述べていけば議論のポイントが絞られてくると思う. この場合も,「意味の理解」には作業仮説を置くか,あるいは,自分が「意味理解」に 込める要件を整理してみるといったほうが数学屋さんに反感を持たれずに済むかもしれない.

ちょっと眺めてみると,私は(1)と(2)の違いは,最終的には自然発生的 人為的かの 違いになっていくのかなという気もする.

大量のシンタクティカルなルール

上で私が適当に使っていた「シンタクティカルなルール」も分かりにくい言葉かなと思う. 私は自然言語処理も深層学習も詳しくないが,およその想像がつく説明をつけておく.

今,莫大な量の英日対訳例が入手できるとする.その中に,

このような例文がたくさんあると深層学習にしろ他の学習法式にしろ, 機械学習は,「『tree』 は 『木』に置き換えればよい」というルール

tree -> 木

を学ぶだろう(深層学習ではこのようなルールに相当するような ニューロンの重みが学習されるだろう).もちろん,いつもいつも「tree」を「木」に することはできないだろうから, このルールはそのような例外的な例文が与えられれば,条件部分が単なる tree でなく, 前にある種の単語がつかないときというようなルールに洗練されていく. また, 上の例では see は「を」を使い, climbs は「に」を使っている.これも 最初は "see the tree" は「を」,"climbs the tree" は「に」というような 単純で特殊なルールができるかもしれないが,ほかの例にあたるにつれ, 動詞の部分や名詞の部分分類され,さらにその組み合わせに関してルールが 洗練されてくる.ここで注意したいのは,この方法では tree や see, climbs を 単なる文字列として扱っており,人間が整理した文法的な品詞(名詞,動詞)や 動作の種類,ものの「意味」(tree は植物で比較的大きくて,...など)は 与えていないということである.上に書いた説明では, このような情報なしに文字列とその列に関する ルールで翻訳をしているという意味でシンタクティカルなルールと言っている 訳である.最初に書いたように私は自然語処理も深層学習も専門ではないので, 詳細は違うかもしれないが,大筋はあっていると思う.

このように機械学習も多量の学習を行うと多量の単語を分類しはじめる.例えば, 深層学習では動詞でも目的語を持つものと持たないものなどの分類が次第に 多量のニューロンの重みとして形成されることになる.人間もこうやって,自分たちの 言語の文法を整理してきたはずである.また意味に相当するものも蓄積されてくる. 例えば,多くの例文に当たれば,「木材」が「木」から made-of されて,「木」を 「人間」が grow して,といった「ものの間の関係」が多量に蓄積される.

では,最初の問題にもどって,こうやって機械学習で蓄積した「知識」と人間が持って いる(と信じられている)「知識」とどう違うだろう(「意味」,「理解」が「知識」に ぶれてしまい申し訳ない).

ある人(Y 氏)は,その学習システムがセンサーとアクチュエイターを持つか 持たないかが違う(人間は持つ)というが,私はそのシステムにセンサーとアクチュエイターを 持たせるか,あるいは,それ相当の情報を入れてやれば,このような膨大な例からの 学習結果と人間は区別がつかないのじゃないかと思っている.もっとも,積極的にそう 信じているわけでなく,「強く否定する論拠を私は持ち合わせていない」という位の トーンが本音であるが.

海野十三の「もくねじ」

2019 年 3月 10 日 (日)

最近は次第に計算機科学の基礎の勉強に戻ってきているが, 青空文庫の作品に絵を付けるのも 週に1~2作品くらい続けている.数日前, 海野十三 「もくねじ」に絵の 紹介を付けたが,これが数日してジワジワと(心身に)効いてきた.

内容は,

生み出されたばかりのピカピカの真鍮のもくねじが,将来,自分が「社会の中の どんなところで使われるだろう?」と胸を躍らせているのだが,あるとき,自分が 他のもくねじと違うということに気付いて,思っていたような活躍ができない
という お話である(あまり詳しく書くとネタバレになるのでこのくらいにしておく).

この短編小説の何がジワジワと効いて来るのかというと, せっかくハマった穴からすっぽ抜けるところや,その悔やみ方が結構自分自身の体験と 符合してみたり,いかにも世の中でありそうな感じがするのだ. 海野十三も逓信省電務局電気試験所に勤務し,後に探偵小説でデビューしているので 自分自身のことも考えながら書いたのだと思う.「ねじ」というきちんとハマらなければ ならないものを主人公にしているのも,考えて選んでいるんだと思う.

世の中には

  1. せっかく入った組織で自分の居場所を見つけられずに悩む人
  2. 組織のために必死に役に立とうと思っているのに,能力不足などでそれが出来ない自分に 本当に悩む人
  3. 組織に役に立っていることをみせないとそこに居られないという思いから自己を演じるの だが,その姿に自己嫌悪を感じて悩む人
    ・・・
のように色々な「もくねじ」君の悩みがあると思う.組織と個人の関係は色々な議論があるとは思うが, もともと,どちらか一方の価値観だけが正しいというようなことは無いはずなので, 組織を破壊し,多くの人の生活を不可能にするのでなければ,バランスのとれたところで 必ずしも正確に同じ方向を向いている必要は無いのでないかと思う.つまり,あまり 善悪の倫理観に悩む必要は無いのではないかと思うわけである.10 回のうち,1 回でも役に立っていれば 良いのではないかと.

ところで私の知り合いを思い浮かべてみると〇氏,□氏,△氏ほか,なんとなく,(規格を外れた方の)「もくねじ」率が高いような気がする.これは,私の知り合いに特に多いのか,実は,世の中そんなものなのか.まあ,あまり気にせず,今日も元気にお勉強に行くことにしよう.

人間は動くものにしか注意を払えないか?

2019 年 2月 13 日 (水)

去年(2018年)の11月終わりに知り合いの Otsk 社長の研究会で 連続体仮説の解説をやったとき,そこに出席していた Kndh さんに色々ご指導を受けてから, しばらく,数学を勉強する気力がなくなっていた.仕方がないので, 青空文庫の諸作品に絵で解説をつけるという企画を延々やっていた.つまり, 青空文庫の作品を読んでは,それを説明する絵と短い説明を付けていくのである. この単純な繰り返しが結構心地よい.

そんな状態が二カ月ほど続いたので,そろそろ立ち直らねばと,まずはリハビリに

  1. 簡単な演算子順位法によるパーサー in Ruby
    DEC10-Prolog みたいな演算子順位文法のパーサ.
    構文解析部だけなら200行以下.

  2. SKIコンビネータ AGAIN
    上記のパーサーを使った簡単なコンビネータ論理の学習教材

  3. 動かして遊ぶλ計算の初歩 in Ruby 2019.2.21 追加
    上記のパーサーを使った型無しラムダ計算の学習教材
と,3つほど,Ruby で動くデモンストレーションのページを作ってみた.

直接,抽象度の高い数学の 勉強に戻ると言うのは難しいが,そこは計算機屋さんのメリットで,まずは動くものを 作って,次第につらいところにも戻るという方法がとれる訳である.

それで今回のタイトルの話題である.これは昔からの経験なのだが,殆ど同じ内容を 説明しても,単にプレゼンテーションや書き物で説明するのと,ちょっとしたデモを 使って説明するのでは聴衆の食いつきが違う.

なんか動いているという期待感があるのか,少しずつの変化なので内容を受け取りやすいのか, 単に人間が動くものに反応するように出来ているのか(カエルさんのように).

いろいろな理由があるとは思うのだけど,説明の中に動くものを入れると,聴衆も 関心をもってくれるし, 集中力も持つようだ.議論も活発になる.これは他人へのプレゼンだけでなく, 自分自身に対してもそうだ.例えば,上の SKI コンビネータ論理ではコンビネータ S, K, I の長い並びを変換していって,計算ができるのを確かめるのだが,机上で 追いかけていくとつらくて嫌になるのが,いくつか変換の過程を表示していくものが あると理解が進む.また,デモを見るのとは理由は異なるかもしれないけど,デモを作るのも, 物事を理解するのによい.

一方,逆に人間は動くものを正確にとらえることは苦手だと思う.プレゼンで 喋っている対象を強調しようと思って,ポインタを動かすと, 「ポインタを動かすな! 気が散る」と言われるし,時間とともに移り行く 情報は把握するのも,頭の中に保持することも難しい.

上記,あまり整理していないことを思うままに並べたが, 動くもの(デモや実験)と,静止しているもの(教科書など読み物)を 上手く取り混ぜると学習が捗ることは確かだと思う.今,自分がやっている 本来の目的の「計算機科学に役立つ抽象数学を楽に学習する工夫」でも この「取り混ぜ」は考えた方がよいのだろう.

まあ,なんにせよ,リハビリでもなんでも,早くやって,抽象数学とその計算機応用の お勉強に戻らなくてはと思う. あと,また元気がでたら,Kndh さんを誘ってお茶と議論でも 楽しまなくては.

皮は役に立たないか?

2019 年 1月 11 日 (金)

昨年(2018年)の11月終わりからずっと数学を勉強する気がのらなくて,この一カ月半くらい, 青空文庫の色々な作品に挿絵みたいなものを付けて遊んでいた.

挿絵といっても,ちょっとした 落書きのような絵に多少の文章を添えて,スポイラにならない程度に,その作品がどんな ことを書いているのかを紹介するというものである.現時点(2019年1月11日)で,180 作品ほどに説明の絵を付けたので,次の絵をクリックしてぜひ見て行って欲しい.絵は,ここに描いてある絵程度か,もっと下手なもので,間違っても「萌える」ような絵ではないので, 家族で安心して見ることができると思う.


青空文庫などの著作権フリーなテキストに挿絵や表紙をつける実験 (1)

以上のようなわけで,ここ一月半ほど,青空文庫で著作権の切れた作品(50年以上前に 著者が亡くなっている作品)を沢山読んだ.それで気が付いたのだが,あの頃の 作品は前置きが長いものが多い.例えば,今から絵を付けようかと思っている,夢野久作の 江戸川乱歩氏に対する私の感想など,半分は前置きで,後の方も締めくくりに向かっての 何かなので,内容は 1/4 ~ 1/3 位しかない.前置きの大部分は探偵小説での自分の大先輩で ある江戸川乱歩氏の批評を書くことの申し訳なさが延々と綴られている.

我々,技術者は,大学や会社で,「極めて速やかに核心の議論に入る」ように訓練されるので この手の前置きの長い文章を読まされると,「いい加減で前置きを切り上げて欲しい」と 思うのである.私は,ここ一月半,ずっとこの思いと,「なぜ,こうも 多くの人が,このような無意味な前置きを書くのか?」という疑問を持ち続けてきた.そして, もしかしたら,このような無意味に見える前置きにも意味があるかもしれないという気持ちが ちらりと出てきたので,今回の日記のタイトルで文章を書いてみようと思ったのである.この日記自身もずいぶん 前置きが長かったと思うが,それは上で青空文庫の挿絵企画を宣伝しなければならなかった からである.ということで,ここを読んだ人は必ず上の絵をクリックすること をお願いする.これが今回の日記を書く最大の目的であるのだから.

以上のようなわけで,ここでは,中身でなくその皮にも意味があり得るということを 書くつもりである.これは丁度,前回書いた「中身のない人たち」の逆を書くことになる. そこではフレームワークではなく,その中に入れるべき内容に,より重点を置いた活動を すべきということを書いた.この気持ちは変わっていないので,今回も,「皮(フレームワーク) にも多少の意味はある」ということを書くに過ぎない.

この先,少し長くて,若干趣旨も分りづらくなるので,今のうちにいったん上の絵を クリックして青空文庫を挿絵でブラウジングするページを表示し,ブックマークにでも 登録しておくことをお勧めする.

前置きの重要な役割の一つはコンテキスト(文脈)を設定することであると思う. これは技術的な文書でも同じである.ただし,技術的な文書では,素早く内容に入っていけるように, コンテキストは必要最小限の設定を行う.そして,価値のある「内容」に入っていくわけである. ここで注意しなければならないのは,内容に価値があるとしつつ,それ単独では 価値がないのである.少なくとも,その価値を分からせるためにはコンテキストを 最小限度理解してもらわなければならない.ということは,内容とコンテキストの インタラクションで始めて価値が生まれるものであり,内容だけでは価値を生じない ということになる.このような状況で,「内容」だけを重視して,「コンテキスト」には 価値を認めないのは正しい態度であろうか? 今,言ったように, 正確にはこの二つのインタラクションで価値が生まれるのである.たぶん,技術系の 話題では,価値を生むとき,より多くの価値が「内容」から発生するという状況が 生じる故,「内容」がかくも重視されるのであろう.とすれば,「内容」に価値を認める 以上,「コンテキスト」にも価値を認めざるをえない.すなわち,前置きにも価値を 認めざるをえない.コンテキストと内容,この二つは陰と陽である.「コンテキスト」は 「内容」に価値を認めるための「背景」,「内容」が「解決手段」となるべき, 解くべき「課題」である.

私がこの一月半色々読んだ作品は,まずは,寺田寅彦等の科学的な随筆,それから, 海野十三,夢野久作,欄郁二郎,小酒井不木等の探偵小説,SF小説である.特に後者は コンテキストを作ることが主な仕事だったりする.事件の真相は論理的に当たり前の 事であることが多いはずなので,それを隠すコンテキストが必要なのである. 著者は巧妙にコンテキストを設定していき,読者をある視点に固定する.そして, その視点を裏切る結末を用意する.したがって,コンテキスト設定は,彼らにとって 本業そのものなのだろう.そう考えると,彼ら探偵小説の作家が他人の作品の分析を 文章にするときにも,このコンテキスト作成が全面にでて,我々技術者をうんざり させるとしても,それはかれらの本職に忠実なる故と思って,それに耐えるか, あるいは,それを楽しむということが必要なのかもしれな.つまり,前置きが長く なるなと思ったら,我々の読書活動を,内容を得るという活動から,それがどの ように巧妙にコンテキストを作りつつあるかを観察する活動に切り替えるのである. そうすれば多少は我慢ができるようになるかもしれない.

すこし,話を拡張してみる.内容とその包み(皮)との対比で,私が思いだすものとして, 江戸時代の国学者の平田篤胤の法華経の評がある.法華経は,所謂,大乗仏教のお経で, 中国,朝鮮,日本など東アジアでは絶大な人気があるお経である.しかし,大部分の人は, そのお経を読んでも,中々,何をいっているのか分からず,例えば,平田篤胤は

「法華経」は薬の効能書きばかりで,肝心の丸薬がない
と言っている.「良く利く」という立派な包みの薬(?)があるのだが, 開けてみると薬は入っていないということだろう.また,法華経はらっきょうに例えられることも ある.「むけどもむけども実がない」と. 私も実は故あって 岩波文庫の法華経を3回ほど飛ばし読みしたのだが, 同じような感想をもった.一方,聖徳太子やその他色々な人が法華経を素晴らしいお経だと 絶賛している.これはどうしたことだろうと思う訳である.

まず,もともと所謂「大乗仏教」のお経は仏教の基礎の上に書かれているので,その 基礎部分は書いてないことが多い.「応用編」である.これが法華経に限らず,大乗仏教の お経の分かりにくさの原因の一つである.仏教の基礎として,「『苦』は自分の心が 作り出している」ということを補って読めば,なにやら修行方法を 述べているのではないかと思える部分も見えてくる.

もう一つは,これは私が仏教の真髄を知っている訳でないのであくまで想像だが, 仏教はプロセス的な性格が強いと思う.仏教では,人間に絶えず発生する苦,たぶん, 欲求と現状の差を「苦しい」と認識する自分をどうにかしていかねばならない. これには終わりがない.法華経にはその処方箋が書いてあるのだと思う. しかし,その処方箋は,何かをすれば苦が無くなるという処方箋ではなく, 苦の発生とその消滅の繰り返しの生き方が書いてあるのではないかと自分は思う. それはともすればらっきょうの皮のように余計な地の文章のようにみえるが, それらをすべて捨ててしまえば何も残らない.実は,らっきょうの皮自身に価値がある. 捨ててしまってはもったいないものなのであろう.

ある人は 法華経には内容がないと言い,ある人は法華経は実践的な処方箋,修行のマニュアルであると言う. 法華経のこの話は私のポイントがぼんやりしていると思うが,「内容」というものを明確に 決めることができない場合があるということと,プロセス的なものは内容と捉えにくいと いう例として出した.また,お経のある部分が,ある人には「効用」としか見えなくとも 別のある人には「手段」,「方法」,「修行法」と見えるということを述べた.

もうひとつ,実態が何か分からないのに価値があるように思えるものとして,数学があると 思う.これは昔の日記

数学とは,壮大なる言い換えの学問と見たり 2017 年 11 月 17 日 (金)

(ジャンプ先のファイルが重くなっているので目的の箇所に飛ばない場合は, ジャンプ先のページをこのタイトルで探してください)
でも書いたが,数学の定理は,公理的な立場では,「P ならば P」と同値なものを 馬鹿らしくない命題に見えるまで論理的な規則を使って変形したものに過ぎないはずである.したがって, 見た目が異なる形に変形された条件部と帰結部の組み合わせによっては価値があるように 見える例であり,これもコンテキストと内容の分離の提示と取れないことも無い.

以上,若干,とりとめもなかったが,皮と中身,入れ物と中身,陰と陽,手段と効用などの, 通常,価値を認める側でない方に着目するのも良いということ,何もないところから,これらを認識して 分離することで価値が生まれることもあることなど,ときどき私が思うことを述べた. もう少し考察が必要と思うが,まずは,日ごろ思考の形にしていないものをとりあえず,外に 出してみた.あまり整理できていないので申し訳ない.

最後に,私自身の実家は法華経絡みの宗派ではない.それから,今年から TPP の絡みで著作権の消失が死後70年になるので,今後 20 年は新たに著作権が消失する作家は ないことになった.残念だ.

中身のない人たち

2018 年 12月 2 日 (日)

大企業には中身のない人たちが多いように思う.

別に頭が悪いといっている訳ではない.日本の大企業には,東大,京大をはじめとした, 旧帝大,有名国公立大学,有名私立大学の卒業生が沢山いるわけで,とても優秀な 人たちが集まっている.

ただ,大企業では(たぶん)その性格上,仕事のフレームワークを 決めて,実際の仕事は系列会社,関連会社,そのほかの下請け会社に回すことが多い. その場合,大企業の人間は大きな枠組みの考察,仕事の采配,管理までをやってお金を 稼いでいる.結果として,技術は下請けの方に集まり,親会社では,大まかな 考え方,技術動向などは把握しているものの,具体的な技術内容になると分からなく なるということが起こる.

こうなってくると大企業が儲けていられるのは,長年築き上げてきたそのポジション 故であり,すでに持っている財産,その他のリソース(人や設備,各種団体との コネクションなど),それにある種,集団の思い込みで 支えられている面があると思う.社会がそれに気付き,思い込みから覚め, さらに,持っていたリソースの優位性がそれほどでもなくなると,徐々に 内部の人間そのものの実力通りの評価になっていくのではないだろうか. 親会社と子会社の関係も段々変わって きているような気がする.

人間個人の能力評価も同様だと思う.大企業から出てしまえば,企業が後ろ盾になった 従来の人間関係に頼った仕事はできない.そのとき自分に何があるだろうかと 振り返ったとき,フレームワーク作りだけでは役に立たない.うんと画期的なフレームワークで 協力者も自分の情熱で集められるような力を持った人ならいざ知らず,普通の人が 普通のフレームワークを作ったところで,従来の,色々なリソースを動かせる立場を 失ってしまえば,あまり,役に立たない.そういうときでも役に立つ自分の「中身」と いうものを常に獲得し続ける努力は必要なのではないだろうかと思う.かくの如く言う 私も実は殻だけで中身を作らない傾向がある.だいたい,数学をやっていて,定理が どういう意味を持っているかまでは興味があるが,その証明までは面倒で追っていけない. こうやって面倒な証明を飛ばして勉強していくと,ある日,物事の推論能力が衰えて いることに気づいて,愕然とすることがある.

世の中には,これと反対に中身だけしかない人たちもいる.しっかりした殻, フレームがない状態で知識だけを次々に詰め込んでいくので,あちこちで知識が こぼれだしているような人たちである.

社会としては,殻と中身のバランスの取れた人が好ましいのだろうけど,個人の幸せと しては,これはこれでありだと思う.私も今ここを目指したりしている(かもしれない).

では,中身の無い人と中身だけしかない人が組んだらうまくいくだろうか? これは 人間同士の話なのでなんとも言えないが,うまく行かないことの方が多いと思う.中身だけの人は,なにも 特別優れている訳でもない入れ物に入れてもらう必要なないわけである.それほどの 利益もないのに堅苦しくなるだけなので長く続かないんじゃないかと思う.

私も今年還暦(60歳)を迎えた.すでに5年前に自主退職はしているが,今後, 年老いていく中,どうすれば自分も楽しくて,また,世の中にも少しは役に立つかを 考えていかなければならない.一つ前に書いた,青空文庫に表紙や挿絵-like なものを 付けていくのは,ある種,(半)中身を付けていく行為だと思う.著作権フリーの 大量のテキストの蓄積や検索も良いのだが,中身に直に触れないで,そういう外の 一般的な ICT 技術の適用だけだと,人間にとっての面白味まで降りていけていないことも 多いと思う.一度,それを体験してから,一般的な ICT 技術の適用を考えたらよいと思う.

絵を使った青空文庫などのテキスト紹介の実験を始めた

2018 年 11月 27 日 (火)

「青空文庫」のテキストなどの著作権の切れたテキストが,ボランティアなどの努力で 大量に蓄積されてきている.これは人々が質の高い多くの文章を無料で使うことが でき,とても良いことだと思うが,今ひとつ活用が進んでいないのでは ないかと思う.

と言うのも,私自身があまり読む気になれないからだ.なんとなく, 古臭い,面白くない, 無価値だという感覚がある.時がたっても,その時代時代の才能のある人が書いた文章は 深い味合いを持つと観念的には分かっていても,である.また,例えば,青空文庫の文章だと 何を読もうかとブラウジングするとき,読むかどうかを決める情報があまりに少ないのも 読みたくならない一つの理由だ.どれだけの努力でどれだけの知識や感銘,楽しさが得られるか が分からない(テキストのサイズがブラウジングのときに分かるだけでも嬉しいのだが).

これらの解決策の一つとして,絵を使ってみるというアイディアがあると思う. と言うことで,とりあえず,その実験ページ

青空文庫などの著作権フリーなテキストに挿絵や表紙をつける実験 (1)
を作ってみた.

これは今思いついたことではなく,(恥ずかしながら)2009年頃から大学での 職を得られないかと応募しているときに,やりたい研究の一つとして 書いていたものである.「テキストに表紙と挿絵を自動生成してみたい」と. このことは, 本の表紙をデザインするページを作った(2017 年 11 月 20 日 (月)) 東京の地下鉄は日本一複雑らしい!(2018 年 10 月 27 日 (土)) にも少し書いた.今回は,主に手書きの落書きのような絵を使って青空文庫の 比較的短い随筆などを中心に表紙や挿絵を付けてみる.挿絵といっても, 棒人間みたいなものにセリフを書き込んだ程度のものが大多数になると思う. また,一度に沢山できないので,時間ができたとき少しずつ増やしていくことになると 思う.とりあえず,昨日,寺田寅彦の随筆10個に絵を付けて,そのページを立ち上げた. 最低,20~30 個のタイトルがあるとなにか使い勝手などが分かるようになるんじゃ ないかと期待しているのだが.


数学と語学 by 寺田寅彦
初出 :「東京帝国大学新聞」1929(昭和4)年4月
サイズ : XHTML版 9.3 KB

昨日,10 タイトル作ってみて感じたこととしては,同じような絵だと飽きるという いうことがある.実験としては条件を特定できなくてよろしくないが, 色々な手法を取り入れていこうと思う.例えば,昔,上に書いたような研究を しようと思ったときに,テキストを自然語解析させて,表紙に書くべき対象を 抽出するという簡単な実験プログラムを書いたことがあるが,最初に描いた10 枚のうち,2つはこのプログラムを使って出てきたキーワードをもとに描いた.

テキストに表紙や挿絵を付けていくという技術の開発・適用は,純粋に技術的な 問題だけでなく,著作権,著作者人格権などの法律の問題もある.例えば, 青空文庫にあるテキストは著作権は切れているものが多いが,著作者人格権は 生きていて,同一性保持権など,テキストにどこまで手を加えてよいかという 問題もある(基本的にテキストには手を加えられないような気がする). 上記の技術はテキストは変更せず,挿絵や表示を加えるので,直接テキストの 同一性保持権には抵触しないように思うが,やはり,文章にそぐわない絵, 例えば,アダルト画像などを貼り付けていく行為などは,著作者人格権を 侵害するものだと思う.今回は,安全サイドに寄って,テキストの外側に 付けていくことにした.これは付加的な効果として,ブラウジングに絵が どう使えるかを確かめる意味もでてくる.

色々書くべきことはあるように思うが,今日は,とりあえず,こんな実験を 始めてみたということだけ書いておく.

単純で,分かりやすく,楽しい絵を目指して

2018 年 11 月 24 日 (土)

私は計算機科学の教材の挿絵用に,「単純で,分かりやすく,楽しい絵」 が描けたら良いなと思って,時々,落書きの練習をしている.

例えば,上のような感じの絵だ.これは,www.marekbennett.com というサイトの人の絵を参考にして描いたものだ.サイトが移動してリンクが切れると いやなので直接のリンクは 張らない.興味のある人は上のURLをブラウザにコピペして見に行ってみて欲しい.

今日は,www.marekbennett.com で絵をいくつか探し,まねしながら練習してみた. 絵の練習方法にいろいろな意見はあると思うが,まねるのも結構役に立つと思う.

で,練習の成果を生かして,先日(2018.11.22),知り合いの Otsk 社長の研究会で 「連続体仮説の解説 AGAIN & AGAIN」と称して発表してきたときの様子を描いてみた.私を入れて,もと H 社の人が 5 名,その他の人が 2 名だった.

中々,一番最初にあげた絵までシンプルにする度胸がないので,中途半端なシンプルさに なってしまう.一応,思い切ってシンプルにした絵もあげておく.


世の中でよくある会話

なぜ,シンプルな絵を目指しているかと言うことも説明しておく.

近年,科学や数学などの高度なテーマに関して,マンガを使った入門書/解説書が 沢山出され始めている.これらは難しい理論に対する恐れを軽減したり, 読者をそれらのテーマに引き付ける効果があって,良いことだと思うのだが, それと同時に, たぶん,思うほどの効果をあげられていないのではないかとも思う.それは, 読者を引き付ける手段として,所謂,「萌え絵」とか,極端に言ってしまえば 「エロ」とか,ソフトにいうと「恋愛感情」を使っていることに理由があると 思う.


(学習者をきちんと数学に引き付けるべき.「萌え,エロ,恋愛感情」で無く.)

学習対象の学問に現れる難しい概念をかみ砕かないまま,人間の本能に基づく手段で 強引に引き付けても

と言った恐れがあると思う.私はなにも「すべての絵を学習すべき概念の説明図にしてしまえ」 と主張している訳ではない.学習者を楽しませる絵があって良いと思うが,それと 同時に,難しい概念をかみ砕く努力と,あまりに多くの学習者の能力を学習以外に振り向ける ことは良くないと思うだけである.だから,高度な題材の学習書では,絵はある程度 簡単で良いんじゃないかなと思う次第である.

では,逆に,マッチ棒人間みたいな単純な絵で恋愛マンガは描けるだろうか?

私は案外,描けるんじゃないかと思う.人間の想像する力はとても大きなものだ.

でも,私は今のところ数学のお勉強と教材作りに忙しいので,これはやらない.


「メモのような日記のような(1) 2017年10月14日(土) ~2018 年 11 月 4 日 (日) 」へ


圏論を勉強しよう
束論を勉強しよう
半群論を勉強しよう へ
集合,位相,論理など へ
Back to Welcome to AKI's HOME Page