計算機数学
理工学部 - 情報理工学科
SIC63000
コース情報
担当教員: 角皆 宏
単位数: 2
年度: 2024
学期: 春学期
曜限: 月3
形式: 対面授業
レベル: 300
アクティブラーニング: あり
他学部履修: 可
評価方法
出席状況
授業参加
リアクションペーパー
レポート
定期試験
定期試験期間中
その他
「リアクションペーパー」は授業期間内の課題提出で,「出席状況」の評価を含む。「授業参加」を参考にすることもある。基礎事項を問う簡単な期末試験とともに,期末レポートを併せて評価するので,レポートでの意欲的な取組みを望む。レポートは定量的な評価が難しいので,例年実質的には,期末試験の成績を基本として期末レポートの内容によって1〜2段階程度上下させるような感じになっている。
詳細情報
概要
「この問題は計算機でも計算できないなぁ」「君は実に…計算が下手なんだなぁ」「そうじゃなくて計算できないことが証明できるんだよ」「え?どゆこと?」 「計算」とは何か,「計算できるか/できないか」というような問いに対して,数学では,「計算機が行なうこと」を「計算」と考え,計算機が行なえることを「計算モデル」として定式化することによって「計算」を定義し,明確に答えることを可能にしてきた。本講義では,代表的な計算モデルを取り上げながら,計算の理論・アルゴリズムの概念・計算量の理論の初歩を紹介し,計算の可能性・効率について論ずると共に,具体的な例として幾つかの基礎的な数理アルゴリズムについて触れる。 講義中心で行なう。数学の講義では,一つ一つの主張について「本当にそうか」「具体例ではどうか」「何故そうか」など常に主体的批判的に考えながら納得し理解することが重要である。そのように講義中心の授業にアクティブに取組むための留意点について注意し,授業内で取組みを適宜促す。 初回授業までに履修登録の上,Loyola授業掲示板を確認して,moodleコースに登録すること。 ・Loyola授業掲示板・moodleを通じて解説資料・演習問題を事前に提示することがあるので,目を通した上,必要に応じて予め手元において受講されたい。 ・指示された演習課題について,清書した答案を,授業終了後にmoodleを通じて提出する。提出方法の詳細についてはmoodleで指示する。 ・Loyola授業掲示板・moodleを通じて,まとめや自習課題,より進んだ学修に向けての補足などのプリントを配布することがある。 (授業開始後の状況により,変更することもあり得る。) この科目は情報理工学科CP5の前半「全ての情報分野における基礎的理論を理解するため,数学の基礎科目を通じて,最低限の知識を学生全員に身に付けさせる」科目に相当するに加え,CP2〜4の理論的基礎ともなる科目であり,「情報理工学Ⅲ(計算と情報の理論)」に引続く科目である。
目標
・有限オートマトン・プッシュダウンオートマトン・チューリング機械などの計算モデルについて理解する ・上記のような計算モデルによる計算と計算可能性について理解する ・計算量の概念を理解する ・上記のような内容を数学の言葉で定式化し論じられるようになる などにより,情報理工学科DP1に掲げる「現代社会の広い意味での「情報」に関して,その意味づけや原理・理論さらには(略)を理解」するとともに,DP5に掲げる「情報科学を含むすべての現代科学の理解に不可欠な数学の知識を学び,現代社会の情報技術におけるさまざまな問題を主体的に解決できる能力」の基礎を身に着ける。
授業外の学習
事前:「情報理工学Ⅲ(計算と情報の理論)」(特に後半の計算理論)の復習をしておくことが予習になるだろう(週1時間程度)。 予習:事前に提示された解説資料・練習問題などがあれば取り組んでおくこと(週1時間程度)。 復習:内容の確認とともに,配布する演習問題にも意欲的に取り組んでもらいたい(週2時間程度)。
所要時間: 3〜4時間程度
スケジュール
- 初回授業までに履修登録の上,Loyola授業掲示板を確認して,moodleコースに登録し,掲載した講義資料(導入と概観)に目を通しておくこと。 (以下は大体の予定。詳しくは担当者のwebpageを参照のこと。) 計算の理論入門まで:有限オートマトン(状態遷移図・形式的定義)。「言語」。
- 有限オートマトン。語・言語の演算。正規言語・正規表現。
- 正規言語・正規表現。集合・写像などの言葉を用いた概念記述の練習。
- 非決定性有限オートマトン。決定性有限オートマトンと非決定性有限オートマトンとの同等性。
- 有限オートマトンによる計算可能性。 有限オートマトンで認識できない言語の例。
- 有限オートマトンによる計算可能性。 Pumping Lemma (注入補題・反復補題)。
- プッシュダウンオートマトン。 生成文法による言語の記述。文脈自由言語。
- 演算木と式の記法。スタックマシン。文脈自由言語と再帰。 構文解析木。文脈自由言語に対する Pumping Lemma。
- 計算可能性の理論の入門まで:チューリング機械。計算可能性。Church-Turingの提唱。
- 普遍チューリング機械。対角線論法。集合の濃度。
- 計算量の理論の入門まで:計算量とは。LandauのO-記法。多項式時間・指数時間。
- 数理アルゴリズムの例(1):ユークリッドの互除法・素数判定・素因数分解
- 数理アルゴリズムの例(2):並べ替え・繰返し二乗法による冪の計算など
- 非決定性計算モデルによる計算量。P vs NP 問題。NP完全性。
- 期末試験
教科書
授業内容はほぼ参考書1に含まれるが,大部かつ高度な話題も多いので,そこから極く基本的な部分を抜粋・簡略化して紹介する。
参考書
授業内容に関する主な参考書は参考書1である。参考書2・3は授業内容に大いに関連する冒険小説である。
Introduction to the Theory of Computation
著者: Micheal Sipser
出版社: PWS Publishing Company, 1997
白と黒のとびら
著者: 川添愛
出版社: 東京大学出版会・2013
精霊の箱(上・下)
著者: 川添愛
出版社: 東京大学出版会・2016