I 計算理論の基礎としてオートマトンと形式的言語について理解する。
II 有限オートマトン,正規表現,文脈自由文法,プッシュダウン・オートマトン,非決定性計算,ポンピング補題を主に扱う。
基礎的な計算モデルである有限オートマトン,および,プログラミング言語や自然言語の基礎となる形式言語を主に扱う.これらを通して,計算機のハードウェア,ソフトウェアに関する基本的な数学的性質について学ぶ.
1. 講義全体の概要,文字字列と言語,決定性有限オートマトン
2. 非決定性計算,形式的定義,正規言語
3. 非決定性有限オートマトンと決定性有限オートマトンの等価性,正規演算,正規言語の閉包性
4. 演習I
5. 正規表現,正規表現と有限オートマトンの等価性
6. 正規言語に関するポンピング補題
7. 文脈自由文法,Chomsky の標準形
8. 演習II
9. プッシュダウン・オートマトン,プッシュダウン・オートマトンと文脈自由文法の等価性I
10. プッシュダウン・オートマトンと文脈自由文法の等価性II
11. 文脈自由言語に関するポンピング補題
12. 演習III
参考書等
・ 計算理論の基礎,Michael Sipser 著,渡辺治,太田和夫監訳,阿部正幸,植田広樹,田中圭介,藤岡淳訳,共立出版,2000 年,ISBN 4-320-02948-8.(原著: Introduction to the Theory of Computation,Michael Sipser, PWS, 1996, ISBN 0-534-94728-X.)
「アルゴリズムとデータ構造」を履修していることが望ましい.
講義中に行なう小テスト,および,期末試験による.