Explicación del ProgramaBuscapersona.clips
Programa:
(deftemplate persona
(slot nombre)
(slot ojos))
(deffacts personas
(persona(nombre Miguel) (ojos verdes))
(persona(nombre Ana)(ojos negros))
(persona(nombre Jairo)(ojos cafes))
(persona(nombre Elizabeth)(ojos azules))
(defrule busca-personas
(persona (nombre ?nombre1)
(ojos ?ojos1&azules|verdes))
(persona(nombre ?nombre2&-?nombre1)
(ojos negros))
=>
(printout t ?nombre1
"tiene los ojos" ?ojos1 crlf)
(printout t ?nombre2 "tiene los ojos negros" crlf)
(printout t "--------------" crlf))
Explicación
Constructor deftemplate:
este constructor crea una plantilla parecido a lo que
se conoce como 'clase' en la programación
orientada a objetos., que se usa para acceder
haciendo referencia al nombre con el que se definió
a los campos (SLOTS) de un hecho no ordenado.
Sintaxis:
(deftemplate <nombre> [sentencias] <definicion-
slots*)
Atributo Slots:
Es posible restringir el tipo, valor, rango numérico y la
cordialidad (el numero mínimo y máximo que puede
tomar un slots) todas estas características ayudan en el
desarrollo y el mantenimiento de un sistema.
Constructor Deffacts:
Éste constructor permite especificar un
conjunto de hechos como conocimientos
inicial. Los hechos de las sentencias deffacts son
añadidas a la MT utilizando el comando reset.
El comando reset elimina todos los datos que
hubiera en la lista hechos actual,
y a continuación añade los hechos
correspondientes a sentencias deffects.
Constructor defrule:
el consecuente de una regla es un conjunto de acciones a
ser ejecutadas cuado
la regla es aplicable. estas acciones se ejecutan cuando el
motor de inferencia
de Clips es instruido para que comience la ejecucion de la
reglas aplicables.
una regla Clips es una identidad independiente, no es
posible el paso de datos
entre dos reglas.
Comando printout:
Sirve para imprimir en pantalla los resultados, cuando
se cumple la función lógica se puede poner una 't'
para que sea siempre cierta, se imprime en pantalla el
texto o la variable que se indique.
Programa en ejecución: