2

我必须实现一个问卷调查引擎,其中对单个问题的每个答案都可能最终得到完全不同的结果。

所以,如果我们有 10 个问题,每个问题有 10 个答案,我们就有 10 的 10 次方可能性。

我猜这应该是一个脚本化的人工智能......

那么,对于这样的问题,我会使用什么样的规则引擎或实现方法呢?

我猜这种算法有点太简单了?

if (x==1)
  if (y==1)
  {
    if (z==1 || z==2)
      // do sth
    if (z==3)
      // do sth different
   }

感谢您对此的任何建议。

4

1 回答 1

4

有一些库可用于实现这种形式的“规则引擎”。

例如,Windows Workflow Foundation允许通过FlowDecision 活动和其他相关类来确定基本规则。

其他替代方案是规则引擎,例如Drools.Net

话虽如此,对于像上面这样的简单例程,我建议尝试重构您的算法以避免许多标准。通过将其推送到多种方法中,您可以创建一系列更容易遵循的干净条件。

于 2011-01-16T23:13:35.983 回答