Expert systems (ES) sono uno dei domini di ricerca di primo piano di AI. È introdotto dai ricercatori della Stanford University, Dipartimento di Informatica.
Cosa sono i sistemi esperti?
I sistemi expert sono le applicazioni informatiche sviluppate per risolvere problemi complessi in un particolare dominio, a livello di intelligenza e competenza umana extra-ordinaria.
Caratteristiche di Sistemi Esperti
- ad Alte prestazioni
- Comprensibile
- Affidabile
- Altamente reattivo
le Funzionalità di Sistemi Esperti
I sistemi esperti sono in grado di
- Consulenza
- Istruire e assistere umana nel processo decisionale
- Dimostrando
- la Derivazione di una soluzione
- Diagnosi
- Spiegando
- l’Interpretazione di input
- la Previsione dei risultati
- Giustificare la conclusione
- Suggerendo soluzioni alternative ad un problema
non sono in grado di −
- Sostituendo umana decisori
- in Possesso di capacità umane
- la Produzione di uscita precisa per insufficiente conoscenza di base
- affinando le proprie conoscenze
Componenti di Sistemi Esperti
I componenti di ES comprendono: −
- Conoscenza di Base
- Motore di Inferenza
- Interfaccia Utente
vediamo uno per uno brevemente −
Conoscenza di Base
contiene dominio-specifici e di alta qualità di conoscenza.
La conoscenza è necessaria per esibire intelligenza. Il successo di qualsiasi ES dipende principalmente dalla raccolta di conoscenze altamente accurate e precise.
Che cos’è la conoscenza?
I dati sono la raccolta di fatti. Le informazioni sono organizzate come dati e fatti sul dominio dell’attività. I dati, le informazioni e l’esperienza passata combinati insieme sono definiti come conoscenza.
Componenti della Knowledge Base
La knowledge base di un ES è un archivio di conoscenze sia fattuali che euristiche.
-
Conoscenza fattuale-È l’informazione ampiamente accettata dagli ingegneri della conoscenza e dagli studiosi nel dominio delle attività.
-
Conoscenza euristica-Si tratta di pratica, giudizio accurato, la propria capacità di valutazione, e indovinare.
Rappresentazione della conoscenza
È il metodo utilizzato per organizzare e formalizzare la conoscenza nella knowledge base. È sotto forma di regole IF-THEN-ELSE.
Acquisizione della conoscenza
Il successo di qualsiasi sistema esperto dipende principalmente dalla qualità, dalla completezza e dall’accuratezza delle informazioni memorizzate nella knowledge base.
La knowledge base è formata da letture di vari esperti, studiosi e ingegneri della conoscenza. L’ingegnere della conoscenza è una persona con le qualità di empatia, apprendimento rapido e capacità di analisi dei casi.
Acquisisce informazioni dall’esperto del soggetto registrandolo,intervistandolo e osservandolo al lavoro, ecc. Quindi categorizza e organizza le informazioni in modo significativo, sotto forma di regole IF-THEN-ELSE, per essere utilizzate da interference machine. L’ingegnere della conoscenza monitora anche lo sviluppo dell’ES.
Inference Engine
L’uso di procedure e regole efficienti da parte del Motore di Inferenza è essenziale per dedurre una soluzione corretta e impeccabile.
In caso di ES basati sulla conoscenza, il Motore di Inferenza acquisisce e manipola la conoscenza dalla knowledge base per arrivare a una particolare soluzione.
In caso di ES basate su regole, it −
-
Applica ripetutamente le regole ai fatti, che sono ottenuti dall’applicazione precedente delle regole.
-
Aggiunge nuove conoscenze nella knowledge base, se necessario.
-
Risolve il conflitto di regole quando più regole sono applicabili a un caso particolare.
Per raccomandare una soluzione, il Motore di Inferenza utilizza le seguenti strategie:
- Forward Chaining
- Backward Chaining
Forward Chaining
È una strategia di un sistema esperto per rispondere alla domanda: “Cosa può accadere dopo?”
Qui, il Motore di Inferenza segue la catena di condizioni e derivazioni e infine deduce il risultato. Considera tutti i fatti e le regole e li ordina prima di concludere una soluzione.
Questa strategia viene seguita per lavorare su conclusione, risultato o effetto. Ad esempio, la previsione dello stato del mercato azionario come effetto delle variazioni dei tassi di interesse.
Backward Chaining
Con questa strategia, un sistema esperto trova la risposta alla domanda: “Perché è successo?”
Sulla base di ciò che è già accaduto, il Motore di Inferenza cerca di scoprire quali condizioni potrebbero essere accadute in passato per questo risultato. Questa strategia è seguita per scoprire causa o ragione. Ad esempio, la diagnosi di cancro del sangue negli esseri umani.
Interfaccia utente
L’interfaccia utente fornisce l’interazione tra l’utente dell’ES e l’ES stesso. È generalmente l’elaborazione del linguaggio naturale in modo da essere utilizzato dall’utente che è esperto nel dominio dell’attività. L’utente del ES non deve essere necessariamente un esperto in Intelligenza artificiale.
Spiega come l’ES è arrivato a una particolare raccomandazione. La spiegazione può apparire nelle seguenti forme-
- Linguaggio naturale visualizzato sullo schermo.
- Narrazioni verbali in linguaggio naturale.
- Elenco dei numeri di regola visualizzati sullo schermo.
L’interfaccia utente rende facile tracciare la credibilità delle deduzioni.
Requisiti di interfaccia utente ES efficiente
-
Dovrebbe aiutare gli utenti a raggiungere i loro obiettivi nel modo più breve possibile.
-
Dovrebbe essere progettato per funzionare per le pratiche di lavoro esistenti o desiderate dell’utente.
-
La sua tecnologia dovrebbe essere adattabile alle esigenze dell’utente; non il contrario.
-
Dovrebbe fare un uso efficiente dell’input dell’utente.
Expert Systems Limitations
Nessuna tecnologia può offrire una soluzione semplice e completa. I sistemi di grandi dimensioni sono costosi, richiedono tempi di sviluppo significativi e risorse informatiche. Le ESS hanno i loro limiti che includono −
- Limitazioni della tecnologia
- Acquisizione di conoscenze difficili
- Le ES sono difficili da mantenere
- Alti costi di sviluppo
Applicazioni del sistema esperto
La seguente tabella mostra dove le ES possono essere applicate.
Application | Description |
---|---|
Design Domain | Camera lens design, automobile design. |
Medical Domain | Diagnosis Systems to deduce cause of disease from observed data, conduction medical operations on humans. |
Sistemi di monitoraggio | Confronto continuo dei dati con il sistema osservato o con comportamenti prescritti come il monitoraggio delle perdite in un lungo oleodotto. |
Sistemi di controllo di processo | Controllo di un processo fisico basato sul monitoraggio. |
Dominio di conoscenza | Scoprire i guasti nei veicoli, computer. |
Finanza/Commercio | Rilevamento di possibili frodi, transazioni sospette, trading sul mercato azionario, pianificazione delle compagnie aeree, pianificazione delle merci. |
Expert System Technology
Sono disponibili diversi livelli di tecnologie ES. Le tecnologie Expert Systems includono −
-
Expert System Development Environment-L’ambiente di sviluppo ES include hardware e strumenti. Sono –
-
Workstation, minicomputer, mainframe.
-
Linguaggi di programmazione simbolici di alto livello come LISt Programming (LISP) e PROgrammation en LOGique (PROLOG).
-
Database di grandi dimensioni.
-
-
Strumenti: riducono in larga misura lo sforzo e i costi connessi allo sviluppo di un sistema esperto.
-
Potenti editor e strumenti di debug con multi-windows.
-
Forniscono la prototipazione rapida
-
Hanno definizioni integrate di modello, rappresentazione della conoscenza e progettazione dell’inferenza.
-
-
Shell − Una shell non è altro che un sistema esperto senza knowledge base. Una shell fornisce agli sviluppatori l’acquisizione della conoscenza, il motore di inferenza, l’interfaccia utente e la funzione di spiegazione. Ad esempio, di seguito sono riportate alcune shell:
-
Java Expert System Shell (JESS) che fornisce API Java completamente sviluppate per la creazione di un sistema esperto.
-
Vidwan, una shell sviluppata presso il National Centre for Software Technology di Mumbai nel 1993. Consente la codifica della conoscenza sotto forma di regole IF-THEN.
-
Sviluppo di sistemi esperti: Passi generali
Il processo di sviluppo ES è iterativo. I passaggi nello sviluppo di ES includono –
Identifica il dominio del problema
- Il problema deve essere adatto a un sistema esperto per risolverlo.
- Trova gli esperti nel dominio delle attività per il progetto ES.
- Stabilire il rapporto costo-efficacia del sistema.
Progettare il Sistema
-
Identificare la tecnologia ES
-
Conoscere e stabilire il grado di integrazione con gli altri sistemi e database.
-
Realizza come i concetti possono rappresentare al meglio la conoscenza del dominio.
Sviluppare il prototipo
Dalla Knowledge Base: Il knowledge engineer lavora a −
- Acquisire conoscenze di dominio dall’esperto.
- Lo rappresentano sotto forma di regole If-THEN-ELSE.
Testare e perfezionare il prototipo
-
L’ingegnere della conoscenza utilizza casi campione per testare il prototipo per eventuali carenze nelle prestazioni.
-
Gli utenti finali testano i prototipi di ES.
Sviluppare e completare il test ES
-
e garantire l’interazione di ES con tutti gli elementi del suo ambiente, inclusi gli utenti finali, i database e altri sistemi informativi.
-
Documenta bene il progetto ES.
-
Addestrare l’utente a utilizzare ES.
Mantenere il sistema
-
Mantenere la knowledge base up-to-date da revisione regolare e aggiornamento.
-
Soddisfare nuove interfacce con altri sistemi di informazione, come questi sistemi evolvono.
Vantaggi dei sistemi esperti
-
Disponibilità-Sono facilmente disponibili grazie alla produzione di massa di software.
-
Meno costi di produzione-Il costo di produzione è ragionevole. Questo li rende accessibili.
-
Velocità-Offrono grande velocità. Riducono la quantità di lavoro che un individuo mette in.
-
Meno tasso di errore − Il tasso di errore è basso rispetto agli errori umani.
-
Ridurre il rischio-Possono lavorare in un ambiente pericoloso per l’uomo.
-
Risposta costante-Lavorano costantemente senza ottenere motional, teso o affaticato.