Sistemas Expertos
            Resumen Prolog



Andrade Zambrano David Alejandro

        10 A Informática
Paradigma de la programación basada en reglas

Los hechos son las pieza básica de información , mientras que las reglas describen el
comportamiento del programa en función de los hechos existentes.

Ejemplo de una regla: <Condiciones> => <Acciones>

Las condiciones pueden darse por la: Existencia de cierta información, Ausencia de
cierta información y Relación entre datos; mientras que las acciones pueden Incluir
nueva información, Eliminar información o Mostrar información en Pantalla.

Estructura de una hecho: (<símbolo><datos>*)

1. Ej.: (conjunto a b 1 2 3)
2. (1 2 3 4) no es un hecho valido.

La acción de añadir hechos: (assert <hecho>*)

Hechos iniciales: (deffacts <nombre><hecho>*)
Definición de reglas

Estructura de una regla
(defrule <nombre><condición>*=><acción>*)

<condición> := <hecho>

Ej.:
(defrule mamifero-1 (tiene-pelos)=>(assert (es-mamífero)))

                           Cargar el contenido de un archivo

Se utiliza la siguiente metodología: (load <archivo>)

                                         Trazas
Hechos añadidos y eliminados: (watch facts)
Activación y desactivación de reglas: (watch activations)
Utilización de reglas: (watch rules).
Inicialización: (reset)
Ejecución: (run)
Limpiar base de conocimiento: (clear)
Ayuda del Sistema: (help)
Ejemplo de base de conocimiento

(deffacts hechos-iniciales
(tiene-pelos)
(tiene-pezuñas)
(tiene-rayas-negras))

(defrule mamifero-1
(tiene-pelos)
=>
(assert (es-mamífero)))

(defrule mamifero-2
(da-leche)
=>
(assert (es-mamífero)))

(defrule ungulado-1
(es-mamífero)
(tiene-pezuñas)
=>
(assert (es-ungulado)))
El modelo de ejecución en           Estructura de una plantilla :
               CLIPS

1. Base de hechos                  (deftemplate <nombre><campo>*)
2. Base de reglas
3. Activación de reglas y agenda   <campo> := (slot <nombre-campo>)
4. Disparo de reglas
                                   Ej.:

                                   (deftemplate persona
                                   (slot nombre)
                                   (slot ojos))

                                            Variables: ?x, ?y, ?gv32

                                   Toman un valor simple
Restricciones:

Son condiciones sobre las variables que se comprueban en el momento de velicar las
condiciones de una regla.


                             Algunos tipos de restricciones:

Negativas:   (dato ?x&~a)

Disyuntivas: (dato ?x&a|b)

Conjuntivas: (dato ?x&~a&~b)


                   La acción de presentar información en pantalla:

(printout t <dato>*)

Resumen 16 primeras clips

  • 1.
    Sistemas Expertos Resumen Prolog Andrade Zambrano David Alejandro 10 A Informática
  • 2.
    Paradigma de laprogramación basada en reglas Los hechos son las pieza básica de información , mientras que las reglas describen el comportamiento del programa en función de los hechos existentes. Ejemplo de una regla: <Condiciones> => <Acciones> Las condiciones pueden darse por la: Existencia de cierta información, Ausencia de cierta información y Relación entre datos; mientras que las acciones pueden Incluir nueva información, Eliminar información o Mostrar información en Pantalla. Estructura de una hecho: (<símbolo><datos>*) 1. Ej.: (conjunto a b 1 2 3) 2. (1 2 3 4) no es un hecho valido. La acción de añadir hechos: (assert <hecho>*) Hechos iniciales: (deffacts <nombre><hecho>*)
  • 3.
    Definición de reglas Estructurade una regla (defrule <nombre><condición>*=><acción>*) <condición> := <hecho> Ej.: (defrule mamifero-1 (tiene-pelos)=>(assert (es-mamífero))) Cargar el contenido de un archivo Se utiliza la siguiente metodología: (load <archivo>) Trazas Hechos añadidos y eliminados: (watch facts) Activación y desactivación de reglas: (watch activations) Utilización de reglas: (watch rules). Inicialización: (reset) Ejecución: (run) Limpiar base de conocimiento: (clear) Ayuda del Sistema: (help)
  • 4.
    Ejemplo de basede conocimiento (deffacts hechos-iniciales (tiene-pelos) (tiene-pezuñas) (tiene-rayas-negras)) (defrule mamifero-1 (tiene-pelos) => (assert (es-mamífero))) (defrule mamifero-2 (da-leche) => (assert (es-mamífero))) (defrule ungulado-1 (es-mamífero) (tiene-pezuñas) => (assert (es-ungulado)))
  • 5.
    El modelo deejecución en Estructura de una plantilla : CLIPS 1. Base de hechos (deftemplate <nombre><campo>*) 2. Base de reglas 3. Activación de reglas y agenda <campo> := (slot <nombre-campo>) 4. Disparo de reglas Ej.: (deftemplate persona (slot nombre) (slot ojos)) Variables: ?x, ?y, ?gv32 Toman un valor simple
  • 6.
    Restricciones: Son condiciones sobrelas variables que se comprueban en el momento de velicar las condiciones de una regla. Algunos tipos de restricciones: Negativas: (dato ?x&~a) Disyuntivas: (dato ?x&a|b) Conjuntivas: (dato ?x&~a&~b) La acción de presentar información en pantalla: (printout t <dato>*)