stringtranslate.com

CLIPS

CLIPS ( Sistema de producción integrado en lenguaje C ) es una herramienta de software de dominio público para crear sistemas expertos . La sintaxis y el nombre se inspiraron en OPS5 de Charles Forgy . Las primeras versiones de CLIPS se desarrollaron a partir de 1985 en el Centro Espacial Johnson de la NASA (como alternativa al sistema ART*Inference existente) hasta 1996, 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.

En 2005, CLIPS era probablemente la herramienta de sistemas expertos más utilizada. [1] CLIPS está escrito en C , las extensiones se pueden escribir en C y CLIPS se puede llamar desde C. Su sintaxis se asemeja a la del lenguaje de programación Lisp . [2]

CLIPS incorpora un completo lenguaje de programación orientado a objetos para escribir sistemas expertos. COOL combina los paradigmas de programación de lenguajes de programación procedimental , orientado a objetos y lógico ( demostración automatizada de teoremas ). [3]

Hechos y reglas

CLIPS utiliza 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 activa 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 ))      ( deffacts solución de problemas ( car_problem ( nombre llave_encendido ) ( estado encendido )) ( car_problem ( nombre motor ) ( estado wont_start )) ( car_problem ( nombre faros ) ( estado trabajo )))                 ( defrule regla1 ( car_problem ( nombre llave_encendido ) ( estado activado )) ( car_problem ( nombre motor ) ( estado wont_start )) => ( afirmar ( car_problem ( nombre de arranque ) ( estado defectuoso ))))                  

Una vez configurado esto, el comando (reiniciar) hace que CLIPS lea los hechos y las reglas. En este caso, eso conduciría a que se afirmaran los tres hechos de "solución de problemas". Luego se utiliza el comando (ejecutar). Dado que se han afirmado los dos hechos enumerados en la regla 1, se han cumplido las condiciones para realizar su acción, por lo que se afirma el hecho adicional como resultado de la ejecución.

CLIPS> ( restablecer ) CLIPS> ( agenda ) 0 regla1: f-1,f-2 Para un total de 1 activación. CLIPS> ( hechos ) f-0 ( hecho-inicial ) f-1 ( car_problem ( nombre llave_encendido ) ( estado encendido )) f-2 ( car_problem ( nombre motor ) ( estado wont_start )) f-3 ( car_problem ( nombre faros ) ( trabajo de estado )) Para un total de 4 hechos. CLIPS> ( ejecutar ) CLIPS> ( hechos ) f-0 ( hecho-inicial ) f-1 ( problema_automóvil ( nombre llave_ignición ) ( estado encendido )) f-2 ( problema_automóvil ( nombre motor ) ( estado no_arranque )) f-3 ( car_problem ( nombre faros ) ( estado trabajo )) f-4 ( car_problem ( nombre arranque ) ( estado defectuoso )) Para un total de 5 hechos. CLIPS> ( afirmar <fact>+ ) ( Assert ( objeto ( nombre "silla" ) ( Material madera ) ( altura 3 pies ) ( Color marrón )) CLIPS ( retract <fact-index+ ) ( retract 0 ) para un color                                                                       

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 , que luego creció en una dirección diferente), [5] y FuzzyCLIPS (que agrega el concepto de relevancia al lenguaje).

Ver también

Referencias

  1. ^ Di Stéfano, Antonella; Gangemi, Francesc; Santoro, Corrado (2005). ERESYE: inteligencia artificial en programas Erlang . Actas del taller ACM SIGPLAN de 2005 sobre Erlang. Tallin, Estonia: ACM. págs. 62–71. doi :10.1145/1088361.1088373. ISBN 1-59593-066-3.
  2. ^ ab Giarratano, Joseph C; Riley, Gary D. (2005). Sistemas expertos: principios y programación . Boston: Thomson. ISBN 81-315-0167-1.
  3. ^ Riley, Gary (30 de noviembre de 2017). Manual de referencia de CLIPS: Volumen 1 - Guía de programación básica (PDF) . Consultado el 29 de abril de 2023 .
  4. ^ ab Sandeep, K; Rakesh, K (2011). "Sistema de apoyo a la decisión basado en CLIPS para redes de distribución de agua". Ingeniería y Ciencia del Agua Potable . 4 (1): 37–50. doi : 10.5194/dwes-4-37-2011 .
  5. ^ Goyal, R; Jayasudha, T; Pandey, P; Devi, RD; Rebeca, A; Sarma, M. Manju; Lakshmi, B (2014). "Sistema basado en conocimiento para la selección de productos de datos satelitales". Archivos internacionales de fotogrametría, teledetección y ciencias de la 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 distinto, influenciado por Java".

enlaces externos