2009-11-06 15 views
16

¿Cuál es la diferencia entre un motor de reglas y un sistema experto?Reglas Motor vs Sistema experto

Ejemplo1: Digamos que tengo un programa que determina la fecha de vencimiento de una nueva licencia de conducir. Toma entradas como la fecha de vencimiento de la visa, el número de pasaporte, fecha de nacimiento, etc. Determina la fecha de vencimiento de la licencia de conducir de esta entrada. Incluso puede dar un error si la entrada no tiene suficientes identificaciones válidas para permitir una nueva licencia de conducir.

Ejemplo 2: Digamos que estoy haciendo una versión en línea del juego Monopoly. Quiero la capacidad de cambiar las reglas del juego (digamos $ 400 para aprobar o nadie puede comprar propiedades hasta que aterricen en la misma propiedad dos veces, etc.). Tengo un módulo en el código para manejar estas reglas.

¿Son estos dos motores de reglas o son sistemas expertos? Ambos parecen tan similares. ¿Es solo un sinónimo?

Respuesta

13

El "motor de inferencia" (lo que creo que está llamando el "motor de reglas") es parte de un sistema experto. La otra parte es la "base de conocimientos" (su lista de reglas, las cosas que sabe que son ciertas, las cosas que hasta ahora ha descubierto, etc.)

El motor de inferencia es la parte que realmente usa sus reglas y los hechos conocidos para inferir cosas.

En sus dos ejemplos anteriores, usted está hablando de sistemas expertos. Más o menos

Te daré un tercer ejemplo. GNU make es un motor de inferencia . Si se le da un conjunto de reglas de compilación y archivos fechados, puede descubrir qué se debe reconstruir, pero se debe contar todo eso. Su sistema de compilación que incluye los archivos makefiles, los scripts asociados y make it es un sistema experto.

Encontré una explicación detallada en línea here, pero es quizás un poco demasiado detallada para un neófito.

+0

gracias, me he estado preguntando mucho tiempo acerca de esta diferencia –

1

Creo que la diferencia es semántica y un poco más.

Un "sistema experto" implica que el sistema incluye una codificación para seleccionar los cerebros del experto, es decir, para transformar el conocimiento del dominio de un experto en el conjunto de reglas internas del programa.

Quítenlo, y yo diría que lo que queda es un "motor de reglas". Aunque también es posible construir un sistema experto que no se base en un motor de reglas.

2

Un "sistema experto" normalmente significa una aplicación particular que incorpora un conjunto de conocimientos expertos sobre un dominio de problema determinado. Un sistema experto puede o no usar un motor de reglas como parte de su implementación.

0

Esto es probablemente viejo. Pero la terminología gobierna el motor, es a veces un nombre que se le da a razonadores semánticos o motores de razonamiento. Se pueden ver como una extensión o una generalización de los motores de inferencia .

Y como answered by T.E.D, el motor de inferencia es sólo una parte de un sistema experto , el otro es la base del conocimiento . La base de conocimiento son los axiomas o verdades de todo el sistema, y ​​el motor de inferencia es lo que tomará estos axiomas para derivar nuevas "verdades".

+0

por favor enlace a la charla T.E.D a la que se refiere. –

+1

@MartinThoma - (Blush). Bueno, ya ves ... él está hablando de la respuesta aceptada. Todavía no me han invitado a ** dar ** una charla de TED, pero sería divertido. –

+0

Hhahahah, no vi tu respuesta –

Cuestiones relacionadas