题
我需要做的编写应该拿起最好的移动电话运营商帮助用户的专家系统。它应该基于语言/ libaries如CLISP或JESS很简单,没有。所以,我需要这一切从头开始写。
你知道一些书籍或在线教程,说明如何可以做到这一点? 我真的需要知道的是如何表示的知识和事实。
任何帮助,将不胜感激。
解决方案
如果你得到任何有关禽流感的好文章的,会有专家系统的部分;你可以,如果强行从那里工作了,并实现自己的。
其基本思想是真的很简单:你的规则的集合中的“如果 - 那么”形式表示的推论,或4的影响。像,例如:
IF blood temperature > 41°C
THEN patient.has-fever := TRUE
IF patient has wet-sounding breathing
THEN patient.has-pneumonia
IF patient.has-fever AND patient.has-pneumonia
THEN CONCLUDE bacterial pneumonia. ACTION prescribe Augmentin
在换句话说,你有一堆的规则,直到你得到一个结论,你评估的规则。还有很多更是(向前或向后chaing和那种事),你可以在thed相当不错的维基百科一文。
我纳闷你为什么不能使用现有的规则引擎,但 - 有一些人,对于大多数语言,通常是在非常宽松的许可证。这真的是一个更简单的路线,除非这是一个家庭作业问题,或者什么的。
其他提示
Prolog是很适合于编写基于规则的系统(一个相当标准的方法来专家系统开发)。 P#编译成C#,这可能满足您的需求 - 而且它是免费的。
更多信息的P上#。
在基础原理和数学证明,对于 PROLOG 语言,会帮助你理解大多数的概念,你将需要解决,如果不能提供你需要使用来实现其最终的语言。
我无法找到一个链接到原始的实现,但它不会帮助你多少反正。阿莱恩·科尔默劳尔对逻辑编程早期工作应该是有益的。
[编辑]对不起,重复...
我将投给的Prolog或CLIPS的一些实施方式中,根据是否向后或向前链接逻辑最适合的问题。而不是重新实现其中任意一个,花时间工作如何将它们与您的环境集成。
杰西是一个不错的选择,但你应该读的书“杰西卡在行动”的第一步。
不隶属于 StackOverflow