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

Akihiko Koga

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


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

簡易持ち歩き式ホワイトボードを作った

2019 年 10月 30 日 (水)

以前, 「概念想起の反応速度,連想,バイアスについて」や 「どこが分からないのか分からない」で書きましたが, 数学上の複雑な概念,特に,圏論の図式を学習するのに,何度もその図式を書いて 慣れる(思考の足腰を鍛える)という方法があります.これをやっていると紙が沢山要りますし, また,書き散らかした紙を捨てるのでゴミが沢山でます

そこでホワイトボードみたいに,書いては消し,書いては消しということができる教具を 作ろうと思い立ちました.最初は,デジタルメモ的なものを考えていたのですが, 最低でも1,000円~2,000円くらいはするし,部分的に消すのが出来ないように思えるし, 多少の重量(100g 位?)があるので, もう少し原始的だけどこれらを改善した方法を考えることにしました.

色々試行錯誤をした結果,概ね,次の2方式が簡単にできるのではないかと思います.

  1. 簡易ホワイトボード方式
  2. 水性ペンを水で消す方式
今回はこれらをご紹介します.ちなみに,これらは私が独自に思いついた訳ではなく, インターネット上を探すと,お手本となる製品があります.ここで書くのは,それらを身近なものを使って実現し,落書き用教具として 活用しているというお話です.

●簡易ホワイトボード方式

基本的にはつるつるした素材にホワイトボードのペンを使って書き, ティッシュなどで拭いて消すというだけです.つるつるした素材としては,クリアホルダーに 白い紙を挟んで使っています.気分を変えたければ,薄い色の紙を挟んだり,ちょっとした絵の 書いてある紙を挟んだりすることもできます.また実用を考えて方眼紙的に線を 入れた紙を挟むこともできます.

それに書いてみた感じです(A4 のサイズのクリアホルダーと紙).

ペンは上から,100円均一 (ダイソー),パイロット,ホームセンター(CAINZ),そして再度 パイロット(極細 0.8mm)です.最期の極細以外も細いペンで,1mm のペン先だと思います. 白板の下方の絵はパイロットの極細で書いています.ペンの値段は, ダイソーのは5本で110円,その他は一本 150円前後,CAINZ のは少し安いです.

これをティッシュで軽く拭くと次のようになり,簡単に消すことができます.ちなみに ホワイトボードのペンは油性だということと,消える理由は,剥離剤を混ぜたインクに あるということを今回初めて知りました.

次のは,台紙をクリアホルダーでなく,ホワイトボード用の台紙に書いてみたものです. これも 100 円均一に売っていて,裏がシールになっていて貼ることができるタイプの ものです.B4 サイズのものがありましたので,それを二つに切って, クリアホルダーに貼りました.下にそれを示します(B5 サイズ).

こちらは上のクリアホルダーに紙を挟んだものよりくっきりした文字になっています.

この方法の特徴は元手が要らなくて安上がりだということです. クリアホルダーやそれに挟む紙は手持ちのものを使えば,ホワイトボード用の ペンさえ買えば始められます.一番安いのだと100円均一で 5本で 110円です. もっとも私は色々実験するために何本もペンを買ったり,ホワイトボード用の 紙を買ったりしたので,安いデジタルメモなら買えるくらいは使ってしまいました.

この方法のもう一つの特徴は軽いことです.クリアホルダーや紙は普段から 普通に鞄に入れて持ち運びますし,ペンも重くはありません.

一方,欠点もあります.まず,こちらの方法ではペンは油性ですので揮発した成分を吸い込むと 酔ってしまいます.吸い込まないように注意してください. また,こちらで使うペンでは細い線が書けません.上の画像のペンはどれも細いタイプの ものですが,線はそれほど細くは書けません.一番下のパイロットの極細 0.8mm の ものでも,他よりは細いもののやはり,紙にサインペンで書くようにはいきません.

そこで普通の水性ペンで書けないかとインターネットで調べていくうちに, そのような製品があるということが分かって,試してみたのが次に述べる方法です.

●水性ペンを水で消す方式

水性のサインペンで染料インクを使ったものは,染み込まない紙に書いた場合,水を染み込ませた ティッシュなどで拭くと,簡単に消えます.

台紙は,クリアホルダーの上にテーブルや壁を貼る壁紙のようなものを 貼って作りました.無地で耐水性のあるものを 100円均一などで探すと 良いでしょう.

上のものを水を染ませたティッシュで拭くと次のようになります.

しっかり拭かないと,少し汚れが残って汚いですが,あとで水を十分含ませて 拭くとかなり元の状態に戻ります.ティッシュにはインクがかなりついて黒くなります.

この方法の場合,ポイントは台紙とペン(インク)なのですが,私が試してみたところ 色々と使えるものがあるようです.

ペンについては水性でも顔料インク(書いた後消えなくなる)は消せません. 水性でも消えやすいものと消えにくいものがあるようです.私には意外でしたが, フリクションペンも水で消しやすいです.また,つるつるしたものに 書きやすいペンとそうでないものがあるようです.水分が多いペンだと,耐水性の 台紙はインクをはじいてしまいしっかりと字を書くことができません.

次に台紙ですが,ノートの表紙のつるつるしたものはペンによっては書いて消すことが できました.一般にプラスチックはインクをはじいて書けませんが,クリアホルダーで エンボス加工してあるものは,ペンによっては書けるものがありました.

これらのことから,台紙とペンの組み合わせも重要みたいなので,やってみてうまく いく組合せを選ぶことかと思います.

●おわりに

私はホワイトボード用のペンなどに大金(1,000 円以上)を投資してしまいましたので, 買ったペンを使い切るまで,そちらの方を使わないといけません.でないと,家内に

あなたはいつも要りもしないものを買ってきてため込んでしまう
と罵られるからです.前にも書きましたが,5年前に会社を辞めてから,基本的には 無職なので,お金が無いのです. ということで, 当面,これで色々頭の足腰を鍛えることにします.

目次へ

「言語の恣意性」は正しいか?

2019 年 10月 20 日 (日)

言語学に,「言語の恣意性(しいせい)」とか「言語記号の恣意性」と言われる原理があります. 私は言語学は詳しくないので,誤解もあるかもしれませんが,世の中では

人間の言語で使われる単語の記号表現(シニフィアン signifiant) 意味(シニフィエ signifier)の間の関係に必然性はない
ここで「記号表現」とは音声的な記号表現を指す
という原理として通っているように思います.平たく言えば,
人間の言葉では単語を構成する音と単語の意味に関係はない
という原理です.ソシュールの発案の意図や現在の言語学での正確な意味は違って いるかもしれませんが,世間で流通している 「言語の恣意性」は,およそ,この意味で使われていると思います.実は,私はずっとこの原理に 違和感を感じていましたので,今回はそのことについて書いておきます.

まず,現実の言語を見ると,この原理は明らかに間違っています.例えば,英語を 考えてみると分かると思います.英語の中には,多くのラテン語由来の単語が入って きています. なかには輸入したものだけでなく,英国人が自分たちでラテン語から造語したものもあります. ラテン語の特徴の一つはその造語力にあります.接頭語,語根,接尾語などを組み合わせて 色々な単語を作ることができる訳です.仮に「意味」なんてものがきちんと定義できると仮定して, 例えば,次の図のように,「press 押す」に 色々な接頭語をつけて造語することができるので,語の中に「press」という音を含む 単語は「押す」という「意味」に関連しています.接頭語の中には否定の機能があるものも ありますから,意味が反対になる場合もありますが,語の中の「press」の部分は「押す」と 言う意味を伝えている訳です.

音が意味を伝えているのは語根の部分だけではなく,接頭語も接尾語も音が意味を伝えています. 中には,もともとの意味から変遷して全く意味が変わってしまったものもありますし,必ずしも 音と意味の関係は1:1ではないですが,かなり強い相関はあります.

単語の意味を適当な体系で表すことができたとしたら,たぶん,ディープラーニングなどで 多量の英単語の音列と意味を学習させれば,語根や接頭語,接尾語,それらの文法,例外などに 対応する何らかの部分が学習されるのではないでしょうか(う~,少し見栄を張りました. 私は最近の AI, 特にディープラーニングは殆ど知りません.頓珍漢なことを言っていたら すみません).

先ほどのラテン語由来の英単語の例は,部品となる短い語から作られた造語だったので このような相関ができるのは当然であり, 「何を当たり前のことを言っているのか」と思うかもしれません.でも, 次の絵で言っているように,言語の発生,発達では,より原始的,かつ, 短い音の列で,これと同じことが起こったと考えることが自然ではないでしょうか.

もちろん,どの特定の言語についても言語発生時の資料はないので,これは英語の中の ラテン語由来の語のようには検証することができない説ということになります.

もしかしたら,ソシュールの「言語の恣意性」の原理は,考えても仕方がない 不毛な作業でソシュール自身,そしてその他の研究者を拘束しないという 価値はあったかもしれません.

しかし,ずっと,このテーマの研究を「言語の恣意性」の標語で禁止することが 正しいのでしょうか.

だいたい,「AとBが関係ない」ということをいうのは「AとBが関係ある」ことを 言うくらい大変なので,わざわざ,「関係ない」と言い切る必要はないと思うのです. 「考えても分からんから今は放っておく」というのが良い態度なのではないでしょうか.

似たような状況(直接観測できない内部モデルを想定する状況)が生じる分野に 教育/学習の分野があります.本来,人間の頭の中の 学習プロセスは観察できないので,学習の理論は次の絵のように,学習者への外からの刺激と 学習者の反応から言えることだけに限定することが正しいように思いますし,実際, 初期の学習の理論はこの形だけだったと思います.

しかし,今は,例えば認知科学に基づく学習の理論では,次の絵のように, 人間の頭の中の構造やその中で 起こるプロセスにモデルを仮定して議論を進めています.

もちろん,色々な測定技術は進んで,脳の中の血液量の変化などを測定する技術は 生まれてきているでしょうが,所詮,それらは傍証であり,認知科学で想定しているような モデルが直接見て取れる訳ではありません.

と言うことで,言語学でも,そろそろ「言語の恣意性」の禁を解いて,このような語の内部モデルに あるかもしれない音声モデルの研究をオープンにしても良いのではないでしょうか. もちろん,こういった研究の妥当性は傍証でも良いので何らかの方法で担保されなければ ならないとは思いますが.

ところで「言語の恣意性」の反対側に「音象徴(sound symbolism)」みたいなものが あると思います.そこでは,人間の生理的,身体的な事象と音を結び付けて, 「こういう状態のとき自然にこういう音がでる」みたいなことが議論されていると 思います.これはこれであり得ることだなと思います.例えば,B, P などの破裂音を 出すときの状況,心境はある程度共通性があるかもしれません.これらも 色々な実験データのもとに議論されれば信ぴょう性のある議論になるでしょう. 今回の日記で,私は,ここまでの主張をするものではありません.ただ, 「一つの言語において音と意味は相関を持つ」というところまでは確かなことだと 思っています.もう少し詳しく言うと,

言語の発生の初期には比較的短い音列の語ができただろうこと,そして,より複雑な語彙は それらの組み合わせや,ウムラウトなどの音の変調で作られただろうから, 現在の言語において,語の音(音列)と意味は相関を持つと考えるのが自然だろう
ということです.最初の音列や変調の仕方に人間の身体的,生理的な理由があるかどうかは 分かりませんが.

ところでラテン語の例を見ると,単語の中に造語のルールがあることは分かりますし, 大昔,原始的な短い音列が組み合わせられたかもしれないという可能性があることも, まあ,認めたとしましょう.では,その音列はどうやって単語と いう区切りを得たのでしょうか.つまり,単語の中にも,より複雑なことを表すための 文法があり,さらに単語の外にもそれらを繋げてより複雑な事象を表すための文を 形成する文法があるわけです.どこでこれら二つの文法が分離されるのでしょうか. ここまでの形成は単語でここからは文章だという具合に. やはり,良く現れる概念で1つの単位が作られると言うような, 何か経済性にでも基づく原理があるのでしょうか.

