Path: utzoo!mnetor!uunet!seismo!sundc!rlgvax!bdmrrr!shprentz From: shprentz@bdmrrr.bdm.com (Joel Shprentz) Newsgroups: comp.ai Subject: Re: Every heard of KLIPS ??? Message-ID: <964@bdmrrr.bdm.com> Date: 16 Mar 88 03:45:28 GMT References: <31922@gt-cmmsr.GATECH.EDU> Organization: BDM Corp., McLean, Virginia Lines: 82 Summary: Clips is NASA's C implementation of OPS5 In article <31922@gt-cmmsr.GATECH.EDU>, rr@gt-cmmsr.GATECH.EDU (Richard Robison) writes: > A professor here is interested in a program called KLIPS. He was very vague > about what it was, but did say that it was some kind of AI application. Any > help locating this program would be very helpful. Thanks. HOW TO GET CLIPS Clips is available as program #MSC-21208 from COSMIC, NASA's software distribution center at the University of Georgia. Their address is: COSMIC The University of Georgia 382 East Broad Street Athens, Georgia 30602 Phone: (404) 542 3265 Telex: 490 999 1619 We received Clips on six IBM-PC floppy disks. Other formats are available. The disks included the C source code, PC executables, utility programs, and some examples. The C source code is portable; we compiled it on a Sun workstation. CLIPS VS. OPS5 Clips (C Language Integrated Production System) is similar to OPS5. OPS5 skills are directly transferable to Clips. Clips rules, like OPS5 rules, are compiled into a network for efficient matching with the Rete algorithm. This algorithm is inherently forward chaining. One noticeable difference between OPS5 and Clips is that OPS5 tags values in working memory elements but Clips does not. For example, an OPS5 memory element may be (Person ^name Smith ^age 23 ^eyes blue) Because the OPS5 values are tagged, they may be reordered without changing their meaning: (Person ^age 23 ^name Smith ^eyes blue) When matching OPS5 patterns, partial working memory elements may be specified. This pattern selects people with blue eyes: (Person ^eyes blue) Clips uses the value's position within the memory element to associate it with some meaning. The Clips version of the same person is (Person Smith 23 blue) To match blue eyed people with Clips, wildcards must match values that don't matter: (Person ? ? blue) The value tagging difference makes Clips program development more error prone than OPS5 development. THE C INTERFACE Clips can interface to C programs in three ways. First, Clips rules can call C functions. This is great for complex calculations and user interfaces. The C functions must be listed in a table compiled into Clips. Second, C programs may call the Clips inference engine to do logical processing. The Clips system is embedded within a C program. Third, Clips provides C functions to assert information, define rules, etc. The standard clips user environment simply provides interactive access to these functions. Clips may also be interfaced with languages other than C. Examples show how to interface to Ada and FORTRAN. -- Joel Shprentz Phone: (703) 848-7305 BDM Corporation Uucp: {rutgers,vrdxhq,rlgvax}!bdmrrr!shprentz 7915 Jones Branch Drive Internet: shprentz@bdmrrr.bdm.com McLean, Virginia 22102