how to create Meta-rules and/or meta-interpreter for an Expert System with Swi-Prolog
Asked Answered
N

1

0

I wanna create an expert system with meta-interpreter with SWI-Prolog... what is the best and the easier way to make it? which is the procedure to make it?

Newsletter answered 12/11, 2010 at 14:36 Comment(2)
Take a look a this: Amzi. And Clips is not Prolog at all; but well worth looking at.Hildegaard
Can you be a little more specific?Anaerobe
B
3

Many of the meta-interpreters for expert systems are based on the so called vanilla interpreter. This is an interpreter for Prolog without cut and without built-ins. it reads as follows:

solve(true) :- !.
solve((A,B)) :- !, solve(A), solve(B).
solve(H) :- clause(H,B), solve(B).

You can readily use it to solve the following knowledge base and query. In some Prolog systems, the more ISO compatible ones, you need to mark the predicates dynamic, so that clause/2 can find them:

pet(dog):- size(medium), noise(woof).
pet(cat):- size(medium), noise(meow).
pet(mouse):- size(small), noise(squeak).
size(medium).
noise(meow).

?- solve(pet(X)).
X=cat

Starting from the vanilla interpreter you can add various expert system like features:

  • Knowledge Acquisition
  • Explanations
  • Certainty Factors
  • Forward Chaining
  • Frame Representations
  • Etc...

Bye

P.S.: The following book shows how: http://www.amzi.com/ExpertSystemsInProlog/

Broadnax answered 14/11, 2010 at 8:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.