我々が見るほとんどの言語で「単語」という区切りが認識されるように思います. 日本語は文章的には繋げて書きますが,単語は認識できます.でも, もしかしてこれも幻想だったりするのかもしれません.実は日本語はずっと繋がっていて, 少し接続が弱いところが外国の言語の文法をまねて単語と強制的に認識させられて いるだけだったりするかもしれません.もしかしたら,語の形成,分割は, 現在の言語学でまとまった研究成果や,それらがまとまって立派な理論になっているの かもしれませんので,追々,調べてみようかと思います.

最後に,一言.私の知り合いに,「人の言葉を機械が理解できれば機械は人間を理解できる」,

人の言葉の理解 = 人間の認識/知能の理解

みたいに考えている人がいますが,私は,「なんで自然言語理解にそんなに重きを 置けるんだろう?」と思ってしまいます.私が,もともと,文章を読むのが苦手なことも あるのかもしれませんが,文章で表すことができないことがものすごく沢山あるように 思うのです.例えば,私は,絵の中に出てくる人の顔の瞳がどう描いてあるかで 何か特別な印象を受けることがあるのですが,私は通常それを言葉で言い表すことが できません.表したとしたら,それはすでに変質しているという気がします.

連続量を含んでいるかもしれない人間の内部状態を離散的な語(word)の列で表現 することができるという信念は,チャーチのテーゼ

人間のやれることとチューリングマシン(に表現された有限の長さのプログラム)のやれることは等しい
を思い起こさせます.もしかしたら,「人の言葉で何でも表現することができる」と いうのは拡張されたチャーチのテーゼなのかもしれません.ちなみに,もともとの チャーチのテーゼ自身に関しては,「私は信じる」という立場をとります.

最後にと言った後に,さらに追加して申し訳ないのですが,私は,今回の日記の中で, 度々,「『意味』が定義できるとしたら」と言いました.この定義はすごく難しいと 思います.ディープラーニングなどの機械学習の入力データになるくらいに定義できると 面白いのですが.

目次へ

概念想起の反応速度,連想,バイアスについて

2019 年 10月 4 日 (金)

以前,この日記の「どこが分からないのか分からない」の 「(学習するための)足腰を鍛える」で,こみ入った複雑な概念を習得するのに,その概念の 図を何度も手で描いてみる方法が有効ではないかと書きました.そこでは例として,圏論の コンマ圏(comma category)を学習するのに,まず,一週間くらい,あまり意味を考えずに

の絵を何度も描いてみることによって,コンマ圏の定義をスムーズに受け入れる下地ができる はずだと書きました.これは確かに役に立つと思うのですが,しかし,これだけでは 十分ではないとも思います.

一般に圏論の本では,コンマ圏は「(S↓T)」という極めて圧縮された 形で現れます.本の書き手は,いったん概念を定義して,その記法を決めてしまえば, 容赦ないです.何の配慮もなくこの記法が本の記述の中にばらまかれます. 関手 S も T も具体的な関手がそこに書かれる訳で,その記述から, 上の図にそれらの具体的な関手が入った図を速やかに想起できなければ,本を 読み進めることはできないでしょう.

もっと言うなら,この図を想起するだけでなく,それに関連する様々なこと(定理,証明, 応用,この概念が出来上がった歴史,発案者,...)との関連( 連想 )も同時に想起されなければなりません.

この状況は,我々が外国語を覚えるのと同様だと思います. 新しい単語を学習していくのですが,その意味を想起するのにものすごい時間がかかって しまっては相手の発話の意味を読み取ることができないので,それなりの短い時間で 意味が頭の中に入って来るように何度も思い出す練習をします.そこでの意味とは, 定義を文章で書き下したようなものではなく,他の色々な概念への 連想 の集合体のようなものでしょう.

