CLIPS v6.1

Johnny Andres Zerna Benitez

   10º “A” INFORMATICA
Introduccion
• CLIPS: C Language Integrated Production System
Programado en C
• Comunicación con otros lenguajes: C y Ada
 Similitudes con LISP y C
• Desarrollado por Software Technology Branch
   (STB) NASA desde 1986
• Combina elementos de los paradigmas de
   lenguajes declarativos,
• funcionales y orientados a objetos
Interprete de comandos.
• $ clips
• $ clips -f nombrefichero, nombrefichero fichero con
   comandos CLIPS
• Recomendación: Utilizar emacs o xemacs, hacer dos
   buffers en uno tener
el fichero .clp y en el otro abrir un shell con clips
• Cuando aparece el prompt CLIPS > introducir comandos
   para evaluar
• Distingue entre mayúsculas y minúsculas
• Clips tiene muchos comandos implementados: (load
   nombrefichero),(reset), (run), (clear)
Expresiones
• La sintaxis de las expresiones es prefija
• Una expresión es una serie de campos delimitados por
   paréntesis
• Ejemplo: (+ 1 (* 2 3))
• En modo interactivo CLIPS evalúa las expresiones:
CLIPS > (+ 1 2 (* 3 4 ))
15
CLIPS >
• Algunas funciones y operadores matemáticos
   disponibles:
+ - / * mod div sqrt round integer
Tipos de datos
• NUMBER
- INTEGER
- FLOAT
• STRING. Ejemplo: ”Esto es un string”
- Para incluir comillas en una cadena hay que usar ”
- Para incluir  en una cadena hay que usar 
• SYMBOL. Ejemplo: luis, luis-gil,
• EXTERNAL-ADDRESS
• FACT-ADDRESS
• INSTANCE-NAME
• INSTANCE-ADDRESS
Hechos
Facts
• Elementos básicos de conocimiento
• Pueden tener un campo o varios. El primer campo suele
   representar una relación entre los restantes:
(hola)
(alumnos Juan Pedro Luis)
(edad 14)
(color silla verde)
• Campos sin valor: nil. Ej. (color silla nil)
• Ordenados y no ordenados (plantillas o templates)
• A cada hecho CLIPS asigna automáticamente un
   identificador único
(fact-index). Por ejemplo f-10
Comandos sobre hechos
• (facts) : Para ver el contenido de la base de hechos (fact-list)
• (assert hecho) : Para a˜nadir hechos a la base de hechos
• (retract indice-hecho) : Para eliminar hechos de la base de hechos
• (reset) : Elimina todos los hechos de la memoria de trabajo,
    eliminalas
activaciones de la agenda y restaura las condiciones iniciales:
- A˜nade initial-fact e initial-object
- A˜nade los hechos y ejemplares iniciales, definidos con deffacts y
definstances
- A˜nade las variables globales con su valor inicial
• (clear) : Elimina todos los hechos y construcciones de la memoria de
    trabajo
Comandos sobre hechos
• deffacts: Para definir los hechos iniciales
Los hechos iniciales se añaden a la base al hacer (reset)
- CLIPS > (deffacts padres ”padres iniciales”
(padre-de Luis Antonio)
(padre-de Luis Maria)
(padre-de Antonio Juan))
- CLIPS > (reset)
- CLIPS > (facts)
f-0 (initial-fact)
f-1 (padre-de Luis Antonio)
f-2 (padre-de Luis Maria)
f-3 (padre-de Antonio Juan)
Comandos sobre hechos
• (facts) : Para ver el contenido de la base de hechos (fact-list)
• (assert hecho) : Para añadir hechos a la base de hechos
• (retract indice-hecho) : Para eliminar hechos de la base de hechos
• (reset) : Elimina todos los hechos de la memoria de trabajo, elimina
    las activaciones de la agenda y restaura las condiciones iniciales:
- Añade initial-fact e initial-object
- Añade los hechos y ejemplares iniciales, definidos con deffacts y
definstances
- Añade las variables globales con su valor inicial
• (clear) : Elimina todos los hechos y construcciones de la memoria de
    trabajo
Hechos iniciales
• deffacts: Para definir los hechos iniciales
Los hechos iniciales se a˜naden a la base al hacer (reset)
- CLIPS > (deffacts padres ”padres iniciales”
(padre-de Luis Antonio)
(padre-de Luis Maria)
(padre-de Antonio Juan))
- CLIPS > (reset)
- CLIPS > (facts)
f-0 (initial-fact)
f-1 (padre-de Luis Antonio)
f-2 (padre-de Luis Maria)
f-3 (padre-de Antonio Juan)

