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?
Introduction. Rule-based systems (also known as production systems or expert systems) are the simplest form of artificial intelligence.
It represents the logic of the system. The rules are mainly represented in the if-then form. It contains mainly two parts, condition, and action. The rule is also known as production.
A rules engine is a good fit for logic that changes often and is highly complex, involving numerous levels of logic. Rules engines are typically part of a Business Rules Management System (BRMS) that provide extensive capabilities to manage the complexity.
A rule-based system requires the original knowledge (species descriptions) to be structured into rules, whereas a frame-based system can store the generic and specific descriptions in a series of frames.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With