CLIPS

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

CLIPS este un acronim pentru C Language Integrated Production System, o unealtă pentru construirea sistemelor expert dezvoltată de NASA în anii 1980. Sintaxa și numele au fost inspirate de OPS (sistem de producție oficial, în engleză Official Production System) creat de Charles Forgy. Primele versiuni de CLIPS au fost dezvoltate începând cu 1984 la NASA-Johnson Space Center (ca o alternativă la sistemul existent numit ART*Inference) până la începutul anilor 1990 când subvenția a încetat din cauza problemelor bugetului Federal, și a unui ordin conform căruia NASA trebuia să cumpere software comercial în loc să-l dezvolte.

CLIPS este probabil cea mai folosită unealtă pentru sisteme expert deoarece este rapidă, eficientă și gratuită și incorporează un limbaj de programare complet orientat obiect. Cu toate că acum face parte din domeniul public, este încă actualizat și susținut de autorul original, Gary Riley.

CLIPS incorporează un limbaj de programare orientat obiect numit COOL pentru a scrie sisteme expert. Cu toate că este scris în limbajul e programare C, interfața sa seamănă foarte mult cu cea a limbajului de programare Lisp. Se pot scrie extensii în C, iar CLIPS poate fi chemat din C.

Ca și alte astfel de limbaje, CLIPS are de-a face cu reguli și fapte. În timpul rulării programelor, existența diferitelor fapte într-o bază de cunoștințe pot face ca o regulă să fie aplicabilă. O regulă aplicabilă este apoi aplicată, adăugându-se astfel noi fapte la baza de cunoștințe. Faptele și regulile sunt create prin definirea lor, cum este exemplificat mai jos:

(deffacts trouble_shooting
    (car_problem (name ignition_key) (status on))
    (car_problem (name engine) (status wont_start))
    (car_problem (name headlights) (status work))
)
(defrule rule1
    (car_problem (name ignition_key) (status on))
    (car_problem (name engine) (status wont_start))
     =>
    (assert (car_problem (name starter) (status faulty))
)

Printre descendenții limbajului de programare CLIPS se numără Jess (partea din CLIPS bazată pe reguli scrisă în Java; mai târziu a crescut în direcții diferite), ECLiPSe, Haley Eclipse, FuzzyCLIPS (care adaugă conceptul de relevanță în limbaj) și alții.

Este disponibilă o carte despre CLIPS, Expert Systems: Principles and Programming (ISBN 0534950531), deasemenea și o carte despre Jess. CLIPS conține foarte multă documentație.

Vezi și[modificare | modificare sursă]

Legături externe[modificare | modificare sursă]