問題解決 問題の表現 定性的,論理的関係を対象とした問題 問題解決プロセスの表現 状態空間 問題の分解・還元 ©2008 Ikuo Tahara 1 問題の表現 1個200円のリンゴと1個100 円のナシを合わせて6個買い, 800円支払いました. リンゴとナシはそれぞれ何個 買ったでしょうか? [記号] x :リンゴの個数 y :ナシの個数 [定量的関係] x y 6 x ? y ? 200 x 100 y 800 ©2008 Ikuo Tahara 2 問題の表現 太郎は花子の父であり, 次郎は太郎の父である. 父の父は祖父である. 花子の祖父は誰か? [記号] F ( x, y) : x は y の父である G( x, y) : x は y の祖父である [論理的関係] w.G(w, Hanako) F (Taro, Hanako) F ( Jiro, Taro) xyz.[ F ( x, y ) F ( y, z ) G ( x, z )] ©2008 Ikuo Tahara 3 問題の別表現 1個200円のリンゴと1個100 円のナシを合わせて6個買い, 800円支払いました. リンゴとナシはそれぞれ何個 買ったでしょうか? リンゴの個数 ナシの個数 合計 0 6 600 1 5 700 2 4 800 3 3 900 4 2 1000 5 1 1100 6 0 1200 ©2008 Ikuo Tahara 4 積木の世界の表現 積木の状態の表現 on( x, y ) clear ( x) on( B, TABLE ) clear (C ) on(C , A) B A C B A C 初期状態 目標状態 ©2008 Ikuo Tahara 5 積木の世界の表現 ロボットの手の状態の表現 holding ( x) empty holding ( B) empty C B B C A A ©2008 Ikuo Tahara 6 基本的操作の表現(1) x を持ち上げる C A B B C C A B A 前提条件 empty ( x TABLE) clear ( x) 削除リスト empty, on( x,*), clear ( x) 追加リスト holding ( x), clear (*) (if (* TABLE)) ©2008 Ikuo Tahara 7 基本的操作の表現(1) xを y の上に置く B B C A B C A 前提条件 holding ( x) (( y TABLE ) clear ( y )) 削除リスト holding ( x), clear ( y) (if ( y TABLE)) 追加リスト empty, on( x, y), clear ( x) ©2008 Ikuo Tahara C A 8 基本的操作の表現(2) 基本的操作 前提条件 削除リスト 追加リスト PICKUP( x) ontable( x ) clear ( x) empty ontable( x ) clear ( x) empty holding ( x) UNSTACK ( x, y) on( x, y ) clear ( x) empty on( x, y ) clear ( x) empty holding ( x) clear ( x) PUTDOWN ( x) holding ( x) holding ( x) ontable( x ) clear ( x) empty STACK ( x, y) holding ( x) clear ( x) holding ( x) clear ( x) on( x, y ) clear ( x) empty ©2008 Ikuo Tahara 9 基本的操作の表現(2) 基本的操作 前提条件 削除リスト PICKUP( x) ontable( x ) clear ( x) empty holding ( x) UNSTACK ( x, y) on( x, y ) clear ( x) empty holding ( x) clear ( x) PUTDOWN ( x) holding ( x) ontable( x ) clear ( x) empty STACK ( x, y) holding ( x) clear ( x) on( x, y ) clear ( x) empty ©2008 Ikuo Tahara 追加リスト 10 問題の解決例 初期状態 ontable( A) ontable( B ) C B A clear ( B ) on(C , A) PICKUP( B) UNSTACK (C, A) clear (C ) empty ©2008 Ikuo Tahara 11 問題の解決例 UNSTACK (C, A) ontable( A) clear ( A) C B A ontable( B) clear ( B) STACK (C , A) PUTDOWN (C ) holding (C ) ©2008 Ikuo Tahara 12 問題の解決例 PUTDOWN (C ) ontable( A) C B A clear ( A) ontable( B ) clear ( B ) ontable(C ) clear (C ) empty ©2008 Ikuo Tahara PICKUP( B) 13 問題の解決例 PICKUP( B) ontable( A) clear ( A) ontable(C ) clear (C ) B C A STACK ( B, C ) holding ( B) ©2008 Ikuo Tahara 14 問題の解決例 STACK ( B, C ) ontable( A) clear ( A) on( B, C ) clear ( B ) B C A PICKUP( A) ontable(C ) empty ©2008 Ikuo Tahara 15 問題の解決例 PICKUP( A) on( B, C ) clear ( B) B A ontable(C ) holding ( A) STACK ( A, B) C ©2008 Ikuo Tahara 16 問題の解決例 STACK ( A, B) 目標状態 on( A, B) clear ( A) A on( B, C ) B ontable(C ) C empty ©2008 Ikuo Tahara 17 問題解決に必要な知識 データ 問題領域に関する知識 事実や状態の記述 (例:積木の状態の記述) 関係や規則の記述 (例:基本的操作の記述) アルゴリズム 解決方法に関する知識 演算,操作,戦略などに関する知識 ©2008 Ikuo Tahara 18 問題解決プロセスの表現 状態空間の探索 探索木 問題の分解・還元 AND/OR木 ©2008 Ikuo Tahara 19 状態空間 状態空間 問題 S 規則 前提条件 追加リスト #1 S A #2 S B #3 A B #4 A G #5 B C #6 C A #7 C D #8 C G #1 #2 #3 A B #6 #4 #5 C #8 G ©2008 Ikuo Tahara #7 D 20 状態空間の探索 状態空間→探索木 S #1 #2 #3 A B #6 #4 C #8 G #5 #7 D ©2008 Ikuo Tahara 21 状態空間の探索 状態空間→探索木 S 初期状態 S #1 #2 A B #3 A B #6 #4 C G #5 A C C #8 G B #7 目標状態 D G D G G D ©2008 Ikuo Tahara 22 状態空間の探索 状態空間→探索木 S 初期状態 S #1 #2 A B #3 A B #6 #4 C G #5 A C C #8 G B #7 目標状態 D G D G G D ©2008 Ikuo Tahara 23 問題の分解・還元 問題 x y 6 200 x 100 y 800 副問題 副問題 200 x 100(6 x) 800 OR 200(6 y) 100 y 800 where y 6 x where x 6 y ©2008 Ikuo Tahara 24 問題の分解・還元 問題 wG . (w, Hanako) ? 部分問題 wy1.F (w, y1 ) ? 部分問題 AND y2 .F ( y2 , Hanako) ? y1 y2 ©2008 Ikuo Tahara 25 書換え問題 問題 「文字列 “ABC”を以下の書換規則を用いて文 字列“Z・・・Z”に書き換えることができるか?」 書換規則 ① ② ③ ④ ⑤ A A B B C → → → → → XY BZ X Z BBZ ©2008 Ikuo Tahara 26 書換え問題の分解・還元 AND/OR木 “ABC”を “ZZ・・・Z” に書き換える問題 ABC ① A→XY A B ② A→BZ C ③ B→X ④ B→Z XY X BZ Y B X X Z Z Z BBZ B X ⑤ C→BBZ B Z X ©2008 Ikuo Tahara Z Z 27 書換え問題の解 解の探索 ABC A B XY X BZ Y B X C X Z Z Z BBZ B X B Z X ©2008 Ikuo Tahara Z Z 28 書換え問題の解 解の探索 ABC A B XY X BZ Y B X C X Z Z Z BBZ B X B Z X ©2008 Ikuo Tahara Z Z 29 書換え問題の解 解の探索 ABC A B XY X BZ Y B X C X Z Z Z BBZ B X B Z X ©2008 Ikuo Tahara Z Z 30 書換え問題の解 解の探索 ABC A B XY X BZ Y B X C X Z Z Z BBZ B X B Z X ©2008 Ikuo Tahara Z Z 31 書換え問題の解 解の探索 ABC A B XY X BZ Y B X C X Z Z Z BBZ B X B Z X ©2008 Ikuo Tahara Z Z 32 書換え問題の解 部分木 解 ABC ① A→XY ② A→BZ A B ② C ④ BZ ・②→④ ・④ ・⑤→④ B ②→⑤→④ ④ ②→④→⑤→④ Z ④ B→Z ⑤ Z Z ③ B→X ⑤ C→BBZ BBZ B B ④ ④ Z ©2008 Ikuo Tahara Z Z 33 ① A→XY 書換え問題の状態空間 ② A→BZ ③ B→X ④ B→Z ① ABC ⑤ C→BBZ ③ ④ ⑤ ② XYBC ③ XYXC ④ XYZC BZBC ⑤ XYBBBZ ③ XZXC AXC AZC ABBBZ ④ ⑤ ZZZC BZBBBZ ⑤ ③ ZZZBBZ ③ ZZZXXZ XZXXXZ ④ ZZZZZZ ④ ZZZZZZ ©2008 Ikuo Tahara 34 ① A→XY 書換え問題の解 ② A→BZ ③ B→X ④ B→Z ① ABC ⑤ C→BBZ ③ ④ ⑤ ② XYBC ③ XYXC ④ XYZC BZBC ②→⑤→④ ⑤ XYBBBZ ③ XZXC AXC AZC ABBBZ ④ ⑤ ZZZC BZBBBZ ⑤ ③ ZZZBBZ ③ ZZZXXZ XZXXXZ ④ ZZZZZZ ④ ZZZZZZ ©2008 Ikuo Tahara 35 ① A→XY 書換え問題の解 ② A→BZ ③ B→X ④ B→Z ① ABC ⑤ C→BBZ ③ ④ ⑤ ② XYBC ③ XYXC ④ XYZC BZBC ⑤ XYBBBZ ③ XZXC AXC ABBBZ ④ ⑤ ZZZC BZBBBZ ⑤ ③ ZZZBBZ ②→④→⑤→④ AZC ③ ZZZXXZ XZXXXZ ④ ZZZZZZ ④ ZZZZZZ ©2008 Ikuo Tahara 36 積木の問題 A B C A B C on(A,B) & on(B,C) on(A,B) on(B,C) STACK(B,C) holding(B) clear(C) PICKUP(B) ontable(B) clear(B) empty UNSTACK(A,B) on(A,B) clear(A) empty ©2008 Ikuo Tahara 37 積木の問題 A B C A B C on(A,B) & on(B,C) on(A,B) on(B,C) STACK(B,C) PUTDOWN(A) holding(B) holding(A) clear(C) PICKUP(B) ontable(B) clear(B) empty UNSTACK(A,B) on(A,B) clear(A) empty ©2008 Ikuo Tahara 38
© Copyright 2025 ExpyDoc