授業の目的 【日本語】 | | 論理学1において学んだ基礎論理学にもとづいて,コンピュータ科学における論理学の適用技法について習得する。(1)SATソルバなどの制約解消系による充足可能性判定による問題解決,(2)導出原理による証明に基づく論理型プログラミングの基礎,および(3)ホーア論理に代表されるプログラム論理によるプログラムの検証について講義を行う。 |
|
|
授業の目的 【英語】 | | Based on the fundamental knowledge of logic in Logic 1, this course introduces the applications of logic in computer science for the following topics. (1) Problem solving by satisfiability of formulae using constraint solvers such as the SAT solver, (2) the foundation of logic programming based on the refutation with the resolution principle, and (3) the verification technique of programs using Hoare logic.
|
|
|
到達目標 【日本語】 | | コンピュータ科学において理論・応用両面で重要な役割を果たす論理学の基礎とその適用技法について学ぶ。とくに,ソフトウェア科学において論理学のアイディアがどのように利用されているかを理解する。 |
|
|
到達目標 【英語】 | | |
|
授業の内容や構成 | | 論理学1において学んだ基礎論理学にもとづいて,コンピュータ科学における論理学の適用技法について解説する。とくに,(1)ホーア論理に代表されるプログラム論理によるプログラム検証,(2)SATソルバなどを用いた充足可能性判定による問題解決,および(3)導出原理による証明に基づく論理型プログラミングの基礎について学ぶ。
1. 数学的準備
2. プログラミング言語の公理的意味論
3. 定理証明器
4. 命題論理式の充足可能性判定
5. SATソルバによる問題解決
6. エルブランの定理
7. 導出原理と論理型プログラミング
8. 総括 | |
|
|
履修条件・関連する科目 | | |
|
成績評価の方法と基準 | | 講義中に与える演習課題の評価50%,期末試験50%.合計100点満点で60点以上を合格とする。 | |
|
|
教科書・参考書 | | |
|
課外学習等(授業時間外学習の指示) | | 講義において説明した理論を理解するために課題を与える。 | |
|
|
授業開講形態等 | | |
|
遠隔授業(オンデマンド型)で行う場合の追加措置 | | |
|