以前,私は次の絵のような ことを知り合いに言ったことがあります.


(この絵の話は, 湘南台のファミレスで友人たちとお食事会にあります)

数学的な概念は本当に地道にしっかりと把握できるまで学習することが大切なんだろうと 思います.似たようなことは小平邦彦(フィールズ賞受賞者)のエッセイ集

小平邦彦 : 怠け数学者の記,岩波現代文庫 2001年
の最初の章「ノートを作りながら」にも書いてあります.これは雑誌 「数学セミナー」の 1980 年 8月号に掲載された,たった 3 ページの エッセイです.これによると,小平邦彦は数学書を読むのがとても苦手で,
最初読むときは中々分かった気がしないので,ノートを取りながら, 証明を自分でやってみたり,大抵,分からないので教科書を見て, また証明したりしながら進めていくと1つの章に一月ほどかかって, そうすると最初の方は忘れていて,また復習しなおすのだが,今度は, 章の構成が気になって,自分で入れ替えてみたりということを 続けるので本当に時間がかかってしまう

という話でした.きっと,彼の頭の中では,こういうプロセスの中で自然に発生する様々な 練習により,数学的な概念がしっかりと定着していったのでは無いかと,私は 思います.

上に書いた,

数学的概念の記法から定義体と,それからの 連想 されるものの集まりがすぐイメージできないといけない
ということは,あくまで,「私がそう思う」ということでしかありませんから, ちょっと検証してみる必要があります.そこで,圏論など難しいことではなく, 私が自信をもって理解していると思う数学的概念を思い浮かべて,頭の中がどうなって いるか確かめてみます.そうですね,そこまで自信がある訳ではないですが,例えば, 「1/3」 とかなら何とかなるかもしれません.そうするとどうでしょう.

「1/3」は「1/3」のままです.頭の中にはまったく何も展開されません.もっと正確に 言えば「1/3」を思い浮かべているのかどうかさえ分かりません.なにかそれに対応する 概念が想起されているような気はしますが,なにか「もの」があるという印象だけです. バケツの中に水が 1/3 だけ入っているイメージもピザパイが3等分されているイメージも 何も思い浮かびません.でも不思議と不安は感じません.たぶん,必要に応じて,それらの バイアスのかかったイメージ(バケツの中に水が 1/3 だけ入っているイメージなど)を すぐ思い浮かべることができるし,他の物事への 連想 も思い浮かべることができると いう自信があるからなのかなと思います.

昔,

抽象的な概念の理解には具体例をイメージすることが大切だけど,それは さらなる抽象性を目指すときはかえって邪魔になることがある
と思ったことがありますが,「1/3」の例はそういうことを表しているのかもしれません.

結局,あまりよく分からない状況に陥ってしまいましたが,当面は

ことができるように訓練するということを学習促進方法の作業仮説としておくことにします.

タイトルにあった「 連想 」と「バイアス」は,本文中には申し訳程度にしか現れませんでしたね. 私の知り合いに「 連想 」にとても重きを置いている人がいるので,その人への配慮から, とりあえず,概念の意味を意味ネットのようなネットワークと大雑把にとらえて,リンクを 「連想 」としました.「バイアス」は,具体的なイメージは力強いのだけど,ある方向に 強く牽引しすぎる場合があるということの注意のために挙げました.

最後に,今回のトピックスのようなことを考えるのに参考になるかもしれない文献を いくつか挙げておきます.ほとんどが積読した本ですが.

  1. 市川伸一 : 勉強法の科学――心理学から学習を探る,岩波科学ライブラリー, 2013
  2. ロバート・B. デーヴィス, 佐伯 胖 : 数学理解の認知科学,国土社, 1987
  3. G. レイコフ, R.E. ヌーニェス : 数学の認知科学,丸善出版, 2013
  4. R.R.スケンプ : 数学学習の心理学,新曜社, 1973
  5. S. マックレーン : 数学 その形式と機能,森北出版, 1992
  6. 小林道正 : 算数・数学つまずき事典,日本評論社, 2012
  7. 遠山啓 : 遠山啓エッセンス4 授業とシェーマと教具,日本評論社, 2009
  8. 小島寛之 : 数学でつまずくのはなぜか,講談社現代新書, 2008
  9. 砂田利一 他 : 別冊数理科学 数学的な感覚の探求 2014年11月号,サイエンス社, 2014
  10. 竹内龍人 : なぜ、それを好きになるのか?脳をその気にさせる錯覚の心理学,角川SSC新書, 2014
  11. 認知心理学/認知科学の書いろいろ

