Rules Engine vs Expert System
Asked Answered
M

4

20

What is the difference between a rules engine and an expert system?

Example1: Let's say that I have a program that determines the expiration date of a new driver's license. It takes inputs like visa expiration date, passport number, birthday, etc. It determines the expiration date of the driver's license from this input. It can even give an error if the input did not have enough valid identifications to allow a new driver's license.

Example2: Let's say I am making an online version of the game Monopoly. I want the ability to change the rules of the game (say $400 for passing go or no one can buy properties until they land on the same property twice, etc). I have a module in the code to handle these rules.

Are these both rules engines or are they expert systems? They both seem so similar. Is it just a synonym?

Matson answered 6/11, 2009 at 13:54 Comment(0)
W
16

The "inference engine" (what I believe you are calling the "rules engine") is part of an expert system. The other part is the "knowledge base" (your list of rules, the stuff it knows it true, that stuff it has so far figured out, etc.)

The inference engine is the part that actually uses your rules and the known facts to infer things.

In your two examples above, you are talking about expert systems. Sort of.

I'll give you a third example. GNU make is an inference engine. If given a set of build rules and dated files, it can figure out what needs to be rebuilt, but it has to be told all that stuff. Your build system that includes the makefiles, associated scripts, and make itself is an expert system.

I found a detailed explanation online here, but it is perhaps a bit too detailed for a neophyte.

Waldon answered 6/11, 2009 at 14:53 Comment(2)
thanks, I have been wondering long time about this differenceGenevagenevan
@Waldon is a expert system the only rule-based system out there? I can't find others...Isomerism
W
3

An "expert system" typically means a particular application that embodies a set of expert knowledge about a given problem domain. An expert system may or may not use a rule engine as part of its implementation.

Warmedover answered 1/5, 2010 at 6:1 Comment(0)
A
1

I think the difference is semantic and just a little bit more.

An "expert system" implies that the system includes coding for picking the expert's brains, i.e. for transforming an expert's domain knowledge into the program's internal rule set.

Take that away, and I'd say what's left is a "rule engine". Though it's also possible to build an expert system that's not based on a rule engine.

Arithmomancy answered 6/11, 2009 at 14:0 Comment(0)
H
0

This is probably old. But the terminology rules engine, is sometimes a name that is given to semantic reasoners or reasoning engines. They can be seen as an extension or a generalization of inference engines.

And as answered by T.E.D, the inference engine is only a part of an expert system, the other being the knowledge base. The knowledge base is the axioms or truths of the entire system, and the inference engine is what will take these axioms to derive new "truths".

Hungnam answered 30/10, 2014 at 16:16 Comment(4)
please link to the T.E.D talk you refer to.Uncomfortable
@MartinThoma - (Blush). Well, you see...he's talking about the accepted answer. I haven't been invited to actually give a TED talk yet, but it would be amusing.Waldon
Hhahahah, I didn't see your answer 😄😅Uncomfortable
@MartinThoma - I suppose you could say every talk I give is automatically a T.E.D. talk...Waldon

© 2022 - 2024 — McMap. All rights reserved.