Che cos’? un motore di inferenza?

Un motore di inferenza ? un sistema software progettato per trarre conclusioni analizzando i problemi alla luce di un database di conoscenze specialistiche su cui si basa. Raggiunge risultati logici in base alle premesse stabilite dai dati. A volte i motori di inferenza sono anche in grado di andare oltre la rigorosa elaborazione logica e utilizzano calcoli di probabilit? per giungere a conclusioni che il database della conoscenza non supporta rigorosamente, ma implica semplicemente o suggerisce.

La maggior parte dei motori di inferenza progettati nel campo dell’intelligenza artificiale si basano sul concetto di sistema esperto. Viene creato un sistema esperto per risolvere i problemi in un campo specifico e talvolta definito in modo restrittivo, come alcune specialit? mediche. La componente del motore di inferenza di un sistema esperto ? la struttura di controllo che produce un output iniziale basato su qualsiasi dato attualmente presente nella knowledge base e sulle regole di programmazione del sistema esperto, quindi applicarlo in modo significativo al problema specifico. Poich? i risultati del motore di inferenza sono il risultato dei dati, cambiano man mano che i dati vengono aggiornati e possono anche cambiare quando i dati vengono cercati in modi diversi dal motore di inferenza stesso. Se i dati nel sistema sono ponderati verso una o pi? conclusioni rispetto a un’altra, ci? pu? cambiare i risultati generati dal motore di inferenza.

Il software che utilizza un motore di inferenza pu? essere visto come un meccanismo selettivo attivo, in cui le azioni di elaborazione sono dirette dallo stato pi? attuale dei dati. I sistemi esperti hanno due modi generali di elaborare questi dati memorizzati, denominati concatenamento in avanti o concatenamento all’indietro. Nel concatenamento diretto, le regole del sistema esperto analizzano i dati forniti dal motore di inferenza e i risultati vengono reimmessi nella memoria dati del sistema come nuovi dati. Ci? innesca nuove soluzioni ai problemi poich? il sistema perfeziona i dati e li pesa per inferenza induttiva, il che significa che le conclusioni raggiunte non rispecchieranno necessariamente i dati o le premesse originali utilizzati per avviare l’analisi.

Il concatenamento all’indietro ? pi? orientato alla probabilit?, con i dati memorizzati ponderati per il valore dall’inizio. Le regole vengono utilizzate per verificare la validit? delle condizioni dei dati alla luce del problema dato e, in questo modo, vengono assegnati ai dati nuovi valori di probabilit?. Definito anche incatenamento basato sull’ipotesi, il concatenamento all’indietro non trae conclusioni rigorose fino a quando il continuo test dei dati rispetto alle condizioni stabilite dalle regole del sistema di esperti non soddisfi un livello minimo di prova per la domanda o il problema oggetto di studio.

La logica bayesiana ? una delle forme orientate alla probabilit? del software del motore di inferenza che utilizza il concatenamento all’indietro, chiamato per Thomas Bayes, un matematico inglese della met? del XVIII secolo. Tale logica utilizza una base di conoscenza degli eventi precedenti per prevedere i risultati futuri attraverso ripetuti test delle conoscenze e inserisce ulteriori prove degli esiti delle prove in nuove prove, con l’obiettivo di produrre risultati sempre pi? accurati. L’architettura software di logica fuzzy pu? anche fare affidamento sul motore di inferenza come parte del suo sistema. La differenza con la logica fuzzy ? che l’output ? un insieme o una gamma fuzzy di possibili soluzioni che vengono poi aggregate in un gruppo e, attraverso la logica e la probabilit?, ristrette a una conclusione o azione ottimale.