vuoi
o PayPal
tutte le volte che vuoi
Le differenze tra un sistema esperto e un qualsiasi altro programma convenzionale sta nel fatto che i
sistemi esperti simulano il ragionamento umano, piuttosto che un calcolo su variabili che da luogo a un
risultato e a una spiegazione associata al valore dello stesso. Il sistema esperto opera su dati forniti
dall’operatore usando la base della conoscenza per il calcolo della soluzione e ciò permette di usare metodi
euristici per il reperimento delle regole dalla base della conoscenza da applicare (che però non sempre
sono garanzia di successo).
I sistemi esperti possono essere basati su regole o su alberi.
I sistemi basati su regole (dette regole di produzioni) sono programmi in cui la base delle conoscenze è
popolata da costrutti del tipo “IF (condizione) THEN (azione)” grazie alle quali, data una base di fatti, il
motore inferenziale riesce a dedurre nuovi fatti.
I sistemi basati su alberi creano un albero su cui classificano i vari dati del problema. Il motore inferenziale
tramite algoritmi euristici deduce nuovi dati da aggiungere all’albero. La soluzione viene trovata quando il
processo di navigazione dell’albero temina.
Un sistema esperto è formato da 4 moduli principali:
-‐ Base di conoscenza (Knowledge Base)
Il sistema esperto si basa sul concetto di conoscenza, concetto che viene definito e categorizzato in
base ai tipi di conoscenza ed esperienza che un esperto di settore può avere. La conoscenza
specializzata di un dato settore, viene opportunamente codificata e memorizzata in una “base di
conoscenza”, che può essere vista come un database contenente tutte le conoscenze possedute. La
base di conoscenza è aggiornabile e ciò permette di mantenere il sistema aggiornato e più
completo. La base di conoscenza viene utilizzata dal sistema esperto basato su regole per risolvere i
problemi in forma IF (condizione) THEN (azione).
-‐ Base dei fatti (Fact Base)
La base dei fatti contiene delle informazioni temporanee che rappresentano i dati del problema da
risolvere in quel momento. I fatti rappresentano la situazione attuale e una volta risolto il problema
possono essere cancellati.
Contiene l’insieme di fatti che descrivono la situazione su cui vengono confrontate la parte IF
(condizione) delle regole di produzione.
-‐ Motore inferenziale
Il motore inferenziale è il “cervello” del sistema esperto, infatti tramite algoritmi che operano sulla
base delle conoscenze e sulla base dei fatti è in grado di popolare ulteriormente la base dei fatti
tramite la creazione di fatti indotti o dedotti scandendo la base della conoscenza. La selezione delle
regole alla base dell’algoritmo di scansione della base della conoscenza prevede anche l’ausilio
degli input dati dall’utente tramite l’interfaccia utente.
In pratica il motore inferenziale esegue appunto l’inferenza collegando le regole della base della
conoscenza con i fatti contenuti nella base dei fatti.
-‐ Interfaccia utente
L’interfaccia utente ha lo scopo di far dialogare il sistema esperto con l’utente.
Tramite tale interfaccia il sistema permette all’utente di porre il problema da risolvere al sistema
esperto e dopo un dialogo in cui il sistema richiede i dati su cui inferenziare, fornisce la soluzione al
problema (risultato del processo inferenziale) e spiega il processo deduttivo che ha portato a tale
soluzione.
Il funzionamento del sistema esperto
Per far risolvere un problema a un sistema esperto, bisogna prima popolare la base dei fatti con le
informazioni relative al problema che necessita di soluzione, e ciò di solito avviene tramite l’interfaccia
utente che come se fosse un esperto (umano) fa domande (a risposta multipla o a inserimento di valori)
all’utente.
Inizia poi il lavoro del motore inferenziale che tramite algoritmi (e in base al tipo di regole su cui è basato)
deduce nuovi fatti da inserire nella base dei fatti, fino al raggiungimento di una soluzione che viene
mostrata all’utente e su richiesta viene anche visualizzato il ragionamento “logico” che ha portato alla data
conclusione.
Ad esempio in un sistema basato su regole di produzioni il funzionamento si basa su 3 fasi: confronto,
risoluzione dei conflitti, esecuzione. Nella fase di confronto vengono individuate le regole le cui
precondizioni sono soddisfatte dalla base dei fatti. Nella fase di risoluzione dei conflitti viene controllato
che l’esecuzione di una regola non “cancelli” delle precondizioni delle regole da eseguire successivamente.
Tramite questo controllo vengono schedulate in modo opportuno le esecuzioni delle regole. L’esecuzione
delle regole prevede che una dopo l’altra, ogni regola venga eseguita seguendo lo schedule generato dalla
risoluzione dei conflitti, terminando quando la lista di regole è finita.
Il sistema continua a ciclare queste 3 fasi fino a quando non ci sono più regole da eseguire e mostra la
soluzione (se trovata) all’utente.
Incertezza
L’incertezza è sempre presente quando &