概要:
人間の知的機能を計算機において実現することには、知識をどのように獲得し、どのように表現し、どのように判断するか等の問題がある。現在、これを解決する手法がいくつか確立している。本講義ではこれらの手法を演習をまじえながら具体的に学ぶ。
授業の進め方・方法:
講義と演習を行いながら学習を進める。実際に大きなプログラムを作成する演習を行うこともある。演習のレポートには学習シート的な内容も記述してもらう。また、授業内容を理解するために予習復習を必ず行ってください。
注意点:
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
人工知能とは、 問題解決の手順 【事前事後学習の内容(1時間)】演習問題 |
人工知能の概略と問題解決の手順、問題の定式化、状態空間法について学び、演習を行う。
|
2週 |
問題の分割 【事前事後学習の内容(0.5時間)】演習問題 |
問題分割法について学び、演習を行う。
|
3週 |
盲目的探索 【事前事後学習の内容(0.5時間)】演習問題 |
盲目的探索について学ぶ。
|
4週 |
盲目的探索演習 【事前事後学習の内容(2時間)】プログラミング演習 |
盲目的探索のプログラムを実際に作成する。
|
5週 |
ヒューリスティクス探索 【事前事後学習の内容(0.5時間)】演習問題 |
ヒューリスティクス探索(山登り法、最良優先探索)について学ぶ。
|
6週 |
ヒューリスティクス探索 【事前事後学習の内容(0.5時間)】演習問題 |
ヒューリスティクス探索(A*アルゴリズム)について学ぶ。
|
7週 |
ヒューリスティクス探索演習 【事前事後学習の内容(2時間)】プログラミング演習 |
ヒューリスティクス探索のプログラムを実際に作成する。
|
8週 |
ゲームの探索 【事前事後学習の内容(0.5時間)】演習問題 |
min-max法、アルファベータ法について学ぶ。
|
2ndQ |
9週 |
中間試験 【事前事後学習の内容(2時間)】試験勉強 |
問題の定式化、探索について試験を行う。
|
10週 |
中間試験解答、解説 【事前事後学習の内容(0.5時間)】試験範囲復習 |
問題の定式化、探索について試験の解答、解説を行う。
|
11週 |
知識の表現 【事前事後学習の内容(0.5時間)】演習問題 |
ルール、意味ネットワーク、フレームについて学ぶ。
|
12週 |
述語論理 【事前事後学習の内容(0.5時間)】演習問題 |
述語論理について学ぶ。
|
13週 |
Prolog入門(1) 【事前事後学習の内容(0.5時間)】プログラミング演習 |
Prologの使い方を学び、演習を行う。
|
14週 |
Prolog入門(2) 【事前事後学習の内容(0.5時間)】プログラミング演習 |
ルールの定義を学び、演習を行う。
|
15週 |
期末試験 【事前事後学習の内容(2時間)】試験勉強 |
知識の表現、述語論理、Prologについての試験を行う。
|
16週 |
答案返却など 【事前事後学習の内容(0.5時間)】試験範囲復習
|
知識の表現、述語論理、Prologについての試験の解答、解説を行う
|
後期 |
3rdQ |
1週 |
Prologの算術計算 【事前事後学習の内容(1時間)】プログラミング演習 |
Prologの算術計算について学び、演習を行う。
|
2週 |
Prologのリスト(1) 【事前事後学習の内容(1時間)】プログラミング演習 |
リストの構造と操作を学び、演習を行う。
|
3週 |
Prologのリスト(2) 【事前事後学習の内容(1時間)】プログラミング演習 |
リストの操作を学び、演習を行う。
|
4週 |
Prolog演習 【事前事後学習の内容(1.5時間)】プログラミング演習 |
探索問題のプログラムを作成する。
|
5週 |
Prolog演習 【事前事後学習の内容(1.5時間)】プログラミング演習 |
探索問題のプログラムを作成する。
|
6週 |
決定木(1) 【事前事後学習の内容(0.5時間)】プログラミング演習 |
決定木と情報量を用いた決定木の構築法について学ぶ
|
7週 |
決定木(2) 【事前事後学習の内容(0.5時間)】プログラミング演習 |
決定木の情報量以外の基準による構築方法、枝刈りについて学ぶ
|
8週 |
中間試験 【事前事後学習の内容(2時間)】試験勉強 |
Prolog、決定木についての試験を行う。
|
4thQ |
9週 |
中間試験解答、解説 【事前事後学習の内容(0.5時間)】試験範囲復習 |
Prolog、決定木についての試験の解答、解説を行う。
|
10週 |
遺伝的アルゴリズム(1) 【事前事後学習の内容(0.5時間)】演習問題 |
遺伝的アルゴリズム(GA)の基本アルゴリズムを学ぶ。
|
11週 |
遺伝的アルゴリズム演習 【事前事後学習の内容(0.5時間)】演習問題 |
探索問題のGAプログラムを作成する。
|
12週 |
遺伝的アルゴリズム(2)、遺伝的アルゴリズム演習 【事前事後学習の内容(2時間)】プログラミング演習 |
GAのスケーリングについて学び、探索問題のGAプログラムを作成する。
|
13週 |
学習アルゴリズム 【事前事後学習の内容(0.5時間)】演習問題 |
学習アルゴリズムについて学ぶ
|
14週 |
学習アルゴリズム演習 【事前事後学習の内容(0.5時間)】演習問題 |
学習アルゴリズムの演習を行う。
|
15週 |
期末試験 【事前事後学習の内容(2時間)】試験勉強 |
遺伝的アルゴリズムと学習アルゴリズムについての試験を行う。
|
16週 |
答案返却など 【事前事後学習の内容(0.5時間)】試験範囲復習 |
遺伝的アルゴリズムと学習アルゴリズムについての試験の解答、解説を行う。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 1 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 2 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 3 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 3 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 2 | |
情報数学・情報理論 | ブール代数に関する基本的な概念を説明できる。 | 2 | |
論理代数と述語論理に関する基本的な概念を説明できる。 | 3 | |
離散数学に関する知識をアルゴリズムの設計、解析に利用することができる。 | 3 | |
情報量の概念・定義を理解し、実際に計算することができる。 | 1 | |