- 締切済み
人工知能
全然わかりません;;教えてください 次はプロダクションシステム記述言語OPS5によるルールとWMの初期状態である。 <ルール> (p r1 (life ^species sheep ^sex male) (life ^species sheep ^sex female) --> (remove 1) (remove 2) (make life ^species sheep ^sex baby)) (p r2 (life ^species sheep) (life ^species grass) --> (remove 2)) (p r3 (life ^species wolf) (life ^species sheep) --> (remove 2)) (p r4 (life ^species animal ^cry maa) --> (modify 1 ^species sheep)) (p r5 (life ^species animal ^cry bow) --> (modify 1 ^species wolf)) <WMの初期状態> 1:(life ^species animal ^sex male ^cry bow) 2:(life ^species animal ^sex female ^cry bow) 3:(life ^species animal ^sex male ^cry maa) 4:(life ^species sheep ^sex female ^cry maa) 5:(life ^species grass) (1) このとき,どのルールがどのような順番で実行されるか,ルール名を実行される順に並べてカッコ内に書きなさい。 答( ) (2) WMは最終的にどのようになるか,下の枠内に書きなさい。タイムタグも書きなさい。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
タイムラグじゃなくてタイムタグだよ。WM内のデータの左端に1:とか数字とコロンがついてるでしょ。ルールの適用によってデータの一部が変更されたり、新しいデータが加わったら、タイムタグの数値をひとつ増やす。タイムタグの数値が大きいほど新しくできたり一部変更されたデータ。 テキストがあるなら、いっぺん最初から読み直してごらん。
補足質問への回答だけど、二番目もr5。この先は、ルール適用の結果、WMが書き変わったあとに適用できるルールを見落とさないように注意。
補足
いまいちよくわかりません。r5,r5・・・という風に書けばいいのでしょうか そしてタイムラグとはなんでしょう
もしテキストがあって勉強しているならテキストを最初から読み直して理解につとめてごらん。大学の講座や企業研修での課題なら、参加している他の人に教えてもらうのもいいだろう。 独習なら、いったん、プログラム内の単語を日本語に置き換えるとある程度理解しやすくなるはず。ちょっとやってみよう。 プログラムは、マッチングするデータが見つかったら新しいデータを生成したり、既存のデータを除去したり、不完全なデータを補完するルールを記述しているにすぎない。 r1は、牡羊と牝羊とマッチングするデータが見つかったら、牡羊のデータを除去、牝羊のデータを除去して、仔羊のデータを生成する。 r2は、羊と草とマッチングするデータが見つかったら、草のデータを除去する。 r3は、狼と羊がマッチングするデータが見つかったら、羊のデータを除去する。 r4は、メーと鳴く動物がマッチングするデータが見つかったら、そのデータの種の項目値を羊に調整する。 r5は、ワォーと鳴く動物がマッチングするデータが見つかったら、そのデータの種の項目値を狼に調整する。 WMにより、順次データがプログラムに与えられて、ルールにマッチングするデータかどうか点検の上、マッチングするデータがあればルール適用される。最初に、ワォーと鳴く動物のデータがあるから、r5が適用されて、種の項目値が狼に調整される。以下、データによってどのルールが適用されるかは、15分もあれば君も辿れると思うよ。
補足
2番目もワォーと泣くデータなのでr5が適用ってことですか?
補足
実行される順番はr5,r5,r4,r4・・・という書き方でいいですか?