上に挙げた本に関して,必ずしも私が納得できるという本をあげている訳ではありません. むしろ,「えー? そうかぁ?」という個所がいくつも現れるような気がします. しかし問題意識としては,私と共通していることもあるので挙げている本もあります. いま,amazon の書評をいくつか読んでみて思ったのですが,「勉強法」については 低評価を付けて,文句を言っている人のコメントを読むと,「人がどこで数学などの勉強につまずくのか」の ヒントになるのではないでしょうか.うん,これは良いことを思いついた.

目次へ

「アルゴリズム」とは何だろうか?

2019 年 9月 27 日 (金)

「『アルゴリズ』とは何だろうか?」という疑問は一見,計算機科学の適当な教科書を見れば答えが 載っているように思うかもしれない.「アルゴリズム」という用語には微妙に異なる二つの用法がある.

用法1の「アルゴリズム」については意味が厳密に定義されている.つまり,その問題を解く 帰納関数が存在するかどうかという意味である.この用法では,「アルゴリズム」という用語 単独の定義と言うよりは「アルゴリズムが存在する」という一塊の文章について定義されている.

一方,用法2の「アルゴリズム」は,クィックソートとか バブルソートとかの アルゴリズムについて言っているのであるが,厳密な定義は無いと思う.極端に 言えば,もっぱら,問題を解決する手順に関する人間の素朴な受け止め方に寄って いるように思う.

もう少し詳しく言うと,我々には今のところ「アルゴリズム」そのものを表す手段はないので,あるアルゴリズムを 実装したプログラムや,あるいは自然語で書いた何らかの計算手順の記述について同じアルゴリズムを 使っているかどうかを論じることになる.

このとき,我々は,本質に関係のない 微細なところが違っても,アルゴリズムは変わらないと考えていると思う.例えば,あるアルゴリズムを実装したプログラムの中の続く2つの文 Stat1 と Stat2 は,それらがお互いに干渉しない限り,Stat1; Stat2; としても,あるいは逆順に Stat2; Stat1; としても計算結果は一緒だし,さらに,この順序でアルゴリズムが変わるとは考えない. しかし,表現上は,これら二つのプログラムは異なるので,プログラムを抽象化した, 何か「アルゴリズム」の特徴を表すものがあり,それらが等しいというような定義を考える必要がある.

また,通常,我々はプログラミング言語が変わっても,同じアルゴリズムを実装することが できると考えている.クィックソートはC言語でも Lisp でも,Pascal でも実装できる べきだろう(しかし,実は,これは思想上のこうあって欲しいという要望なのかもしれない. C言語で書いた配列のクィックソートと Lisp で書いたリストのクィックソートを 同じアルゴリズムと言うべきかどうかは議論の余地がある).

従って,要望としては,「アルゴリズム」とは,

として定義されなくてはならない. これは結構難しい.私は今まで納得できる定義をみたことがない.というか,教科書の類で, これを定義しようという姿勢の書き物をみたことがない.

私がこの問題を明確に意識しはじめたのは,大分,古い話で申し訳ないが,40 年くらい前, 修士課程のころ,

