• 締切済み

導出原理の問題について

演繹推論の導出の問題が難しくてわかりません。よろしくお願いします! 二つの水入れ用の容器があるとします。(7リットル容器と5リットル容器) その容器の初期状態(ファクト):2つ共に空   で、      目標状態(ゴール) :7リットル容器に4リットル水が入っている状態 動作: (イ)一方の容器に水を一杯に満たす     (ロ)一方の容器を空にする     (ハ)容器が空になるかまたは一杯になるまで一方の容器から他方の容器に水を注ぐ 状態「7リットル入りにxリットル、5リットルにyリットル水が入っている」をstate(x、y)と表現すると、情報は次のように記述されるとする。 初期状態:state(0,0) 目標状態:state(4、y) (イ)state(x、y)→state(7、y)(ロ)state(x、y)→state(0、y)   state(x、y)→state(x、5)  state(x、y)→state(x、0) (ハ)state(u,v), u+v=y, y<=5 →state(0、y)   state(u,v), u+v=x, x<=7 →state(x、0)   state(u,v), u+v=w, x+5=w →state(x、5)   state(u,v), u+v=w, 7+y=w →state(7、y) ここから問題を解く。 (1)「7リットルにxリットル、5リットルにyリットル水が入っている」をs(x、y)で表す。(当然、x<=7、y<=5) (2)「x<=7である」を述語記号を用いてL(x、7) (3)また一方から他方へ水を注ぐ場合、「x+y=w」を表現しなければならないので、これを E(x、y、w)と表す。さらに途中、x←2、 w←3(代入)のようにパラメータに値が代入されたとき式の変形を行って y=w-x=3-2=1なる"計算"をする。 本来はこのような式の変形も述語論理式(のルールの形)で記述しなければならない。 初期状態(ファクト):s(0,0)  目標状態(ゴール):s(4、y) 動作(ルール) (イ)1、s(x、y)→s(7、y)   2、s(x、y)→s(x、5) (ロ)1、s(x、y)→s(0、y)   2、s(x、y)→s(x、0)  (ハ)1、s(u、v)^(u+v=y)^(y<=5)→s(0、y)   2、s(u、v)^(u+v=x)^(x<=7)→s(0、y)   3、s(u、v)^(u+v=w)^(x+5=w)→s(x、5)   4、s(u、v)^(u+v=w)^(7+y=w)→s(7、y)  これを、導出原理をもとにした推論法(推論木)で求めたいです。 どのようにして求めればよいのでしょうか?? よろしくお願いします!

みんなの回答

  • PlusPlus0
  • ベストアンサー率55% (10/18)
回答No.1

単純に過程だけを述べるならs(0,0),s(7,0),s(2,5),s(2,0),s(0,2),s(7,2),s(4,5)でいいんですけどね。 モデルから言って,無意味な(禁止される)行動はイ→イ,ロ→ロ,ハ→ハと続く手順で,また,イx→ロxやイy→ロyも禁止されます。また,ハの対象が満タンだったり,満タンの対象にイは適用できません。 つまり,この動作は驚くほど選択肢が少ない行動になっています。 この場合,初期状態s(0,0)からはイの次にハの選択肢しかなく,そこから先はイロハ全ての組み合わせが適用できるタイプです。 x,y,zの三変数のときは更に複雑な禁止行動になりますが,パタンさえ分かれば簡単に解ける問題だと思います。 要は,禁止行動さえ取らなければ,いずれは答えにたどり着けるパタンが現れるのがこの手の問題です

squall88
質問者

お礼

回答ありがとうございました。 お礼が遅くなってしまい申し訳ありませんでした。 参考にさせていただきました。

関連するQ&A