Un motore di regole è un software che elaborerà la richiesta in base a un database di regole. In un sistema di motore di regole , l'utente seleziona un insieme di regole e quindi invia una " richiesta ", che viene elaborato in base alle regole . I risultati di questa procedura sono poi rilevati dal sistema . Questo modello di elaborazione informazioni sono utili in una varietà di applicazioni . Prolog
Il modo migliore per capire come i motori di regole di lavoro è quello di imparare il linguaggio Prolog computer. Il linguaggio Prolog è costituito da un motore di regole e un insieme di convenzioni su come scrivere le regole . Imparare come funziona Prolog vi insegna come funziona un motore di regole - e di tutte le problematiche che si presentano con motori di regole come il backtracking e il modo di rappresentare i fatti e le regole . Dopo che le regole sono state scritte , Prolog si dà una formulazione che si cerca di trovare nel database di fatti . Se non è un dato di fatto , ma è la conclusione di una regola , gli antecedenti della regola diventano le nuove istruzioni di ricerca . Ricorsione e backtracking procedere fino a quando il regolamento sono soddisfatti o non possono essere soddisfatte , e quindi il sistema Prolog pronuncia la dichiarazione originale vero, falso o indecidibile .
Programma Architettura
< p > Se il comitato di progetto permette, si dovrebbe scrivere il motore di regole in Prolog . In caso contrario, sarà probabilmente assomigliano molto Prolog - tutti i motori di regole fanno. Nella prima parte del progetto , scrivere i fatti . Questa parte è come un database . Avanti scrivere le regole - le regole devono essere raggruppati insieme da conclusione. Se " A e B implica X " e " C e D implica X " e , quindi queste due regole sono circa X e devono essere raggruppati . X è definito o descritto da A e B , così come da C e D. Il motore di regole cercherà prima nella base di dati per vedere se la richiesta corrisponde a una voce nel database. Se così , il sistema risponde "Yes ". In caso contrario, il motore di regole esamina le conclusioni di tutte le regole - se non vi è alcuna corrispondenza , il sistema risponde " No" Se l'istruzione corrisponde a X , due percorsi saranno considerati : A e B , e C e D. Se perseguendo A e B porta da nessuna parte , il sistema di " marcia indietro " e considera C e D. Utilizzo Prolog rende questo facile, perché il motore di regole è integrato nel linguaggio .
Testing System
Quando il motore di regole di funzionamento guarda una dichiarazione , cerca di " mettere a terra fuori " la dichiarazione . In logica , questo significa trovare un collegamento ( tramite le regole ) dalla dichiarazione ai fatti . Se l'istruzione ( o la sua negazione ) è nei fatti , si è fatto. Se no, allora verificare se la dichiarazione è la conclusione di una regola . In caso contrario, la dichiarazione non può essere deciso . Se la dichiarazione non corrisponde alla conclusione di una regola , sostituire l'istruzione gol con gli antecedenti della regola . Questo sta facendo un collegamento andando indietro di una regola. Se questa ricerca non riesce , può essere necessario fare marcia indietro e di prendere in considerazione una regola diversa la cui conclusione abbinato la dichiarazione. Si consiglia di testare il sistema dandogli dichiarazioni progressivamente più complessi . Prima prova di una dichiarazione che corrisponde a un dato di fatto nel database. Quindi utilizzare una dichiarazione che richiede una sola regola . Quindi utilizzare una dichiarazione che richiede backtracking , ecc