2023-01-09

学校が始まっても続けられるかどうか

Table of Contents

やったこと

  • 『詳説 正規表現 第2版』 4.6・4.7節を読んだ
  • このサイトの開発
    • 日報・週報・月報・ブログを書けるようにした
    • URLが https://lemonadern.dev になった
  • 中村文則を読んだ
  • 定期券を買いに行った
  • 週報を書いた

感想

明日から学校なの、かなり意味がわからない

詳説正規表現

4章を読了。 4.6節は DFAエンジン・NFAエンジン・POSIX準拠かどうかによる挙動の違い、性能、メリデメなどについての話だった。

この本はオートマトンの理論を語らないが、絶対に有限オートマトンだけは理解した上で読んだほうがいい。少なくとも4章は。 正規表現が扱う言語は現在では正規言語に限らないが、内部実装はオートマトンの動作から来る制約がかなり大事な箇所を占めている。これは有限オートマトンの知識があるかどうかで理解の度合いが全く違ってくるように感じた。

  • DFAとNFAにおけるコンパイル時のオーバーヘッドの大小
  • NFAは正規表現の書き方によってマッチスピードに変化がおきるが、DFAではそれが起きないこと
  • POSIXとDFA、NFAとの距離
  • DFAが最長最左マッチをする理由
  • 非決定性有限オートマトンのエミュレーションとしてのNFAエンジンの動作(バックトラック)

などは、有限オートマトンの性質から考えて説明できる。本ではおもにバックトラックとNFAエンジンの話をするが、これを非決定性有限オートマトンの様相を示す作業のエミュレーションとしてみることができれば、どこにオーバーヘッドが生じるのか、なぜそれが起きるのかが直感的に理解できる。DFAについても原理的に動作が説明できるので、本で端折られていてもあまり問題ない気がする。情報数学に感謝。

lemonadern.dev

いままで日報と呼んでいたこのサイトで、週報や月報、普通のブログも書けるようにした。一覧ページとかは適当。 lemonadern.dev というドメインも取得した、いい感じ。

週報

先週の週報を書いたので、俺の日報を読んでる人がいればちょっと見てみてほしい。 どうやって書くかまだあまり固まっていないから、書いたほうがよさそうなこととかオススメの形式とかあれば教えてほしいです。


僕は冗談で蹴ったのに、鳥の剥製は砕けている。冗談なのに。この鳥の剥製は、何を深刻に砕けているのだろう?

中村文則 -『狭い部屋』