CLIPS es una herramienta de software de dominio público para crear sistemas expertos . El nombre es un acrónimo de "C Language Integrated Production System". La sintaxis y el nombre fueron inspirados por Charles Forgy 's OPS5 . Las primeras versiones de CLIPS se desarrollaron a partir de 1985 en la NASA - Johnson Space Center (como una alternativa al sistema existente ART * Inference) hasta mediados de la década de 1990, cuando las responsabilidades del grupo de desarrollo dejaron de centrarse en la tecnología de sistemas expertos. El nombre original del proyecto era AI Language ( NAIL ) de la NASA .
Paradigma | sistemas expertos |
---|---|
Apareció por primera vez | 1985 |
Sitio web | http://www.clipsrules.net/ |
CLIPS es probablemente la herramienta de sistema experto más utilizada. [1] CLIPS en sí está escrito en C , las extensiones se pueden escribir en C y CLIPS se pueden llamar desde C. Su sintaxis se parece a la del lenguaje de programación Lisp . [2]
CLIPS incorpora un completo lenguaje orientado a objetos para escribir sistemas expertos. COOL combina los paradigmas de programación de los lenguajes procedimentales, orientados a objetos y lógicos (demostración de teoremas). [3]
Hechos y reglas
CLIPS utiliza el encadenamiento directo . [4] [2] Al igual que otros lenguajes de sistemas expertos, CLIPS se ocupa de reglas y hechos. Varios hechos pueden hacer que una regla sea aplicable. Luego se dispara una regla aplicable. [4] Los hechos y las reglas se crean definiéndolos primero, como se muestra a continuación:
( deftemplate car_problem ( nombre de la ranura ) ( estado de la ranura )) (por defecto, solución de problemas ( car_problem ( nombre de la llave de encendido ) ( estado encendido )) ( car_problem ( nombre del motor ) ( estado no arrancará )) ( car_problem ( nombre de los faros ) ( estado de trabajo ))) ( Defrule rule1 ( car_problem ( nombre ignition_key ) ( el estado de )) ( car_problem ( nombre del motor ) ( estado wont_start )) => ( assert ( car_problem ( nombre de arranque ) ( estado defectuoso ))))
Una vez configurado esto, el comando (reset) hace que CLIPS lea los hechos y las reglas. En este caso, eso llevaría a afirmar los tres hechos de "resolución de problemas". Entonces se usa el comando (ejecutar). Dado que los dos hechos enumerados en la regla 1 se han afirmado, se han cumplido las condiciones para realizar su acción, por lo que el hecho adicional se afirma como resultado de la ejecución.
CLIPS> ( reiniciar ) CLIPS> ( agenda ) 0 regla1: f-1, f-2 Para un total de 1 activación. CLIPS> ( hechos ) f-0 ( hecho inicial ) f-1 ( auto_problem ( nombre ignition_key ) ( estado encendido )) f-2 ( auto_problem ( nombre motor ) ( estado no arrancará )) f-3 ( auto_problem ( nombre faros ) ( trabajo de estado )) Para un total de 4 hechos. CLIPS> ( ejecutar ) CLIPS> ( hechos ) f-0 ( hecho inicial ) f-1 ( auto_problem ( nombre ignition_key ) ( estado encendido )) f-2 ( auto_problem ( nombre motor ) ( estado wont_start )) f-3 ( car_problem ( nombre de los faros delanteros ) ( estado del trabajo )) f-4 ( car_problem ( nombre del motor de arranque ) ( estado defectuoso )) Para un total de 5 hechos. CLIPS> ( aserción + ) ( Assert ( objeto ( nombre de "silla" ) ( Material de madera ) ( altura de 3 pies ) ( color marrón )) VIDEOS ( retracción ) ( retracción 0 ) para un color de
En CLIPS, la prominencia permite al usuario asignar prioridad (o peso) a una regla.
Descendientes
Los descendientes del lenguaje CLIPS incluyen Jess (parte de CLIPS basada en reglas reescrita en Java , luego creció en una dirección diferente), [5] y FuzzyCLIPS (que agrega el concepto de relevancia al lenguaje).
Ver también
Referencias
- ↑ Di Stefano, Antonella; Gangemi, Francesc; Santoro, Corrado (2005). ERESYE: inteligencia artificial en programas Erlang . Actas del taller ACM SIGPLAN 2005 sobre Erlang. Tallin, Estonia: ACM. págs. 62–71. doi : 10.1145 / 1088361.1088373 . ISBN 1-59593-066-3.
- ^ a b Giarratano, Joseph C; Riley, Gary D (2005). Sistemas expertos: principios y programación . Boston: Thomson. ISBN 81-315-0167-1.
- ^ Riley, Gary (30 de noviembre de 2017). Manual de referencia de CLIPS: Volumen 1 - Guía básica de programación (PDF) . Consultado el 9 de julio de 2019 .
- ^ a b Sandeep, K; Rakesh, K (2011), "Sistema de apoyo a la toma de decisiones basado en CLIPS para redes de distribución de agua", Drinking Water Engineering and Science , 4 (1): 37–50, doi : 10.5194 / dwes-4-37-2011
- ^ Goyal, R; Jayasudha, T; Pandey, P; Devi, R. D; Rebecca, A; Sarma, M, M; Lakshmi, B (2014), "Sistema basado en el conocimiento para la selección de productos de datos satelitales" , Archivos internacionales de fotogrametría, teledetección e información espacial , 40 (8): 1233–1236 "JESS se inspiró originalmente en el shell del sistema experto CLIPS, pero ha crecido hasta convertirse en un entorno propio, completo y diferente, influenciado por Java".