2009年5月20日水曜日

コンパイラ: 第5回

  • 実施日時:2009-05-20(水)1限
  • 講義内容:文脈自由文法
  • 講義資料:4章(講義時に配布済)

形式言語理論: 第5回

  • 実施日時:2009-05-19(火)1限
  • 講義内容:正規表現、正規表現からε-NFAへの変換

データ工学・データマネジメント: 第6回

  • 実施日時:2009-05-15(金)2限
  • 講義内容:関係代数(2)(直積、結合、自然結合)
  • 講義ノート:関係代数(第5回の分と同じ)

コンパイラ: 第4回

  • 実施日時:2009-05-13(水)1限
  • 講義内容:有限オートマトン、字句解析
  • 講義資料:3章(講義時に配布)

形式言語理論: 第4回

  • 実施日時:2009-05-13(火)1限
  • 講義内容:DFAとNFAの等価性(サブセット構成法)、ε-NFA

データ工学・データマネジメント: 第5回

  • 実施日時:2009-05-08(金)2限
  • 講義内容:関係代数(1)(集合演算、選択、射影)
  • 講義ノート:関係代数

2009年5月2日土曜日

データ工学・データマネジメント: 第4回

キー(key)という考え方についてお話しました。関係は組の集合であるため、行番号と列番号で表中の値を指定する、ということができません。したがって、何らかの方法で組を特定し、さらに属性名を指定する、という方法をとらなければなりません。組を特定することのできる属性集合をキーというわけです。

超キー(superkey)、候補キー(candidate key)、主キー(primary key)の順にご紹介しましたが、現実に関係データベースを操作するとき知っていなければならないのは主キーで、これは今後も登場します。これらの違いを理解した上で、主キーについては覚えておいてください。

形式言語理論:第3回

  • 実施日時:2009-04-28(火)1限
  • 講義内容:決定生有限オートマトン(DFA)、非決定性有限オートマトン(NFA)
DFAとNFAの定義、違いについてお話しました。次回はこれらの等価性から話を始めます。

データ工学・データマネジメント: 第3回

  • 実施日時:2009-04-24(金)2限
  • 講義内容:関係
  • 講義ノート(第2回のものと同じ)
この講義の中心となる関係(relation)について説明しました。見かけ上は、関係は日常的に我々が使う表と同じなのですが、背景にかなりしっかりした理論があります。具体的には、関係は組(tuple)の集合として定義されます。ここで、前回説明した集合の性質や直積演算が関係してくるわけですね。後にご紹介する関係代数は、組の集合に対する演算から構成されます。

次回は、関係を扱う上で重要な考え方であるキー(key)についてお話します。

コンパイラ:第3回

  • 実施日時:2009-04-22(水)1限
  • 講義内容:言語の演算、正規表現
  • 講義ノート:第2章(第2回に配布済み)
この日の講義では、言語に対する主要演算を紹介した後、正規表現(正則表現、regular expression)についてお話をしました。さらに、少々時間が余ったので、正規表現を字句解析にどのように用いるのか、そのアウトラインをお話しました。

正規表現は、情報科学の分野では学術研究・実応用(プログラミング等)のいずれでも広く用いられており、コンピュータ関連の職業につきたいと考えている方には是非知っておいてもらいたいものです。正規表現にはバリエーションがたくさんあるのですが、この講義では、最もシンプルな正規表現について説明しました。

正規表現については、大学院修士課程の講義「形式言語理論」でもう一度取り上げます。ここでは理論的な背景について、かなり深く掘り下げて説明をします。

プログラミング言語での正規表現の扱いや、さまざまな拡張正規表現などについては下記の本が詳しいです。本講義ではここまでの内容は必要としませんが、興味のある人は読んでみるとよいと思います。

形式言語理論:第2回

  • 実施日時:2009-04-21(火)1限
  • 講義内容:言語理論の基礎概念、有限オートマトンの概要