第9章 lisp による情報処理モデル

8
LISP 第第第第第第第第第第 第第第 第第第第 第第第 第第 第 atsushi [at] si.aoyama.ac.jp Twitter: @aterao 第第第 第第第第 第第 () 第第第第第第第第 第第 第第 第第第第第 <3> 第第第第第第 第第第第 第第第第第第 「」

Upload: jana-bryant

Post on 30-Dec-2015

29 views

Category:

Documents


0 download

DESCRIPTION

市川伸一・伊東祐司(編) 『 認知心理学を知る<第3版> 』 おうふう. 第9章 LISP による情報処理モデル. 執筆者:難波和明 授業者:寺尾 敦 atsushi [at] si.aoyama.ac.jp Twitter: @ aterao. 1.人工知能分野の 人間の試行への関心. 人工知能研究 :コンピュータに知的なふるまいをさせる. ちょっと気の利いた判断 翻訳 人間の知的ふるまいをヒントにできる. ここに心理学との接点がある.人間の持つ知識と,情報処理アルゴリズムを明らかにする.. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第9章 LISP  による情報処理モデル

第9章LISP による情報処理モデル

執筆者:難波和明授業者:寺尾 敦

atsushi [at] si.aoyama.ac.jpTwitter: @aterao

市川伸一・伊東祐司(編)『認知心理学を知る<第3版>』おうふう

 室蘭工業大学 集中講義「認知心理学」

Page 2: 第9章 LISP  による情報処理モデル

1.人工知能分野の人間の思考への関心

• 人工知能研究:コンピュータに知的なふるまいをさせる.– ちょっと気の利いた判断– 翻訳

• 人間の知的ふるまいをヒントにできる.– ここに心理学との接点がある.人間の持つ知

識と,情報処理アルゴリズムを明らかにする.

 室蘭工業大学 集中講義「認知心理学」

Page 3: 第9章 LISP  による情報処理モデル

2.“人間はどのようにものを知るか”を考えるための道具としてのコンピュータ• 人工知能研究は,知的なプログラムを書くた

めに人間を理解する.• 認知心理学は,人間を理解するために知的な

プログラムを書く.– 人間と同じようにふるまうプログラムが書ければ,

プログラムはその行動を説明するモデルとなる.– プログラムはすべてを明示しなければ動かない.

うまく書けないのは,理解できていない部分.理解していたつもりが,そうではなかったと気がつくことも多い.

 室蘭工業大学 集中講義「認知心理学」

Page 4: 第9章 LISP  による情報処理モデル

3. LISP の実例• 人工知能研究,認知心理学の研究で使用

するプログラミング言語は?• 伝統的には,記号処理に強い言語を用い

た.– 記号処理:シンボル(命題表象)とその操作– LISP, PROLOG

• 参考:ニューラルネットワーク(並列分散処理)は,明示的な記号操作をしなくてよい.むしろ数値処理.

 室蘭工業大学 集中講義「認知心理学」

Page 5: 第9章 LISP  による情報処理モデル

• LISP プログラムは関数の組み合わせとして書かれる.

• 関数を呼び出して使うときには,括弧の最初に関数名を書く.続いて,その関数への入力(引数)を並べる.

• 関数はいくつかの入力(引数)を受け取り,何らかの値を出力する.

( 関数名 引数1 引数2  ...)

 室蘭工業大学 集中講義「認知心理学」

Page 6: 第9章 LISP  による情報処理モデル

• データはリストで表現する.– データ要素を括弧の中に並べる.– 関数と区別するため,括弧の前に「’」をつける.

• 処理のための,2つの基本的関数– CAR (カー):リストの先頭要素を取り出して

返す.– CDR (クダー):リストの先頭要素を取り出さ

れた残りのリストを返す.

’( 要素1 要素2 要素3  ...)

 室蘭工業大学 集中講義「認知心理学」

Page 7: 第9章 LISP  による情報処理モデル

ハノイの塔の解決に要する手数を返す関数

• 円盤の枚数 n を引数として, n 枚ハノイの塔の解決に要する(最短)手数を返す.

(defun hanoi (n) (cond ((equal n 1) 1) (t (1+ (* 2 (hanoi (1- n)))))))

 室蘭工業大学 集中講義「認知心理学」

Page 8: 第9章 LISP  による情報処理モデル

• 再帰的な hanoi 関数• 動作– n が 1 でないとき, (hanoi n) は (hanoi (n-1)) を

呼び出す.再帰的関数– この呼び出しは, (hanoi 1) まで続く– (hanoi 1 ) は,1を返す.– これにより, (hanoi 2) は, 1*2 + 1 =3 という値

を計算して返す.– 順に (hanoi 3), (hanoi 4), … , (hanoi n) の値が返さ

れる. 室蘭工業大学 集中講義「認知心理学」