EXPERS

Páginas: 13 (3217 palabras) Publicado: 26 de octubre de 2013
PróWeb: Sistema Experto

Los sistemas expertos son una de las aplicaciones clásicas de la tecnología de Prolog, y PróWeb ofrece la posibilidad de presentar este tipo de sistemas a través de Internet. Este ejemplo consiste en un shell de sistema experto simple, que cuenta con:

"Si ... entonces" reglas de producción
una pregunta y sistema de gestión de respuesta
tanto un encadenamiento haciaadelante y el motor de inferencia de encadenamiento hacia atrás
En este ejemplo se trata de adivinar la identidad de un animal, haciendo una serie de preguntas. Se ha diseñado para que tanto código como sea posible se comparte entre los dos motores de inferencia y también para permitir una fácil conversión a sólo Prolog (es decir, sin PróWeb).

El programa Prolog Subyacente

En nuestra basede conocimientos que vamos a utilizar una sintaxis cerca de Inglés-como, por ello tenemos que declarar tres nuevos operadores de Prolog:

: - Op (1190, fx, (si)).
: - Op (1180, XFX, (entonces)).
: - Op (1170, xfy, (y)).
Estos operadores nos permite escribir las reglas, tales como:

si 'animal es mamífero'
y 'Animal es herbívoro'
y "Estado es un virus '
luego 'Animal es de roedores.donde 'animal es mamífero »,« animal es herbívoro "y" Estado es un virus "son condiciones que cuando lo único cierto, implica la conclusión,' Animal es roedor", también es cierto.

A veces, la conclusión de una regla se presenta como una condición en otro Estado, en cuyo caso se trata de un (derivada) de hechos intermedia: es decir, que se produce en los lados tanto de la mano derecha e izquierda delas reglas.

A veces, la conclusión de una regla se produce en ningún otro lugar, en cuyo caso se trata de un terminador de: es decir, que sólo se produce en el lado derecho de las reglas.

A veces, una condición en la regla se produce en ningún otro lugar, en cuyo caso se trata de un elemento preguntable: es decir, que sólo se produce en el lado de la mano izquierda de reglas.

El Motor deinferencia encadenamiento hacia atrás

El encadenamiento hacia atrás (también llamado top-down) motor de inferencia trata de probar un objetivo mediante el establecimiento de la verdad de sus condiciones, es decir, teniendo en cuenta la regla "si A y B entonces C ', el motor de encadenamiento hacia atrás a tratar de demostrar C por probar primero y A continuación, demostrando B. Demostrar estascondiciones (o sub-metas) para ser verdad, bien puede valerse también de las llamadas al motor, y así sucesivamente. Para obtener los mejores resultados con el encadenamiento hacia atrás, hay que sembrarla con el objetivo de "alto nivel" de probar. El cálculo será entonces o bien resolver con éxito (es decir, todos los sub-objetivos pueden ser probadas) o fracaso (es decir, al menos uno de lossub-objetivos no es cierto).

El motor de encadenamiento hacia atrás tiene un objetivo de primer nivel para probar. Sin que se está suministrado por el usuario, se generan todos los objetivos de alto nivel demostrable mediante un programa de utilidad chain_terminal_conclusion / 1.

chain_top_down: -
chain_terminal_conclusion (R),
chain_demo (R),
chain_post_result (concluyentes (R)).Si no podemos encontrar un objetivo de nivel superior que se puede probar, luego marcar un resultado concluyente:

chain_top_down: -
chain_post_result (inconclusa).
chain_demo / 1 es el bucle principal del motor de inferencia de encadenamiento hacia atrás. Teniendo en cuenta la regla "si A y B entonces C ', entonces para probar C, hay que demostrar primero A y B:

chain_demo ((A y B)): -!,
chain_demo (A),
chain_demo (B).
Teniendo en cuenta la conclusión de probar, encontrar una regla con esto como su conclusión y luego tratar de demostrar que las condiciones de esa regla son verdaderas:

chain_demo (Conclusión): -
(Si las condiciones a continuación Conclusión)
chain_demo (Condiciones).
Si no existe una regla para esa conclusión, entonces debe ser un...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS