我正在研究梳子方法,以减少模糊逻辑规则的“组合爆炸”。有一个例子,取自“Programming Game AI from example”(由 Mat Buckland 编写):
Combs 方法背后的理论基于以下规则:
如果 Target_Far 和 Ammo_Loads THEN 是可取的
逻辑上等价于: IF Target_Far THEN Desirable OR IF Ammo_Loads THEN Desirable
使用此原则,可以定义一个规则库,其中每个后续成员集仅包含一个规则。例如,之前给出的火箭发射器可取性的九个规则:
规则 1. IF Target_Far AND Ammo_Loads THEN Desirable
规则 2. IF Target_Far AND Ammo_Okay THEN Undesirable
规则 3. IF Target_Far AND Ammo_Low THEN Undesirable
规则 4. 如果 Target_Medium AND Ammo_Loads THEN VeryDesirable
规则 5. 如果 Target_Medium AND Ammo_Okay THEN VeryDesirable
规则 6. IF Target_Medium AND Ammo_Low THEN Desirable
规则 7. 如果 Target_Close AND Ammo_Loads THEN Undesirable
规则 8. IF Target_Close AND Ammo_Okay THEN Undesirable
规则 9. IF Target_Close AND Ammo_Low THEN Undesirable
可以简化为六个规则:
规则 1. IF Target_Close THEN Undesirable
规则 2. IF Target_Medium THEN VeryDesirable
规则 3. IF Target_Far THEN Undesirable
规则 4. IF Ammo_Low THEN Undesirable
规则 5. IF Ammo_Okay THEN Desirable
规则 6. IF Ammo_Loads THEN VeryDesirable
我不明白他是如何减少这些规则的!我将每个起始规则分成两部分(应用开头 A 和 B => C 中所写的原则相当于 A => C OR B => C)。现在是否有一个模式可以遵循,或者最后的 6 条规则独立于开始的 9 条规则?