我必须实现一个调查问卷引擎,其中对单个问题的每个答案可能会得到完全不同的结果。
所以,如果我们有10个问题,每个问题有10个答案,我们就会得到10个可能性的10次方。
我想这应该是一个脚本化的人工智能……
那么,对于这样的问题,我应该使用哪种规则引擎或实现方法呢?
我猜这种算法有点太简单了吧?
if (x==1)
if (y==1)
{
if (z==1 || z==2)
// do sth
if (z==3)
// do sth different
}谢谢你在这方面的建议。
发布于 2011-01-17 07:13:36
有一些库可以用来实现这种形式的“规则引擎”。
例如,Windows Workflow Foundation允许通过FlowDecision activities和其他相关类确定基本规则。
其他替代方案是规则引擎,例如Drools.Net。
也就是说,对于像上面这样的简单例程,我建议尝试重构你的算法,以避免许多标准。通过将其放入多个方法中,您可以创建一系列更容易遵循的干净条件。
https://stackoverflow.com/questions/4708712
复制相似问题