next up previous
Next: 12.0.1 node-equalの定義 Up: ソフトウェア第三 講義資料 行列,リスト操作,グラフ,探索表現 Previous: 11.6 積木の問題における基本関数

12 迷路問題における状態空間の生成

迷路の問題へ適用は, 図5の番地ごとに 壁データを次の様に初期化する関数を用意し,
(defun maze-init2 nil
  (put 'p1 'walls '(n w s))
  (put 'p2 'walls '(n s))
  (put 'p3 'walls '(n s))
  (put 'p4 'walls '(n e))
  (put 'p5 'walls '(n w e))
  (put 'p6 'walls '(n w e))
  (put 'p7 'walls '(n w))
  (put 'p8 'walls '(n s))
  (put 'p9 'walls '(e))
  (put 'p10 'walls '(e w))
  (put 'p11 'walls '(e w))
  (put 'p12 'walls '(s))
  (put 'p13 'walls '(n e s))
  (put 'p14 'walls '(w s))
  (put 'p15 'walls '(e))
  (put 'p16 'walls '(w s))
  (put 'p17 'walls '(n e))
  (put 'p18 'walls '(n w e))
  (put 'p19 'walls '(n w))
  (put 'p20 'walls '(e))
  (put 'p21 'walls '(n w s))
  (put 'p22 'walls '(s))
  (put 'p23 'walls '(s))
  (put 'p24 'walls '(e s))
  (put 'p25 'walls '(w s e))
  )
ロボットがどこにいるかで状態を表すために, たとえば,

(robot at (0.2 0.3))
というように,座標ベクトルを第三要素として 持つ形で状態を表現することにすれば以下のように 基本関数を定義すればよい.



generated through LaTeX2HTML. M.Inaba 平成18年5月7日