概要:
(1) 人工知能処理とは何か?どのような手法(考え方)があるのか?適用するための手法、等々の抽象概念を教授する。
(2) 人工知能用言語(Lisp と Prolog)を理解・習得してプログラミングできる能力を身につけさせる。
(3) 応用問題を解決できる能力を身につけさせる 。
授業の進め方・方法:
(1) 評価は、AIの概要の暗記能力では無くて、自らの問題解決能力を重要視するので十分に意識して取り組むこと。
(2) 人工知能用言語(Lisp と Prolog)のたくさんの課題レポートを課すので、必ず自分のPCに言語環境をインストールすること。
(3)関連する記事や 問題解決のためのプログラム等、多くの印刷物を配布する。極めて複雑なプログラムもあるので労力を惜しまないこと。
先ず、プログラミング環境を自分の PC に整備して下さい。人工知能の分野では決まった解はありません。関数型言語や論理型言語をツールとして使いこなせる事が必要条件ですから、自己学習で必ず演習問題を解くこと。その多くは自学自習のレポートとして出題します。自らが考案したアルゴリズム等のレベルのグレードにより評価します。
注意点:
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
1. AI の概要 |
概要と歴史的背景を理解する
|
2週 |
2.リスト表現とリストの操作 |
木構造と網構造のリスト表現、およびそのメモリー上での実装を容易にイメージできること
|
3週 |
3.関数型言語 Lisp 入門 |
Lisp の基本。簡単なプログラミング。
|
4週 |
4.縦型探索と横型探索 |
縦型探索と横型探索、及び Lisp を用いての前向き推論アルゴリズム
|
5週 |
5.経路探索問題の最適化とダイクストラ法 |
応用問題としての経路問題と最適化プログラムを Lisp で記述すること
|
6週 |
続き |
プログラミング演習
|
7週 |
6.述語論理と反駁法 |
述語論理の概要及び反駁法による定理の証明アルゴリズムを理解する
|
8週 |
7.論理型言語 Prolog 入門 |
ユニフィケーションと簡単な Prolog プログラミング
|
4thQ |
9週 |
8.経路探索問題及び迷路問題の Prolog プログラミング |
Prolog を通して後ろ向き推論での問題解決能力をつける。
|
10週 |
続き |
Prolog プログラミング演習
|
11週 |
9.ファジー理論 |
ファジー数、ファジー関係、合成、推論アルゴリズムを知る
|
12週 |
10.ファジー理論の Lisp 及び Prolog によるプログラミング |
Min-Maxアルゴリズムによるファジー関係、ファジー推論を理解する
|
13週 |
11.遺伝的アルゴリズム |
遺伝的アルゴリズムの一般的な解法を理解する
|
14週 |
12.まとめ(レポート整理等) |
これまでに課したレポートの仕上げと試験対策ができる
|
15週 |
試験答案の返却及び解説 |
試験問題の解説及びポートフォリオの記入、まとめ
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 4 | |
主要な計算モデルを説明できる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | |
計算機工学 | 整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 4 | |
基数が異なる数の間で相互に変換できる。 | 4 | |
基本的な論理演算を行うことができる。 | 4 | |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 4 | |
論理式の簡単化の概念を説明できる。 | 4 | |
簡単化の手法を用いて、与えられた論理関数を簡単化することができる。 | 4 | |