荒屋真二著 「人工知能概論 (第2版)」 共立出版 2004.10.1
<Topページ> <荒屋研究室へ>
演習問題の解答例(第1〜5章) 最終更新:2004.10.1
第1章
演習問題なし
第2章
2.1 水差し問題の状態空間は図2.3 の有向グラフで表すことができた.この図からすべての解を求めよ. (0,0) (4,0) (1,3) (4,3) (0,3) (3,0) (3,3) (4,2) (0,2) (2,0) (0,0) (4,0) (4,3) (0,3) (3,0) (3,3) (4,2) (0,2) (2,0) (0,0) (4,0) (1,3) (1,0) (0,1) (4,1) (2,3) (2,0) 以下省略 |
(0,0) (0,3) (3,0) (3,3) (4,2) (0,2) (2,0) |
例えば,次のような迷路問題を考えてみよ。横型探索では最適経路が得られるが,縦型探索では得られない。![]() <縦型探索> ![]() <横型探索> ![]() |
n = 1, 2, 3, ・・・ として,深さ n までの縦型探索をゴールが見つかるまで繰り返し実行する方法である。深さ最小の解を少ないメモリ消費で見つけることができる。 |
![]() |
<最良優先探索法> <山登り法>![]() |
ビーム探索法とは,A*アルゴリズムにおいて,展開されていない節点を全て保存するのではなく,一定数(ビーム幅)の最良節点のみを保存する方法である。使用メモリの増大を防げるが最適解は保証されなくなる。ビーム幅を1とすると山登り法と同じなる。 反復深化A*アルゴリズムとは,A*アルゴリズムにおいて,発見的関数の値がある閾値(しきい値)以上になった節点の先の探索を中止するようにし,ゴールが見つかるまで閾値を徐々に大きくしていく方法である。 |
![]() |
h(p) = 0+2+0+1+1+0+0+1 = 5 f(p) = g(p)+h(p) = 3+5 = 8 |
![]() |
![]() |
第3章
3.1 図3.4のボール渡しプログラムにおいて,同図(b) の初期状態を次のように変えて実行した場合の推論過程を図3.5にならって書け.
1: (person ^name shiro ^has nil)
2: (person ^name saburo ^has ball)
3: (person ^name jiro ^has nil)
4: (person ^name ichiro ^has ball)
ルールは,r1, r3, r2 の順に発火する。競合集合は,{ (r1,4,3), (r3,2,1) }, { (r3,2,1) }, { (r2,6,7) }, { } と変化する。WM の変化は省略する。 |
3.2 図3.6ではルールr2とr3を省略しているが,それらのルールを実際に書け.
(p r2 (person ^name jiro ^has {<x> <> nil } ) (person ^name saburo ^has nil) --> (modify 1 ^has nil) (modify 2 ^has <x>)) (p r3 (person ^name saburo ^has {<x> <> nil } ) (person ^name shiro ^has nil) --> (modify 1 ^has nil) (modify 2 ^has <x>)) |
3.3 競合集合CSが次のような場合,OPS5のLEX戦略ではどのインスタンシエーションが選択されるか.ただし,ルールはra, rb, rcの順に書かれており,それらの条件のきつさはすべて同じであるものとする.
(a) CS ={(ra 2 3), (rb 4 3), (rc 2 4)}
(b) CS ={(ra 2 4),(rb 4 1), (rc 2 4)}
(a) (rb 4 3) (b) (ra 2 4) |
第4章
4.1 次のような知識を意味ネットワークおよびフレームを用いて表現せよ.
@ ピーコはカナリヤである.
A カナリヤは鳥である.
B 鳥には翼がある.
C カナリヤの色は黄色である.
D ピーコは1歳である.
![]() |
4.2 図4.1の意味ネットワークに対して,次のような質問を表す質問ネットワークを作り,部分照合法を適用せよ.
@ チワワの人気は何位ですか.
A チワワの性格は人なつこいですか.
![]() |
4.3 講義室C32やC33はC棟にあり,C棟やD棟は大学敷地にあることを,フレームを用いて表現せよ.
![]() |
第5章
5.1 英文"The apple is red."を,命題論理および述語論理で記述せよ.
命題論理: p 述語論理:∀x [ apple(x) → red(x) ] |
5.2 次のペアは単一化可能か.可能ならばそのときの変数代入を求めよ.
ただし,x, y, z は変数とする.
@ p(x, orange) p(apple, y)
A p(x, y) q(z)
B p(x, y) p(q(z), r(y))
@ x = apple, y = orange A単一化不可能 (述語が異なるため)) B単一化不可能 (y = r(y) = r(r(y)) = r(r(r(y))) = ・・・ となるため) |
5.3 次の論理式を節形式に変換せよ.ただし,x, y, z は変数とする.
@ ∀x∀y∀z [(p(x, y) ∧ q(y, z)) → r(x, z)]
A 〜∃x getup(Taro, x)
B ∀x [(p(x) ∧ q(x)) → (r(x) ∨ (∃y∀z (s(y, z) → t(x, y) ∨ u(z))))]
@ 〜p(x, y)∨〜q(y, z)∨r(x, z) A 〜getup(Taro, x) B 〜p(x)∨〜q(x)∨r(x)∨〜s(S1, z)∨t(x, S1)∨u(z) ただし,S1はスコーレム定数 |
5.4 次の問題をホーン節で記述し,SNLによる導出により解け.
「動物を治療できるのは獣医である.獣医になるにはその資格が必要である.花子は獣医の資格をもっている.タマは猫であり,猫は動物である.さて,花子はタマを治療できるだろうか.」
@ 〜veterinarian(x1)∨〜animal(x2)∨can-cure(x1, x2) A 〜has-qualification-of-vet(x3)∨veterinarian(x3) B has-qualification-of-vet(Hanako) C cat(Tama) D 〜cat(x4)∨animal(x4) E can-cure(Hanako, Tama) ・・・・・ 証明したい命題 ![]() |
5.5 図5.5 のプログラムにおいて図5.7 の質問に対する答えはどうなるか.
@ yes A X = kazuko; X = masakazu B X = masakazu C X = kazuko, Y = ichiro; X = masakazu, Y = ichiro; ・・・以下省略 D X = jiro; X = masakazu E X = jiro |
5.6 「叔父」および「叔母」の定義をPrologで書け.
uncle(X, Y):-brother(X, Z), parent(Z, Y). aunt(X, Y):-sister(X, Z), parent(Z, Y). |