【问题标题】:Forward Chaining using variables in rules in CLIPS在 CLIPS 中使用规则中的变量进行正向链接
【发布时间】:2016-09-17 23:27:26
【问题描述】:

所以,我正在尝试为 18 洞球场制作“高尔夫球杆推荐系统”。现在,在定义了高尔夫球场、高尔夫球杆和高尔夫球手的基本模板之后,由于这个特殊问题所呈现的巨大搜索空间,我陷入了困境。所以目前我有:

(defrule teeoff
   ?g <- (golfer (position "tee"))
   => 
   (retract ?g)
   (assert (golfer (position "fairway") (Current_club "driver") (Yardage 650))

在此之后,球在球道上,并且可能有多种因素,例如,它可以在沙地上,可以在长草上,也可以在普通果岭上。我的问题是,我可以有一个或两个规则,而不是为每种可能性制定规则,例如:

(defrule makemove
   ?m <- (golfer (position ?x))
   ?go <- (golfcourse (obstacles ?$y)
=> 
   (assert (golfer (Current_club ?c)))

如果没有,那我还有什么选择?

【问题讨论】:

    标签: clips


    【解决方案1】:

    我建议你设计一个对象或属性来管理ground_material(沙子,绿色,...)并将其包含在规则中。 您可以为每个理由编写规则或在单个规则中使用 IF-THEN 条件。

    希望这对您有所帮助。 再见 尼克

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 2020-09-16
      相关资源
      最近更新 更多