Beruflich Dokumente
Kultur Dokumente
Clips es un programa para MS-Dos convertido a Windows95: esto quiere decir que el manejo del programa se basa principalmente en comandos sobre una ventana de texto; para algunos de ellos existe una contrapartida en el men principal de la aplicacin. El ejecutable es CLIPS.exe, y arranca simplemente con hacer dobleclick sobre l. No es necesario realizar ninguna accin adicional, pero es recomendable ir al men Window y visualizar las ventanas de hechos (facts) y la de agenda. Para finalizar, es necesario teclear en Clips el comando exit: CLIPS> (exit)
Una caracterstica importante es que los comandos utilizan la notacin tipo Lisp, as que ser necesario encerrarlos entre parntesis. [Volver al ndice]
Insercin de hechos
Para insertar un hecho, se utiliza el comando assert. Un hecho (fact, en ingls) para clips puede ser bastante flexible: desde una sola palabra hasta una sucesin de ellas. Vanse los siguientes ejemplos. Clips responde asignando un nmero a cada hecho.
CLIPS> (assert (foxterrier)) <fact-0> CLIPS> (assert (milu foxterrier)) <fact-1> CLIPS> (assert (intenta_asesinar marco cesar)) <fact-2>
Por supuesto, lo mejor es seguir algn tipo de esquema de notacin, para que despus los hechos sean tiles a la hora de crear reglas. Los hechos se muestran en la ventana de hechos (Window->facts), y pueden mostrarse en la pantalla principal ejecutando el comando (facts).
CLIPS> (facts) f-0 (foxterrier) f-1 (milu foxterrier) f-2 (intenta_asesinar marco cesar)
Insercin de Reglas
Las reglas se insertan en Clips mediante el comando 'Defrule', indicando primero los hechos de entrada, es decir las precondiciones, para que la regla se dispare (todas deben cumplirse), un smbolo '=>', y a continuacin, todas las acciones asociadas a esa regla.
CLIPS> (defrule gripe (malestar_general) (fiebre) (tos) => (assert (gripe)) (printout t "Tienes gripe." crlf) )
Como se puede ver, la notacin es la tpica de Lisp. No es necesario mantener este formato en la entrada: incluso podra teclearse todo en una sola lnea. En cuanto a espacios y nmero de lneas, pueden ponerse las que queramos. Utilizando notacin lgica, la regla podra escribirse como:
gripe :- malestar_general, fiebre, tos
Utilizacin de Variables
Pueden utilizarse variables, entendindose que estn cuantificadas universalmente. El uso de una variable se hace necesario en una regla:
coche(x) :- cuatro_ruedas(x), motor(x)
Se entiende que x se lee como "para todo x". sto se traduce, en una regla CLIPS, como:
CLIPS> (defrule es_coche (cuatro_ruedas ?x) (motor ?x) =>
"es_coche" es el nombre de la regla, en realidad slo sirve de referencia. De hecho, ejecutndo el comando (rules), slo nos mostrar los nombres de las reglas. [Volver al ndice]
(defrule espaol (persona ?x) (toledano ?x) => (assert (espaol ?x)) (printout t ?x " es espaol." crlf) ) CLIPS> (defrule europeo (persona ?x) (espaol ?x) => (europeo ?x) (printout t ?x " es europeo." crlf) ) CLIPS> (run)
En el anterior ejemplo, los hechos (espaol pepe) y (europeo pepe) seran aadidos a la base de hechos. [Volver al ndice]
Cuando se cumple la expresin lgica (se puede poner una "t" para que sea siempre cierta), se imprime en pantalla el texto o la variable que se indique. De existir varios argumentos, stos se separan con espacios. Finalmente, crlf cambia a una nueva lnea.
(read)
De forma que pide al usuario el elemento que falta para completar el hecho. Si el usuario introduce 'rojo', entonces el hecho introducido ser (color rojo).