授業スライド

Download Report

Transcript 授業スライド

市川伸一・伊東祐司(編)『認知心理学を知る<第3版>』おうふう
第9章
LISP による情報処理モデル
執筆者:難波和明
授業者:寺尾 敦
atsushi [at] si.aoyama.ac.jp
Twitter: @aterao
室蘭工業大学
集中講義「認知心理学」
1.人工知能分野の
人間の試行への関心
• 人工知能研究:コンピュータに知的なふるま
いをさせる.
– ちょっと気の利いた判断
– 翻訳
• 人間の知的ふるまいをヒントにできる.
– ここに心理学との接点がある.人間の持つ知識と,
情報処理アルゴリズムを明らかにする.
室蘭工業大学
集中講義「認知心理学」
2.“人間はどのようにものを知るか”
を考えるための道具としてのコンピュータ
• 人工知能研究は,知的なプログラムを書くた
めに人間を理解する.
• 認知心理学は,人間を理解するために知的
なプログラムを書く.
– 人間と同じようにふるまうプログラムが書ければ,
プログラムはその行動を説明するモデルとなる.
– プログラムはすべてを明示しなければ動かない.
うまく書けないのは,理解できていない部分.理
解していたつもりが,そうではなかったと気がつく
ことも多い.
室蘭工業大学
集中講義「認知心理学」
3.LISP の実例
• 人工知能研究,認知心理学の研究で使用す
るプログラミング言語は?
• 伝統的には,記号処理に強い言語を用いた.
– 記号処理:シンボル(命題表象)とその操作
– LISP, PROLOG
• 参考:ニューラルネットワーク(並列分散処
理)は,明示的な記号操作をしなくてよい.む
しろ数値処理.
室蘭工業大学
集中講義「認知心理学」
• LISP プログラムは関数の組み合わせとして書
かれる.
• 関数を呼び出して使うときには,括弧の最初
に関数名を書く.続いて,その関数への入力
(引数)を並べる.
(関数名 引数1 引数2 ...)
• 関数はいくつかの入力(引数)を受け取り,何
らかの値を出力する.
室蘭工業大学
集中講義「認知心理学」
• データはリストで表現する.
– データ要素を括弧の中に並べる.
– 関数と区別するため,括弧の前に「’」をつける.
’(要素1 要素2 要素3 ...)
• 処理のための,2つの基本的関数
– CAR(カー):リストの先頭要素を取り出して返す.
– CDR (クダー):リストの先頭要素を取り出された
残りのリストを返す.
室蘭工業大学
集中講義「認知心理学」
ハノイの塔の解決に要する
手数を返す関数
• 円盤の枚数 n を引数として,n 枚ハノイの塔
の解決に要する(最短)手数を返す.
(defun hanoi (n)
(cond ((equal n 1) 1)
(t (1+ (* 2 (hanoi (1- n)))))))
室蘭工業大学
集中講義「認知心理学」
• 再帰的な 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) の値が返され
る.
室蘭工業大学
集中講義「認知心理学」