John Darlington : A synthesis of several sorting algorithms, Acta Informatica 1978
を読んだのがきっかけだったと思う.この論文は,ソートを
sort(L) = select_sorted(permutation(L))
つまり,リスト L のすべての順番の入れ替え(permutation)から, 小さい順に並んでいるものを1つ選ぶ
という仕様から,プログラムの同値変換を使って色々なソートアルゴリズムのプログラムを 生成することで,アルゴリズムの本質を見出そうという論文であった.この仕様において, 次の図のように permulation の3種類の解き方から,順序通り並んでいるものを 取り出す際に,順序の検査を出来るだけ計算の最初の方に持っていくというプログラム変換を 施すことで,それぞれ二つずつ,合計6個の, 我々が異なると考えるアルゴリズムのソートプログラムを生成している.そのうちの前2つの permutation については,きれいな対称性が現れ,もとのリストをほぼ均等に分けるか,1個と 残りに分けるかで,Quick sort 対 Selection sort,Merge sort 対 Insertion sort に 分かれるという知見が得られている.

昔の話なので,細かなことは忘れてしまったし,今,そこの学会に入っていないので 論文を見ることもできないから,不正確な部分があるかもしれない.興味のある人は それぞれでなんとか元の論文にあたってみて欲しい.

このアプローチは,例えば次の論文のように,それ以後も色々改良されたり, 各自の視点を入れられたりしたものがいくつか出ている.

David R. Barstow : Remarks on “A Synthesis of Several Sorting Algorithms” by John Darlington, Acta Informatica, March 1980, Volume 13, Issue 3, pp 225–227

上の Darlington の論文を参照している 論文を探せば,そのような論文はいくつか見つかると思う.比較的最近の研究もあるようである.

Darlington の論文をはじめとするこれらの論文でも,「『アルゴリズ』とは何だろうか?」という問いに直接答えている訳ではない.また,ソーティングなど特殊な例に限って分析しているので一般性がない.しかし, ソーティングのアルゴリズムに関する問を,より小さい部分の permutation の アルゴリズム/解法やプログラム変換方法に帰着させるというアイデアを導入することで, より問題を小さくして,その結果を組み上げるという手法を示唆してくれている. 十分ではないかもしれないが,これは一歩前進だと思う.

私は,就職してから長い間この分野から離れていたので,最近はどんな 取り組みがなされているのかなと思い,数年前に調べてみたことがある. そのとき次の論文(arXiv なので査読のついた論文ではないかもしれないが)を見つけた.

これら二つは同じ著者のもので,今回の記事の最初の方に述べた,お互いに 干渉しない文の順序が変わったくらいではアルゴリズムは変わらないと いうアイデアを形式的に述べたもののようだ.二番目の論文の Galois Theory of ... は, そのアイデアをさらに ガロア接続の考えを使って理論的に体系化したものである.

次の図を使って,これらの論文の内容を簡単に説明しておく. 上に述べたように,同じ働きをするプログラムでも色々な書き方をすることが できる.一般に複数のプログラムが同じ計算可能関数(再帰関数)を表すことが ある.図で一番上がプログラムの世界で一番下が,計算可能関数の抽象的な世界 である.プログラムの世界のあるプログラムの集合は計算可能関数の中の一点に 潰れてしまう.この論文では「アルゴリズム」とは,この途中の層での点のこと だとする.つまり,プログラムの世界のある同値関係~で意味を保存する,ある強さの ものを考え,アルゴリズムの層は,それらの同値関係で同じと見なされる同値類から なると考えるのである.数学的に書くと,商空間 Programs/~ になる.ここで ~を強くとりすぎると,同じ関数を表すプログラムの集合が一点に潰れてしまい, 一番下の計算可能関数の世界になってしまう.したがって,アルゴリズムの 世界を得るためにはほどほどの同値関係~を考える必要がある.そのような 同値関係としては,最低でも「相互関係のない前後の文を入れ替えても良い」 程度の同値関係を導入する必要がある.

言葉で聞くと,これは我々の素朴なイメージに近いという気がして,私は 妙に納得感がある.

ところが,このアプローチに対して,次の論文では,そのような,アルゴリズムを特徴づける ようなプログラム上の同値関係は存在しないという反論をしている.

