市川伸一・伊東祐司(編)『認知心理学を知る<第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) の値が返され る. 室蘭工業大学 集中講義「認知心理学」
© Copyright 2025 ExpyDoc