[英]What is the best language in which to write an expert system? [closed]
LISP或Jess之类的东西是最好的选择吗? 我有兴趣编写一个基于用户答案提出建议的程序。 计算方面的考虑并不是一个真正的因素,它几乎就是模式匹配引擎。 此外,我想为此制作一个应用程序并将其放在网上。
更新:我想把它放在博客或网站上,让人们从那里使用它。 我想我的问题是,是否有一个特定的推理引擎可以与.NET系列或PHP一起使用,或者那种效果? 每种选择等的优缺点有哪些?
步骤1.选择推理引擎。 有很多选择。 这是一个列表: http : //en.wikipedia.org/wiki/Expert_system#Shells_or_Inference_Engine
步骤2.使用与推理引擎连接的语言。
利用推理引擎进行专家系统工作,你会更开心。
我想把它放在博客或网站上,让人们从那里使用它
不重要的。
是否有一个特定的推理引擎,可以与.NET系列,或PHP,或其他东西一起使用?
无所谓。
这是混乱。 您的“网站”和您的“推理应用程序”没有任何关系。 没有。
您可以在任何可以找到的工具集中完成您的网站。 没关系。
您的推理应用程序可以在您可以找到的任何工具集中完成。 没关系。
您的网站将通过任何有意义的API调用推理应用程序。 API中最低的共同点(这些选择都不重要的原因)就是这样做。
将推理应用程序编写为独立的命令行工具。
编写Web应用程序以运行独立工具,收集输出并将输出转换为HTML页面。
请注意,这种多端口实现可能更快,并且可以更好地利用多核处理器。 它迫使操作系统管理Web服务器(例如Apache HTTPD),Web应用程序和专家系统,这可能是三个独立的并行进程。
你也可以看看Prolog。 SWI-Prolog( http://www.swi-prolog.org )非常完整,包含HTTP支持库( http://www.swi-prolog.org/pldoc/package/http.html )。 本文可能有助于在网络上使用SWI-Prolog(“SWI-Prolog和网络” http://dare.uva.nl/record/285350 )
并且,您可以在以下网址找到有关使用prolog构建专家系统的教程: http : //www.amzi.com/ExpertSystemsInProlog/
你会在这里听到很多主观意见,因为很少有人有过多种语言编写专家系统的经验。
我可以推荐Common Lisp,因为这种语言中有相当多的文献和现有代码,它是一种非常强大的语言,并且不难学习(阅读Peter Seibel的“Practical Common Lisp”)。 当然,任何新的高级语言都需要一些学习的努力。 对于Web应用程序,您可以使用例如Hunchentoot和CL-WHO,并且有很多数据库绑定(我喜欢Postmodern和CL-SQLite)。
我建议CLIPS及其.net端口剪辑网 http://sourceforge.net/projects/clipsnet/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.