反論は,

  1. アルゴリズムの認識は主観的であること(Subjective)
  2. 同じプログラムでも目的(Purpose)が違えば,見る観点が変わること
  3. 同値関係の特質(反射的,対称的,推移的)は人が同じアルゴリズムに込める要求と合わないこと
の3つから行われている.例えば,同値関係の推移的であるという要求からは,少しずつの変化が 大きな変化に繋がってしまう.Quick sort はリストを分割する基準となる要素の 選び方を少しずつ変化 させていくことにより,Selection sort と同値であることを妨げることができない.

この最後に挙げた根拠については,私もそう思う.実際,最初に述べた Darlington の論文では Quick sort と Selection sort は一つの枝から分かれた2つのバリエーションであり,プログラムの 意味論的な同値変換で移りあうことができるはずである.お互いに干渉しない文の入れ替えくらい の同値関係では同じ再帰関数を表すすべてのプログラムが移りあうことはないだろうが, もう少し,強力に変換しあえるようにするととたんにそれらのプログラムは一点に潰れて しまうと思う.もしかしたら,同じアルゴリズムかどうかは完全に分離されている同値類ではなく,類似度という距離関数で扱うべきなのかもしれない.

しかし,最初の論文のようにプログラムの抽象化に関するガロア接続の ビューは,今はそれが上の反論によりアルゴリズムの分類に使えなくとも,プログラムと意味の間の空間の有様を 把握するのに魅力的ではある.研究は続けて欲しいという気がする.

今回は,昔抱いた「アルゴリズム」に関する自分自身の素朴な疑問をメモとして書き出すのと, ちょっと前に 世の中の状況確認したことのメモを残しておく目的でこの内容を書いた.

しかし,自分はなぜ「『アルゴリズム』とは何だろうか?」ということを考えるのだろうか? 自分自身の心の中を覗いてみるに,

  1. その善し悪しで効率が大きく変わってしまうアルゴリズムって何だろう? とか
  2. あるいは,もっと素朴に,自分たちは手順に対して抽象的なタイプみたいなものを感じているみたいだけど,それは何だろう? とか
  3. あるいは,自動的に計算効率の良いアルゴリズムを生成する方法があるのではない だろうか? とか
といった素朴な疑問や期待があるんだと思う.もっとも,3番目の,良いアルゴリズムの生成は, 「『アルゴリズム』とは何だろうか?」という根源的な問いに戻らなくても,分割統治法で できるだけ均等な分け方をするように変えてみるなどアドホックな手法があるかもしれない.

P.S.

上に挙げた論文 When are two algorithms the same? の最後に, 他の領域との関係で,数学の証明のタイプも似た状況が生じるとある.Curry-Howard の 対応で,証明とプログラムは移りあうので,似た議論ができるのだともある.

数学と言えば「同型」,「準同型」が,「もの」の本質的な同一性や相似性を表す道具である. これらの道具を使って,プログラムの世界でもなんとなく興味深い同値関係を 導入できそうな気もしてきた.

また,プログラム全体が一つのアルゴリズムからなっている訳でもないので, 一つのプログラムからそれが含んでいる「アルゴリズム」への「準同型/同型」が とれるという状況を考える必要があるのかもしれない.

つまり,次の図のように,Yanofsky のビューでは,複数のプログラムを同一視する ある同値関係 ~ があり,それでできた同値類をアルゴリズムと見なすが, 実際の世界では,個々のプログラムの一部分に何らかの手順,方式のパターンが 現れ,それが特徴的な手順,方式のパターンだったとき,それを「アルゴリズム」と 呼んでいる.「アルゴリズム」自身はデザインパターンを抽象化したものだったり, その意図がより強く現れるものだったりするように思う. そして一つのプログラムの中には複数のアルゴリズムが現れ得る.

これらのことに関しては,また後日ゆっくり考察してみたい.終わると言ってからの P.S. が 長くて申し訳ない.

目次へ

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

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

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

後日追記:このサイトにもPDFを置きました.
2019.09.28 (土)

これは,主に,

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 名だった.

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


世の中でよくある会話

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

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


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

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

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

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

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

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

目次へ


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