computer-science - sencillos - sistemas expertos
Reglas motor vs sistema experto (4)
¿Cuál es la diferencia entre un motor de reglas y un sistema experto?
Ejemplo 1: 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, número de pasaporte, cumpleaños, etc. Determina la fecha de caducidad de la licencia de conducir a partir de esta entrada. Incluso puede dar un error si la entrada no tenía 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 posibilidad de cambiar las reglas del juego (por ejemplo, $ 400 para pasar 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?
Creo que la diferencia es semántica y un poco más.
Un "sistema experto" implica que el sistema incluye codificación para seleccionar los cerebros del experto, es decir, para transformar el conocimiento de dominio de un experto en el conjunto de reglas internas del programa.
Quita eso, y diría que lo que queda es un "motor de reglas". Aunque también es posible construir un sistema experto que no esté basado en un motor de reglas.
El "motor de inferencia" (lo que creo que usted llama el "motor de reglas") es parte de un sistema experto. La otra parte es la "base de conocimientos" (su lista de reglas, lo que sabe que es verdad, lo que ha descubierto hasta ahora, etc.)
El motor de inferencia es la parte que realmente usa sus reglas y los hechos conocidos para inferir cosas.
En tus dos ejemplos anteriores, estás hablando de sistemas expertos. Una especie de
Te voy a dar un tercer ejemplo. GNU make es un motor de inferencia . Si se le da un conjunto de reglas de compilación y archivos con fecha, puede descubrir qué se necesita reconstruir, pero se le debe decir todo eso. Su sistema de compilación que incluye los makefiles, los scripts asociados y make en sí mismo es un sistema experto .
Encontré una explicación detallada en línea here , pero quizás sea demasiado detallada para un neófito.
Esto es probablemente viejo. Pero el motor de reglas terminológicas, a veces es un nombre que se da a los razonadores semánticos o motores de razonamiento . Pueden verse como una extensión o una generalización de los motores de inferencia .
Y como respondió TED , el motor de inferencia es solo una parte de un sistema experto , y el otro es la base de conocimiento . La base de conocimiento son los axiomas o verdades de todo el sistema, y el motor de inferencia es lo que llevará a estos axiomas a derivar nuevas "verdades".
Un "sistema experto" generalmente significa una aplicación particular que incorpora un conjunto de conocimientos expertos sobre un dominio de problema dado. Un sistema experto puede o no usar un motor de reglas como parte de su implementación.