Fundamentals of Computer Science
Numbering Code | U-LAS30 20003 LJ10 | Year/Term | 2022 ・ First semester | |
---|---|---|---|---|
Number of Credits | 2 | Course Type | Lecture | |
Target Year | All students | Target Student | For science students | |
Language | Japanese | Day/Period | Thu.5 | |
Instructor name |
HASEGAWA MASAHITO (Research Institute for Mathematical Sciences Professor) TERUI KAZUSHIGE (Research Institute for Mathematical Sciences Associate Professor) MUROYA KOKO (Research Institute for Mathematical Sciences Assistant Professor) |
|||
Outline and Purpose of the Course |
「コンピュータサイエンス」と聞くと、おそらく多くの方が「ハードウェアの設計やプログラミングなどの実用的技術」を思い浮かべるのではないでしょうか?しかし機械設計の根底に力学があるように、コンピュータやプログラミングの根底には計算の理論があります。現代のソフトウェアには、「速さ」「便利さ」に加えて「正しさ(が厳密に検証されていること)」が次第に重要視されるようになっていますが、基礎理論なくしてそのような「正しい計算」を実現するのは困難です。また近年ますます複雑多様化するコンピュータ環境に適切に対処するためにも、基礎となる計算理論を身に着けておくことは重要です。本講義では、ハードウェアやプログラミング言語の細部にとらわれず、数理科学的なモデル化・抽象化を通して「計算の基礎」を考えていきたいと思います。 2022年度のテーマは「計算可能性と論理」です。どのような計算問題がコンピュータにより解けるのか・解けないのか、そして論理により問題を解くにはどうすればよいのかについて入門的な解説を行いたいと思います。 |
|||
Course Goals |
・計算可能性と決定不能問題に関する基本事項を理解する。 ・論理と計算の関わり合いについて概略を理解する。 ・論理により問題を解くための手法を身につける。 |
|||
Schedule and Contents |
以下の各項目について、担当教員のリレー形式で講義します。各項目には【 】で示した週回数を充て、項目内の各学習事項に対しては、受講者の理解度に応じて適宜時間配分します。 (1)概要【1回】(長谷川真人) 「計算」とはなにか? コンピュータサイエンスにおける数学の役割とは? (2)計算可能性【4回】(室屋晃子) 集合論の準備、再帰的関数、チューリング機械、決定不能問題 (3)論理による問題の解法I【3回】(照井一成) 命題論理、SATソルバ―とSAT符号化、NP完全問題 (4)構文論の基礎【2回】(照井一成) 文脈自由文法、単一化 (5)論理による問題の解法II【4回】(照井一成) 述語論理、自動定理証明、述語論理の決定不能性 (6)フィードバック【1回】 |
|||
Evaluation Methods and Policy |
レポート試験を行います。 レポートでは、講義内容に即した問題を解いてもらうことにより、十分な理解がなされているかどうかを判定し、合否決定・成績評価を行います。 |
|||
Course Requirements | None | |||
Study outside of Class (preparation and review) | 講義中に資料を配布しますので、復習に活用してください。講義資料の演習問題や講義中に出題された問題を解き、理解度を確認する助けとしてください。また、講義中に参考となる文献を紹介しますので、学習を深めるために活用してください。 | |||
Textbooks | Textbooks/References | 講義の際に資料を配布します。 | ||
Related URL | http://www.kurims.kyoto-u.ac.jp/~cs/lecturesj.html |