Questions tagged [clips]

CLIPS is an acronym for C Language Integrated Production System, rules-based programming framework designed for building expert systems.

CLIPS is an acronym for C Language Integrated Production System.

It is a rules-based programming framework designed for building expert systems. Its programming language COOL is similar to LISP and allows object-oriented as well as procedural programming. CLIPS itself is written in C and can be embedded in programs of other languages.

CLIPS core is a forward-chaining inference engine based on the Rete algorithm designed by Dr. Charles L. Forgy of Carnegie Mellon University.

It was developed starting 1985 at NASA to replace the existing LISP based expert system building tool ART*Inference and released into the public domain in the 1990s.

The original name of CLIPS was NASA's AI Language(NAIL).
Links:
CLIPS Web Site
CLIPS source forge

733 questions
2
votes
3 answers

CLIPS vs NN to create a chatbot

I am introduced to CLIPS for the first time and trying to understand if it is a better way to implement a chat bot. From what I understand till now, it is widely used to create expert systems and is entirely rule based. I have tried using NN to…
greenlantern
  • 374
  • 1
  • 3
  • 15
2
votes
1 answer

How to programmatically define a rule in clipspy?

Just installed clipspy on Fedora 26. I can assert simple facts like so: >>> from clips import Environment >>> env = Environment() >>> env.assert_string('(a)') ImpliedFact: f-1 (a) How do I programmatically define a rule please? I can't find any…
2
votes
1 answer

loading clips construct with clipspy

Just installed clipspy on a windows-10 64bit; and testing in a Jupyter notebook I have; from clips import Environment, Symbol import os env = Environment env.load('D:\\Documents\\Clips\\clipspy\\Tree_Solve_Learn.clp') And get this…
drmatrix
  • 23
  • 5
2
votes
1 answer

CLIPS callback when fact loses support

I've embedded CLIPS in another program and am using it mostly as an inference engine. My rule conditions use the logical keyword so that any facts that are asserted as a rule's action become automatically retracted when the rule becomes unsupported…
dropkick
  • 65
  • 5
2
votes
1 answer

Rete network without beta network?

I'm trying to draw a Rete network for a sample rule which has no binding between variables in different patterns. I know that beta network is used to make sure that the bended variable in different patterns are consistent. (defrule R1 (type1 c1…
Salahuddin
  • 1,617
  • 3
  • 23
  • 37
2
votes
1 answer

How is a rule in CLIPS mathematically defined?

I am trying to understand the mathematical concepts behind CLIPS programming language and I am not sure how is a rule in CLIPS mathematically defined ? Is it a set ? Does the order of the set matters? Is there any place where I can read more about…
Jon Lary
  • 21
  • 2
2
votes
1 answer

How can I compare a variable that is passed to a function with a string in CLIPS?

When I tried to compare a variable with a string, it gives me an error. I tried to compare it with (= ?a "s"). This is the full code example that produces the error: (deffunction cierto (?a) (if (= ?a "s") then (printout t TRUE crlf) …
endikap100
  • 108
  • 7
2
votes
1 answer

CLIPS LHS match multislot

I wrote this rule for an expert system : (defrule wild chicory (attribute (name habitat) (value sea montain grassland unknown)) => (assert (plant "Cichorium_Intybus")) ) However I don't want the habitat's value to match all…
2
votes
1 answer

How to get the field data of a CLIPS fact using the Java API?

Suppose I have some plain CLIPS facts (no slots): (deffacts happyFacts (happy Peter) (happy Alex) (happy Mary)) Using the Java API (CLIPSJNI), I can retrieve these facts as follows: MultifieldValue mv = (MultifieldValue) clips.eval("(find-all-facts…
Petru Dimitriu
  • 365
  • 1
  • 5
  • 14
2
votes
1 answer

I have integrated CLIPS with VC++(MFC), why there are some function does't execute,such as "strcmp"

I used the CLIPS6.30 version, and the way that I embeded the CLIPS into VC++ was just like the wrappedDLLExample shown in "advance.doc" (using CLIPSWind32.lib and CLIPSWin32CPP.lib). When I write a class myCLIPSCPPRouter, I need to compare the…
2
votes
1 answer

How do I have a program in CLIPS assert user input without having the user type assert(whatever))

I am trying to get it so a person using the CLIPS terminal can simply enter this: The plant is yellow in color. As opposed to this, (assert(templatename(slotname "The plant is yellow in color."))) . Basically, I want the user to simply enter the…
cluemein
  • 884
  • 13
  • 27
2
votes
1 answer

Conflict resolution step fires two rules in CLIPS

From what I understand in "matching" step several rules might get "enabled" because their conditions are satisfied by the facts in WM. However I thought in conflict resolution step only one of the rules in agenda will be fired. Now I have a program…
wmac
  • 1,023
  • 1
  • 16
  • 34
2
votes
1 answer

When embedding CLIPS into C Language, what function can used to modify the fact from C program

I have embedded CLIPS into C Language program, I want to modify the facts for example change a certain slot value, which function can I use from C language Program. Otherwise I have to clean all the facts and assert new facts to implement my…
MA Shenjun
  • 37
  • 8
2
votes
2 answers

How to deploy clips expert system on the web using jsp

I finished reading a book on clips expert system shell before I heard about Jess. I'm trying to implement a web based expert system. I've written the code on clips, but the program has to run from the command line, however I would like to implement…
2
votes
1 answer

CLIPS Programming Language.Error removing clips.help me

What error problem? ERROR-1: [ARGACCES5]function >= expected argument #2 to be of type integer or float. ERROR-2: [CSTRCPSR1] expected the begining of a contrust. How to fix this error?
1 2
3
48 49