Domanda

Qual è la differenza tra un motore di regole e un sistema esperto?

Esempio 1: Diciamo che ho un programma che determina la data di scadenza della licenza di un nuovo driver. Prende ingressi come Visa data di scadenza, numero di passaporto, data di nascita, ecc Si determina la data di scadenza della patente di guida da questo ingresso. Si può anche dare un errore se l'ingresso non ha avuto abbastanza identificazioni validi per consentire la licenza di un nuovo driver.

Esempio 2: Diciamo che sto facendo una versione online del gioco del Monopoli. Voglio la possibilità di cambiare le regole del gioco (diciamo $ 400 per il passaggio viaggio o nessuno può acquistare proprietà fino a quando atterrano sulla stessa proprietà per due volte, ecc). Ho un modulo nel codice per gestire queste regole.

Sono questi due motori di regole o sono sistemi esperti? Entrambi sembrano così simili. E 'solo un sinonimo?

È stato utile?

Soluzione

Il "motore di inferenza" (quello che credo che si sta chiamando il "regole del motore") è parte di un sistema esperto. L'altra parte è la "base di conoscenza" (l'elenco delle regole, la roba che sa vero, quella roba che ha finora capito, ecc.)

Il motore di inferenza è la parte che in realtà usa le regole ed i fatti noti di dedurre le cose.

Nei tuoi due esempi sopra, si parla di sistemi esperti. Più o meno.

Ti do un terzo esempio. GNU make è un motore di inferenza . Se dato un insieme di regole di compilazione e dei file datati, si può capire che cosa ha bisogno di essere ricostruita, ma deve essere detto tutta quella roba. Il vostro sistema di generazione che include i makefile, script associati, e fare per sé è un sistema esperto .

Ho trovato una spiegazione dettagliata qui , ma è forse un po ' troppo dettagliato per un neofita.

Altri suggerimenti

Un "sistema esperto" in genere significa una particolare applicazione che racchiude una serie di conoscenze specifiche relative ad un dato dominio problema. Un sistema esperto può o non può utilizzare un motore di regole, come parte della sua attuazione.

Credo che la differenza è semantica e solo un po 'di più.

Un "sistema esperto" implica che il sistema comprende codifica per la raccolta cervelli del perito, ossia per trasformare la conoscenza di dominio di un esperto in set di regole interno del programma.

portarlo via, e direi che ciò che rimane è un "motore di regole". Anche se è anche possibile costruire un sistema esperto che non è basata su un motore di regole.

Questo è probabilmente vecchio. Ma la terminologia Regole motore , a volte è un nome che viene dato a ragionatore automatico o motori di ragionamento . Essi possono essere visti come un'estensione o una generalizzazione di motori inferenza .

E come risposta da TED , la motore di inferenza è solo una parte di un < strong> sistema esperto , l'altro è il base di conoscenza . La base di conoscenze è assiomi o verità di tutto il sistema, e il motore di inferenza è ciò che avrà questi assiomi di derivare nuove "verità".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top