Il motore Inferenziale
Il motore inferenziale e'un programma costituito da un interprete che decide quale regola applicare per poter aumentere la base di conoscenza e da uno schedulatore che organizza le regole da sviluppare e il loro ordine di esecuzione Il compito del motore è estrarre le regole utili alla soluzione del problema secondo un meccanismo di riconoscimento e attivazione delle stesse, eseguendo un esame delle regole nella base di conoscenza, selezionare la regola più appropriata, eseguire al regola e registrare nella memoria di lavoro l'azione, ripetendo finchè non trova la possibile soluzione Esso è organizzato in due parti : una memoria di lavoro (o lavagna) dove viene memorizzato il piano generale di soluzione ed un'agenda delle cose ancora da fare, oltre ad una descrizione della soluzione o delle soluzioni per ora ipotizzate. Nel motore inferenziale vi è inoltre il rafforzatore di consistenza; questo è un modulo che una volta che sia stata generata un'ipotesi di soluzione cerca, sfruttando specifiche sorgenti di conoscenza, evidenze che permettono di rafforzare o scartare l'ipotesi fatta. Quindi, se l'inferenza è una singola deduzione che il sistema è in grado di trarre dalle premesse (ad esempio un singolo calcolo), il motore inferenziale è lo strumento con cui il sistema determina, in maniera ordinata, il complesso delle inferenze.
A tal proposito va ricordato che esistono due tipi di inferenza:
  • Inferenza Deduttiva
  • Inferenza Induttiva
  • La parola deduzione significa procedimento logico per ricavare una verità particolare a partire da una verità generale. In altre parole, data una regola generale, una deduzione consiste nell'applicare la regola a un caso particolare per ottenere un risultato. Il contrario di deduzione è induzione in cui si ricava una regola generale a partire da un insieme di esempi particolari.
    Un algoritmo di inferenza deduttiva applica le regole, contenute nella base di conoscenza, a un caso particolare, contenuto nei fatti noti, e ne trae alcune conclusioni.
    L'inferenza deduttiva viene chiamata dagli addetti ai lavori "forward chaining" cioè concatenamento in avanti, perchè partendo da fatti noti si applicano le regole in avanti allo scopo di dedurre altri fatti.
    In contrapposizione al forward chaining vi è il bachward chaining, cioè il concatenamento all'indietro. Questo algoritmo parte da un possibile risultato e va a verificare l'esistenza di una regola capace di fornire un risultato simile; man mano che si applicano le regole, se ne rendono applicabile altre con un procedimento ciclico, fino a quando non si trova una regola i cui antecedenti siano fatti noti, quindi verificati per definizione.