motore inferenziale
motore inferenziale in informatica, programma cui, all’interno di un sistema esperto, è assegnato il compito di trarre delle conseguenze coerenti con le premesse e i dati di un problema. Esso opera a partire da una base di conoscenza, in cui sono contenuti le asserzioni, i fatti, le relazioni e le regole relativi al problema in esame, ed è costituito da:
• un interprete, che decide quale regola applicare per poter aumentare la base di conoscenza;
• uno schedulatore, che estrae e ordina le regole da applicare;
• una memoria di lavoro, in cui sono memorizzati lo stato del lavoro, le soluzioni parziali e un’agenda delle cose da fare;
• un rafforzatore di consistenza che, una volta generata una ipotesi di soluzione, la rafforza, l’indebolisce o la scarta valutandone gli effetti.
Un motore inferenziale lavora secondo due tipi di inferenza: inferenza deduttiva, detta anche forward chaining, cioè concatenazione in avanti, perchè partendo da fatti noti si applicano le regole allo scopo di dedurre altri fatti; inferenza induttiva, detta anche backward chaining, cioè concatenazione all’indietro, perché si scompone l’obiettivo finale in sottoproblemi e, una volta individuata la tesi da dimostrare, si applicano all’indietro le regole, cercando di trovare coerenza con i dati iniziali. Nella pratica sono generalmente utilizzate combinazioni di strategie forward e backward. In linea di principio, mentre la base di conoscenza dipende largamente dal settore di applicazione del sistema esperto (diagnosi medica, analisi finanziaria ecc.), il motore inferenziale dovrebbe esserne indipendente (→ intelligenza artificiale, → sistema esperto).