全学共通科目 プログラミング演習(LISP)
前期 水曜日 4,5コマ目 総合人間学部棟2階1206
全回生,全学部向
担当: 桜川
授業のテーマと目的
プログラミング言語LISPによって記号処理の基礎的な演習を行う。LISPは、関 数的プログラミングが可能で、記号的な人工知能などの研究にも使われている 言語である。再帰的データ構造とその探索、オブジェクト指向についても具体 例によって理解する。また,希望する学生は、演習の題材として記号論理を用 いてさまざまな記号処理を行い、記号論理の復習とそこでの具体的な処理方法 を学べる。
授業計画と内容
- 式の評価
- 変数, 関数, 関数定義と再帰呼び出し
- S式の正確な定義,二分木とリスト,再帰的データ構造
- 記号論理の簡単な説明
- リストによるデータの表現
- リスト処理
- オブジェクト指向
- 木の探索とMin-Max法, 数式と論理式の処理
- (余裕があれば)マクロによる言語の拡張
コースの最初にUNIX(Linux)の使用方法、メイルの送受信、WWWブラウザの使用 方法を学び、受講の準備を行う。LISPには多数の方言が存在するが、本演習で は、仕様がすっきりとまとまっているSchemeを使用する。
成績評価の方法
毎回のレポートによって評価する。出席率も加味する場合がある。
コメント
受講者は計算機の基本的な使い方やリテラシーを身につけていることが望まし い。記号論理学についての演習を主に行うことを希望する学生は「数理論理学 A」などを同時期までに履修することを勧める。なるべく初回の授業に出席する こと。
教科書
使用しない
参考書
ケント・ディヴィグ著, 村上雅章訳 『プログラミング言語Scheme』
(ピアソン・エデュケーションジャパン) ISBN:4-89471-226-1
小野寛晰著 『情報科学における論理』(日本評論社)
ISBN:4535608148
記号論理の演習の最初のころの題材としては、命題変数の値を与えて論理式の 真偽値を求めることや、命題論理の論理式の標準形を求めること、論理式の単 純化などを予定しています。 進度によっては、リゾリューションのような自動証明アルゴリズムや証明チェッ クを 実行するプログラムを書ける程度のスキルを身につけることを期待したいと思い ます。