Clips v6

  • 1.
    CLIPS v6.1 Johnny AndresZerna Benitez 10º “A” INFORMATICA
  • 2.
    Introduccion • CLIPS: CLanguage Integrated Production System Programado en C • Comunicación con otros lenguajes: C y Ada Similitudes con LISP y C • Desarrollado por Software Technology Branch (STB) NASA desde 1986 • Combina elementos de los paradigmas de lenguajes declarativos, • funcionales y orientados a objetos
  • 3.
    Interprete de comandos. •$ clips • $ clips -f nombrefichero, nombrefichero fichero con comandos CLIPS • Recomendación: Utilizar emacs o xemacs, hacer dos buffers en uno tener el fichero .clp y en el otro abrir un shell con clips • Cuando aparece el prompt CLIPS > introducir comandos para evaluar • Distingue entre mayúsculas y minúsculas • Clips tiene muchos comandos implementados: (load nombrefichero),(reset), (run), (clear)
  • 4.
    Expresiones • La sintaxisde las expresiones es prefija • Una expresión es una serie de campos delimitados por paréntesis • Ejemplo: (+ 1 (* 2 3)) • En modo interactivo CLIPS evalúa las expresiones: CLIPS > (+ 1 2 (* 3 4 )) 15 CLIPS > • Algunas funciones y operadores matemáticos disponibles: + - / * mod div sqrt round integer
  • 5.
    Tipos de datos •NUMBER - INTEGER - FLOAT • STRING. Ejemplo: ”Esto es un string” - Para incluir comillas en una cadena hay que usar ” - Para incluir en una cadena hay que usar • SYMBOL. Ejemplo: luis, luis-gil, • EXTERNAL-ADDRESS • FACT-ADDRESS • INSTANCE-NAME • INSTANCE-ADDRESS
  • 6.
    Hechos Facts • Elementos básicosde conocimiento • Pueden tener un campo o varios. El primer campo suele representar una relación entre los restantes: (hola) (alumnos Juan Pedro Luis) (edad 14) (color silla verde) • Campos sin valor: nil. Ej. (color silla nil) • Ordenados y no ordenados (plantillas o templates) • A cada hecho CLIPS asigna automáticamente un identificador único (fact-index). Por ejemplo f-10
  • 7.
    Comandos sobre hechos •(facts) : Para ver el contenido de la base de hechos (fact-list) • (assert hecho) : Para a˜nadir hechos a la base de hechos • (retract indice-hecho) : Para eliminar hechos de la base de hechos • (reset) : Elimina todos los hechos de la memoria de trabajo, eliminalas activaciones de la agenda y restaura las condiciones iniciales: - A˜nade initial-fact e initial-object - A˜nade los hechos y ejemplares iniciales, definidos con deffacts y definstances - A˜nade las variables globales con su valor inicial • (clear) : Elimina todos los hechos y construcciones de la memoria de trabajo
  • 8.
    Comandos sobre hechos •deffacts: Para definir los hechos iniciales Los hechos iniciales se añaden a la base al hacer (reset) - CLIPS > (deffacts padres ”padres iniciales” (padre-de Luis Antonio) (padre-de Luis Maria) (padre-de Antonio Juan)) - CLIPS > (reset) - CLIPS > (facts) f-0 (initial-fact) f-1 (padre-de Luis Antonio) f-2 (padre-de Luis Maria) f-3 (padre-de Antonio Juan)
  • 9.
    Comandos sobre hechos •(facts) : Para ver el contenido de la base de hechos (fact-list) • (assert hecho) : Para añadir hechos a la base de hechos • (retract indice-hecho) : Para eliminar hechos de la base de hechos • (reset) : Elimina todos los hechos de la memoria de trabajo, elimina las activaciones de la agenda y restaura las condiciones iniciales: - Añade initial-fact e initial-object - Añade los hechos y ejemplares iniciales, definidos con deffacts y definstances - Añade las variables globales con su valor inicial • (clear) : Elimina todos los hechos y construcciones de la memoria de trabajo
  • 10.
    Hechos iniciales • deffacts:Para definir los hechos iniciales Los hechos iniciales se a˜naden a la base al hacer (reset) - CLIPS > (deffacts padres ”padres iniciales” (padre-de Luis Antonio) (padre-de Luis Maria) (padre-de Antonio Juan)) - CLIPS > (reset) - CLIPS > (facts) f-0 (initial-fact) f-1 (padre-de Luis Antonio) f-2 (padre-de Luis Maria) f-3 (padre-de Antonio Juan)