Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best language in which to write an expert system? [closed]

Is LISP or something like Jess the best choice? I'm interested in writing a program that makes a suggestion based on users' answers. Computational considerations are not really a factor this is pretty much a pattern matching engine. Also I would like to make an app for this and put it up on the web.

UPDATE: I would like to put this up on a blog or website and let people use it from there. I guess my question then is there a particular inference engine that works with the .NET family, or PHP, or something to that effect? What are some of the pros and cons of each options etc.

like image 952
ihtkwot Avatar asked Aug 01 '10 16:08

ihtkwot


1 Answers

Step 1. Pick an inference engine. There are many choices. Here's a list: http://en.wikipedia.org/wiki/Expert_system#Shells_or_Inference_Engine

Step 2. Use the language that interfaces with the inference engine.

You'll be much happier leveraging an inference engine for expert systems work.


I would like to put this up on a blog or website and let people use it from there

Trivial.

is there a particular inference engine that works with the .NET family, or PHP, or something to that effect?

Doesn't matter.

Here's the confusion. Your "web site" and your "inference application" have NOTHING to do with each other. Nothing.

Your web site can be done in any tool set you can find. It doesn't matter.

Your inference application can be done in any tool set you can find. It doesn't matter.

Your web site will invoke the inference application through any API that makes sense. The lowest common denominator in API's (the reason that none of these choices matter) is to do this.

  1. Write your inference application as a stand-alone command line tool.

  2. Write your web application to run the stand-alone tool, collect the output and turn the output into an HTML page.

Note that this multi-porocess implementation may be faster and make better use of multi-core processors. It forces the OS to manage the web server (Apache HTTPD, for example), the web application and the expert system as potentially three, separate, parallel processes.

like image 186
S.Lott Avatar answered Sep 20 '22 12:09

S.Lott